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

ANN: Dogelog Player 1.0.0

53 views
Skip to first unread message

Mostowski Collapse

unread,
Jun 2, 2022, 4:13:14 AM6/2/22
to
Dear All,

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

- Self Hosting:
Dogelog player can now cross compile itself. This was made
possible by further providing ISO core standard predicates
such as open/3 with write and append mode, and some non ISO
core standard predicates such as last_sub_atom/5.

- Variable Sernos:
The Dogelog player now supports lexical comparison of
Prolog logical variables. This was made possible through
a simple heuristic combination of the serial number generator
with the garbage collector, so that serial numbers
can be reused.

- Runtime Compatibility:
We provide more alignment. For example the Dogelog player
got a new working directory Prolog flag base_url and the
same existing Prolog flag in the Dogelog runtime, formerly
Jekejeke Prolog, can now be set relatively.

Have Fun!

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

Mostowski Collapse

unread,
Jun 26, 2022, 4:45:33 PM6/26/22
to
Prolog to the Moon! Dogelog Player is preparing for touch
down. We report some first steps in literate programming with
the Dogelog player. A simple utility allows converting Prolog

texts into live HTML Pages. See also:

Literate Programming with the Dogelog Player
https://twitter.com/dogelogch/status/1541155313478418439

Literate Programming with the Dogelog Player
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Jul 3, 2022, 1:25:23 AM7/3/22
to
This was fun!

The Monkey King was asked by Buddha to jump out of
its hand, and failed to do so. We made a little experiment
in extending the reach of Dogelog players rollback hand.
Given the new clause rollback we added further new
feature in the form of a new predicate rollback.

The Monkey King could not leave since Buddha is one
with the world. We went on to extend the Dogelog player
rollback mechanism so that the end-user does not
experience gaps in the Prolog world. Surprisingly the
predicates solution is a little bit different from the
clauses solution.

Buddha’s Hand: Rollback of Abolished Predicates
https://twitter.com/dogelogch/status/1543463690430734337

Buddha’s Hand: Rollback of Abolished Predicates
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Jul 4, 2022, 6:54:34 AM7/4/22
to
Looks like I can simulate SWI-Prolog snapshot/1 in Dogelog
player since this weekend.

snapshot(G) :-
current_prolog_flag(stage, S),
T is S+1,
set_prolog_flag(stage, T),
G,
sy_clear_stage, /* rollback */
set_prolog_flag(stage, S).

And it works differently, since I added meta information rollback.

?- current_predicate(foo/1).
fail.
?- snapshot(assertz(foo(bar))).
true.
?- current_predicate(foo/1).
fail. /* gives false in SWI-Prolog */

I do not have a conmit statement yet, so I guess I cannot yet
simulate SWI-Prolog transaction/1.

Mostowski Collapse

unread,
Jul 4, 2022, 7:27:01 AM7/4/22
to

One more new Browser Prolog in town: prolog.run
https://twitter.com/guregu/status/1543655911876874240

Mostowski Collapse

unread,
Jul 7, 2022, 12:07:36 PM7/7/22
to

One more new Browser Prolog in town: ciao playground
https://twitter.com/CiaoProlog/status/1544397192965791744

Mostowski Collapse

unread,
Jul 8, 2022, 4:04:52 PM7/8/22
to
Woa! Cool Ciao WASM has bignums. Not only that,
in a small test Ciao WASM is refreshingly fast:

/* Ciao WASM */
?- time2(fib(31,X)).
% walltime 895.0 ms
X=1346269 ?

/* Dogelog JavaScript */
?- time(fib(31,X)).
% Wall 6148 ms, gc 159 ms, 2125948 lips
X = 1346269.

Very cool! Thats a weak spot of my system...

P.S.: Ciao WASM being faster than Scryer Prolog:

/* Scryer Prolog */
?- time(fib(31,X)).
% CPU time: 1.012s
X = 1346269.

Mostowski Collapse schrieb am Donnerstag, 7. Juli 2022 um 18:07:36 UTC+2:
> One more new Browser Prolog in town: ciao playground
> https://twitter.com/CiaoProlog/status/1544397192965791744

Mostowski Collapse

unread,
Jul 29, 2022, 3:52:47 AM7/29/22
to
Sofar we have resisted in adding a Next or Abort
button to any of our Dogelog Player HTML pages.
Behind the lack of these buttons is a method of

exploring sequence meta-predicates and what
they could do for user interfaces. Here is a little
new article about the topic:

Enumerating Solutions with Dogelog Payer
https://twitter.com/dogelogch/status/1552802997247303680

Enumerating Solutions with Dogelog Payer
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Aug 3, 2022, 6:44:52 PM8/3/22
to
Tarski’s World is a computer-based introduction to
first-order logic permitting the student to construct
and query block worlds. We made a similar experiment

with Dogelog Player where the query language is Prolog.
We could combine the chess board output with a text
field input. Situations are then modelled as king/1 and #

knight/1 facts in the text field input and represented in
the chess board output. The text field input does also
provide space for queries, replicating some of Tarski’s World features.

Dogelog Player meets Tarski's World
https://twitter.com/dogelogch/status/1554398619972796418

Dogelog Player meets Tarski's World
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Aug 7, 2022, 4:36:57 AM8/7/22
to
Getting rid of some annoying SWISH nonsense:

Dogelog player is a Prolog system 100% written in Prolog
targeting JavaScript and Python. We recently provided a
webifyer that can convert a Prolog text into a HTML page.
To exercise this utility we turned half of a Learn Prolog Now!
section into a Dogelog Notebook.

The new utility allowed us to rapidly create subsections
for some Learn Prolog Now! text. The result are better
than the automatic on the fly conversion towards SWISH
in terms of screen real estate. We could also additionally
demonstrate some non-monotonic tampering by the end-user.

Learn Prolog Now! as a Dogelog Notebook
https://twitter.com/dogelogch/status/1556193360678895616

Learn Prolog Now! as a Dogelog Notebook
https://www.facebook.com/groups/dogelog
0 new messages