Dear All,
We are happy to announce a new edition
of the Dogelog player:
- Multifile Directive:
Until now, the multifile directive was just a
mockup with no function. This has now changed,
the directive now works both in the runtime and
in the transpiler.
- Native Libraries:
Libraries can be addressed using the new library(_)
and foreign(_) file specifications. The latter works
for both the JavaScript platform (loading _sync.js
or .mjs) and the Python platform (loading .py).
- Asynchronous Literate Programming:
Native libraries are loaded in the browser
using its asynchronous import(). Accordingly,
we have expanded the literate programming and
asynchronous Dogelog notebooks can also
be generated.
Have Fun!
Jan Burse, 02.10.2022, http://www.xlog.ch/
The Prolog library(charsio) helps in executing test cases
that probe input or output expectations. The predicates
offered by this library allow for temporary redirection of
the current input or output.
The new stream API exposes Writer and Reader objects.
As a business case we provide memory files as a
native library, and on top of that a realization of our prolog
predicates from the Prolog library(charsio).
Preview: Stream API and library(charsio) https://twitter.com/dogelogch/status/1576254169639317504
Preview: Stream API and library(charsio) https://www.facebook.com/groups/dogelog
Mostowski Collapse schrieb am Sonntag, 2. Oktober 2022 um 12:13:43 UTC+2:
Dear All,
We are happy to announce a new edition
of the Dogelog player:
- Multifile Directive:
Until now, the multifile directive was just a
mockup with no function. This has now changed,
the directive now works both in the runtime and
in the transpiler.
- Native Libraries:
Libraries can be addressed using the new library(_)
and foreign(_) file specifications. The latter works
for both the JavaScript platform (loading _sync.js
or .mjs) and the Python platform (loading .py).
- Asynchronous Literate Programming:
Native libraries are loaded in the browser
using its asynchronous import(). Accordingly,
we have expanded the literate programming and
asynchronous Dogelog notebooks can also
be generated.
Have Fun!
Jan Burse, 02.10.2022, http://www.xlog.ch/
we opted for fuzzy testing, where the test data is
Dogelog Player is a 100% pure Prolog system for the
JavaScript and the Python platform. It relies on the
arithmetic of the host programming language and
we were currious how subsequently certain Prolog
evaluable functions compare to other Prolog systems.
Instead of breaking our head over designing test data,
we opted for fuzzy testing, where the test data is
produced by some random number generator. We
have now a better grip what the different target platforms
JavaScript and Python can do for the Dogelog Player.
Prolog float/1, (/)/2 and (**)/2 Fuzzing Results https://twitter.com/dogelogch/status/1581413401510957056
Prolog float/1, (/)/2 and (**)/2 Fuzzing Results https://www.facebook.com/groups/dogelog
Mostowski Collapse schrieb am Montag, 3. Oktober 2022 um 10:08:27 UTC+2:
The Prolog library(charsio) helps in executing test cases
that probe input or output expectations. The predicates
offered by this library allow for temporary redirection of
the current input or output.
The new stream API exposes Writer and Reader objects.
As a business case we provide memory files as a
native library, and on top of that a realization of our prolog
predicates from the Prolog library(charsio).
Preview: Stream API and library(charsio) https://twitter.com/dogelogch/status/1576254169639317504
Preview: Stream API and library(charsio) https://www.facebook.com/groups/dogelog
Mostowski Collapse schrieb am Sonntag, 2. Oktober 2022 um 12:13:43 UTC+2:
Dear All,
We are happy to announce a new edition
of the Dogelog player:
- Multifile Directive:
Until now, the multifile directive was just a
mockup with no function. This has now changed,
the directive now works both in the runtime and
in the transpiler.
- Native Libraries:
Libraries can be addressed using the new library(_)
and foreign(_) file specifications. The latter works
for both the JavaScript platform (loading _sync.js
or .mjs) and the Python platform (loading .py).
- Asynchronous Literate Programming:
Native libraries are loaded in the browser
using its asynchronous import(). Accordingly,
we have expanded the literate programming and
asynchronous Dogelog notebooks can also
be generated.
Have Fun!
Jan Burse, 02.10.2022, http://www.xlog.ch/
We recently completed a testing campaign for the
Prolog float/1, (/)/2 and (**)/2 evaluable functions.
Our results are already outdated, so we provide a little
refresher on what has changed meanwhile.
By a simple change of the testing harness, we could also
use the test cases to measure performance. There is still a
lot of issues with ECLiPSe Prolog and Scryer Prolog. But taking
testing on the Unix platform into account, recent SWI-Prolog
is now among the most accurate and fastest.
Son of Fuzzer: More float/1, etc.. Results https://twitter.com/dogelogch/status/1583380078938845184
Son of Fuzzer: More float/1, etc.. Results https://www.facebook.com/groups/dogelog
The Go programming language offers a type
math.big.Float out of the box. There is no such data
type for the JavaScript platform that is visibly bundled
with the runtime. We therefore went on an adventure
to implement binary arbitrary floats in 100% pure Prolog.
The porting to Dogelog Player wasn’t easy, since
JavaScript lacks good support for lsb/1, msb/1,
testbit/2 and divmod/2. The results are quite
encouraging. Not only got formerly Jekejeke Prolog
the silver medal. Also Dogelog Player doesn’t fare so bad,
it even beats Scryer Prolog.
Compute π to 8192 Bits in Prolog https://twitter.com/dogelogch/status/1594097327920201728
Compute π to 8192 Bits in Prolog
https://www.facebook.com/groups/dogelog
Dogelog Player is a Prolog interpreter 100% written in pure
Prolog, that targets the JavaScript and Python platform. We
made a bare bone experiment in accessing some open
government data from a cantonal administration.
The Dogelog Player doesn't require any component of its
own in the backend. We were lucky to find a 3rd party that
offers data with CORS headers. We coded a single download
routine for two datasets and did some frontend processing.
Accessing Open Data Portals with the Dogelog Player https://twitter.com/dogelogch/status/1600149832236412929
Accessing Open Data Portals with the Dogelog Player https://www.facebook.com/groups/dogelog
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 469 |
Nodes: | 16 (2 / 14) |
Uptime: | 42:30:10 |
Calls: | 9,449 |
Calls today: | 6 |
Files: | 13,596 |
Messages: | 6,111,779 |
Posted today: | 1 |