Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ANN: Dogelog Player 1.0.1 - Literate Programming

53 views
Skip to first unread message

Mostowski Collapse

unread,
Aug 11, 2022, 1:02:48 PM8/11/22
to
Dear All,

We are happy to announce a new edition of the Dogelog player:

- Browser base_url:
Its now possible to set the Prolog flag base_url when
the Dogelog Player is run from within the browser.
This will affect the predicates open/3 and absolute_file_name/2.

- Non-Monotonic Update:
The clear() JavaScript call could already rollback
monotonic updates for a while. This release brings
rollback of retract/1 and abolish/1.

- Literate Programming:
There is a new webifyer utility which can turn a
Prolog text into a Dogelog notebook page. As an
example tutorial we have webifyied a section from
Learn Prolog Now!

Have Fun!

Jan Burse, 11.08.2022, http://www.xlog.ch/

Mostowski Collapse

unread,
Aug 17, 2022, 8:04:31 PM8/17/22
to

Dogelog Player is a Prolog system written 100% in Prolog.
It is still young, it has not yet a module system nor some
standard libraries. We show loading standard libraries from

different Prolog systems. The demo shows Ciao Prolog,
Scryer Prolog and SWI-Prolog in the same sandbox. We
didn’t need to massage the artefacts much, demonstrating

that we can read Prolog texts from other Prolog systems.

New Prolog DNA: Novacore and Liblets
https://twitter.com/dogelogch/status/1560053037971955712

New Prolog DNA: Novacore and Liblets
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Aug 26, 2022, 5:11:05 PM8/26/22
to

Dogelog Player is a Prolog system 100% written in Prolog
itself that currently targets the JavaScript and the Python
platform. To run fCube, an intuitionistic propositional logic
model finder and prover, we explored some options concerning
libraries for the Dogelog player.

We could run a Prolog text from the logic community inside
Dogelog Player. The problems we experienced like non-standarized
libraries and old Prolog dialect are possible rather the rule than
the exception. Novacore and Liblets helped investigating and
solving the problem.

Porting fCube to Dogelog Player
https://twitter.com/dogelogch/status/1563266539423293443

Porting fCube to Dogelog Player
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Aug 28, 2022, 10:00:38 AM8/28/22
to
We made an experiment in provisioning the Dogelog
Player for various code playgrounds. The upcoming release
1.0.2 of Dogelog Player does automatically understand
the script tag, which allows easy shipping of Prolog
text within a HTML page.

Recently browsers started blocking mixed content.
So to run in a code playground we need some HTTPS
hosting. For our new Novacore and Liblets we also
enabled CORS on the server. To stress test JS Fiddle
and the Dogelog Player we used a not so tiny example
in the form of fCube.

Provisioning Dogelog Player for Code Playgrounds
https://twitter.com/dogelogch/status/1563657750672019459

Provisioning Dogelog Player for Code Playgrounds
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Sep 4, 2022, 1:23:10 PM9/4/22
to
The Dogelog Player is a Prolog system 100% written
in Prolog. Nevertheless here and then it needs support
of natively implemented predicates. We made some
first strides into a novacore that is extensible by native liblets.

For the JavaScript platform there exists already a
small native API in the form of a JavaScript object.
The results imply that native libraries via the barrel
architecture seem to be a viable option.

We will gradually define the native API of the Dogelog Player.

Dogelog Player: Preview Novacore with Native Liblets
https://twitter.com/dogelogch/status/1566473160790315008

Dogelog Player: Preview Novacore with Native Liblets
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Sep 10, 2022, 9:36:44 PM9/10/22
to
We recently posted about some progress to access
native libraries from within the Dogelog Player. The
native API has been improved in that there is a first
inventory and that the access has been optimized.

In the case of JavaScript the native API already totals
29 members. Since no more native API object is created
there is now a new programming idiom. For benchmarking
we used again the numbervars/3 example. The results

are quite encouraging.

Preview Novacore first Native API Inventory
https://twitter.com/dogelogch/status/1568773865391751173

Preview Novacore first Native API Inventory
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Sep 12, 2022, 12:04:24 PM9/12/22
to
Princeton WordNet is a relational database of English
lexical and semantical word relationships. As a relational
database it is also readily available as Prolog predicates.
We made an experiment in porting WordNet to a
Dogelog Player notebook.

The Dogelog Player has a Prolog to JavaScript and Python
transpiler from the beginning of its inception. The experiment
here is new since we combined it with the new native libraries
of the Dogelog Player. The results are encouraging, except that
some more work needs to be spent on the

hosting provider and on the Prolog indexing.

Porting WordNet to the Dogelog Player
https://twitter.com/dogelogch/status/1569353149835628544

Porting WordNet to the Dogelog Player
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Sep 13, 2022, 4:19:38 AM9/13/22
to

Edited the qiita article, show Python as well. Do
not promote some way of distribution, so cannot
enter an argument, only benchmarked the

loading time. Possibly comparable with SWI-Prolog
quick load files, except Dogelog Player delegates
to the host language.

Mostowski Collapse

unread,
Sep 19, 2022, 9:47:32 AM9/19/22
to
The Dogelog player did already have support for the
discontiguous/1 directive for a while, but the multifile/1
directive was just a mockup doing nothing.
This has changed now.

Whats new is that facts, rules or a dynamic declarations
now leave their mark, similarly the multifile/1 directives
do as well now. There is one caveat, the scattering doesn’t
work for the Prolog system itself. Our solution is to assert
the meta data during the epilogue of the transpiled code.

Dogelog Player multifile/1 Directive Support
https://twitter.com/dogelogch/status/1571853780475428864

Dogelog Player multifile/1 Directive Support
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Sep 30, 2022, 9:22:54 PM9/30/22
to

The Dogelog player is a Prolog system written 100%
in Prolog itself. From the start we also developed a test
case runner and a test result viewer. A recent addition
is a multi-build report module.

We adopted most of the design from formerly Jekejeke
Prolog but took also the chance to enhance the viewing
and reporting. Its now possible to show multiple columns
even including a discrepancy column.

Preview: Test Reports for Multi-Builds
https://www.facebook.com/groups/dogelog

Preview: Test Reports for Multi-Builds
https://twitter.com/dogelogch/status/1576017700157288454
0 new messages