Dear All,
We are happy to announce a new edition
of the Dogelog Player:
- Dot Notation:
We borrowed from formerly Jekejeke Prolog
optionable custom binary forms. An operator
declaration such as op(100, yfx, '.') does
now parse and unparse the dot notation A.B
as '$DOT'(A,B). Avoiding a functor clash
with the consing notation [A|B]. The
implementation is 100% Prolog, and thus
uniformly available for the JavaScript,
Python and Java target.
- Arrow Notation:
We borrowed from formerly Jekejeke Prolog
optionable custom variadic forms. An operator
declaration such as op(700, xfx, '=>') does
now parse and unparse the arrow notation
(P => G) as '$ANON'(H,K,B,...). Compared to
library(lambda), it leads to more efficient
single step reductions inside the new
library(arrow). Again uniformly available
for the JavaScript, Python and Java target.
- DCG phrase/3:
This was a gap that slipped our attention.
It turns out that Dogelog Player didn't have
DCG phrase/3, although it had already
DCG (-->)/2. Luckily the step from (-->)/2
to phrase/3 is relatively small and this
release features this predicate. Turns out it
can be used for Strudel style music coding.
Have Fun!
Jan Burse, https://www.herbrand.ai/ , 24.11.2025
SWI-Prolog and Trealla Prolog.
Bye
On Fri, 28 Nov 2025 14:20:59 +0100, Mild Shock wrote:
SWI-Prolog and Trealla Prolog.
Bye
True.
*PLONK*
Hi,
Icelandish Idiot payed Putins Troll,
you got a micro penis. You are probably
the author of ths nonsense:
https://github.com/deepclause/deepclause-desktop
Go fuck yourself.
Bye
Gilmeh Serda schrieb:
On Fri, 28 Nov 2025 14:20:59 +0100, Mild Shock wrote:
SWI-Prolog and Trealla Prolog.
Bye
True.
*PLONK*
Hi,
Many existing and evolving constraint logic
programming projects resemble some ancient
invention of gunpowder. For example SWI-Prologs
9.3.35 corouting for delayed goals is mainly
based on unify hooks. We show how verify hooks,
already used in formerly Jekejeke Prolog, can
be braught to Dogelog Player in a 100% Prolog fashion.
Since the recent version of Dogelog Player
supports cyclic terms, we could let the Jini
out of the bottle, and provide the experimental
library(edge/railgun) to model delayed goals with
nothing else than Alain Colmerauers rational trees.
The result is a Lean CLP of ca. 100 lines of code,
that already provides a simple constraint (#\=)/2
and a global constraint all_different/1.
The results are encouraging. For problems that
are not over constrained, Dogelog Player leaves
existing Prolog systems clearly behind, showing
a 2-3x times speed-up against SWI-Prolog and a
20-30x times speed-up against Trealla Prolog.
For more constrained problems we suggest ommiting
forward checking in favor of a form of ahead of
time (AOT) variable ordering. With this approach
and for Sudoku problems we are then in the midfield
between SWI-Prolog and Trealla Prolog.
Bye
See also:
Lean CLP for Dogelog Player https://qiita.com/j4n_bur53/items/addf1fc86856dd682dcb
Mild Shock schrieb:
Dear All,
We are happy to announce a new edition
of the Dogelog Player:
- Dot Notation:
We borrowed from formerly Jekejeke Prolog
optionable custom binary forms. An operator
declaration such as op(100, yfx, '.') does
now parse and unparse the dot notation A.B
as '$DOT'(A,B). Avoiding a functor clash
with the consing notation [A|B]. The
implementation is 100% Prolog, and thus
uniformly available for the JavaScript,
Python and Java target.
- Arrow Notation:
We borrowed from formerly Jekejeke Prolog
optionable custom variadic forms. An operator
declaration such as op(700, xfx, '=>') does
now parse and unparse the arrow notation
(P => G) as '$ANON'(H,K,B,...). Compared to
library(lambda), it leads to more efficient
single step reductions inside the new
library(arrow). Again uniformly available
for the JavaScript, Python and Java target.
- DCG phrase/3:
This was a gap that slipped our attention.
It turns out that Dogelog Player didn't have
DCG phrase/3, although it had already
DCG (-->)/2. Luckily the step from (-->)/2
to phrase/3 is relatively small and this
release features this predicate. Turns out it
can be used for Strudel style music coding.
Have Fun!
Jan Burse, https://www.herbrand.ai/ , 24.11.2025
| Sysop: | Tetrazocine |
|---|---|
| Location: | Melbourne, VIC, Australia |
| Users: | 14 |
| Nodes: | 8 (0 / 8) |
| Uptime: | 98:01:12 |
| Calls: | 184 |
| Files: | 21,502 |
| Messages: | 81,301 |