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

ANN: Dogelog Player 0.9.8

42 views
Skip to first unread message

Mostowski Collapse

unread,
Mar 21, 2022, 10:24:34 AM3/21/22
to
Dear All,

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

- JavaScript/Phyton Async/Await:
The Dogelog Player supports a new interpreter
that can relinquish control. The interface to the
interpreter contains new routines such as consult_async()
and toplevel_async(). Available for both JavaScript
and Python.

- Functions Milestone:
We were able to add some built-ins and predicates
to the Dogelog Player. In addition to
unify_with_occurs_check/2, there is now a comprehensive
ISO core standard arithmetic and first approaches for
sorting the Prolog terms. Available for both JavaScript
and Python.

- Formerly Jekejeke Runtime:
The interpreter is now called Dogelog Runtime and
continues to address the Java target platform. The
interpreter inherits some features of Dogelog Player
and can still be used to cross-compile Dogelog Player.
After a year of silence, there is now release 1.5.1
which has been fully tested for JDK 16.

For download: www.xlog.ch

Have Fun!
Jan Burse, 21.03.2022

Mostowski Collapse

unread,
Mar 31, 2022, 5:26:57 AM3/31/22
to

Although we want to provide a living standard Prolog, we
do not want to end-up fighting windmills. What concerns
functional requirements we compromise in favor of the
ISO core standard. A first take of an implementation and

according test suite has been created. round/1 behaves
now as follows, for Java, JavaScript and Python platform
of our Prolog systems:

?- X is round(0.5).
X = 1.0.
?- X is round(-0.5).
X = 0.0.
?- X is round(1.5).
X = 2.0.
?- X is round(-1.5).
X = -1.0.

See also:

Compliance Test Suite for Dogelog Player
https://twitter.com/dogelogch/status/1509451834414575618

Compliance Test Suite for Dogelog Player
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Apr 6, 2022, 11:04:04 AM4/6/22
to
The Dogelog player provides the usual dynamic database
predicates which have now been thoroughly tested by our
test suite. A new drilldown utility facilitates inspecting the

results. The test runner and the drilldown utility are itself
examples of using the dynamic database in Prolog.

Dynamic Database Compliance for CPython and PyPy
https://twitter.com/dogelogch/status/1511712681463533577

Dynamic Database Compliance for CPython and PyPy
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Apr 20, 2022, 4:53:47 PM4/20/22
to
Would it be possible to bring change_arg/3 to Scryer Prolog?
It can be used to realize value holders. Here is an example:

?- X = f(abc).
X = f(abc).
?- X = f(abc), change_arg(1, X, def).
X = f(def)

I blogged recently about it on medium here. It can speed-up your
Prolog system tremendously. I measure in Scryer Prolog:

?- time((between(1,1000,_), call_nth(call_nth((X=a;X=b), N), M), fail; true)).
% CPU time: 1.010s
true.

On the other hand in Dogelog Player I get, and I don't need
any setup_call_cleanup/3 to realize it:

?- time((between(1,1000,_), call_nth(call_nth((X=a;X=b), N), M), fail; true)).
% Wall 61 ms, gc 0 ms, 837475 lips
true.

Here is my blogging:

change_arg/2 for a two Pointer Prolog System
https://twitter.com/dogelogch/status/1514530478371622914

change_arg/2 for a two Pointer Prolog System
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
Apr 27, 2022, 7:25:20 AM4/27/22
to
Can your Prolog system run this example indefinitely?

?- A=(1=1,call(A)), A.

But there is much more than what meets the eye. Dogelog
Player is a 100% Prolog written Prolog interpreter that runs
on the Python and JavaScript platform. It recently became

more mature by also supporting the ISO core standard
predicates (@<)/2, compare/3, etc.. A missing link was
giving an ordering to the Prolog variables.

Dogelog Player fights the Snow Piercer Effect
https://twitter.com/dogelogch/status/1519275290538786820

Dogelog Player fights the Snow Piercer Effect
https://www.facebook.com/groups/dogelog

Mostowski Collapse

unread,
May 5, 2022, 3:36:49 AM5/5/22
to
Did you know that Dogelog Player supports full
DCG, even (\+)/1 inside DCG. You can try yourself:

p --> \+ q, r.

?- listing.

It then gives:

p(A, B) :-
\+ q(A, _),
A = C,
r(C, B).

No singleton warning. And recently a little better
listing with multiline pretty printing.

Mostowski Collapse

unread,
May 26, 2022, 9:26:03 AM5/26/22
to
Dogelog Player provides a Prolog dialect that is closer
to SWI-Prolog than to GNU-Prolog. Until now there was a
dependency to formerly Jekejeke Prolog since we needed

this Prolog systems to evolve and cross compiler the Dogelog
Player. This dependency has been capped, since Dogelog
Player has become able of self hosting.

Dogelog Player is now Self Hosting
https://twitter.com/dogelogch/status/1529813350842089472

Dogelog Player is now Self Hosting
https://www.facebook.com/groups/dogelog

Ace of diamonds

unread,
Jul 6, 2022, 12:17:20 PM7/6/22
to
Hey guy. Would You want to get rich with me doing programming? If yes, call me !!!!!!!!!

✆☎☏📱📞 : 372 53900660
0 new messages