Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #197588

Lean CLP for Dogelog Player (Re: ANN: Dogelog Player 2.1.3 (Dot Notation))

From Mild Shock <janburse@fastmail.fm>
Newsgroups comp.lang.python
Subject Lean CLP for Dogelog Player (Re: ANN: Dogelog Player 2.1.3 (Dot Notation))
Date 2025-11-28 14:20 +0100
Message-ID <10gc7jq$od7n$2@solani.org> (permalink)
References <10g1dmf$hf3g$2@solani.org>

Show all headers | View raw


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

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

ANN: Dogelog Player 2.1.3 (Dot Notation) Mild Shock <janburse@fastmail.fm> - 2025-11-24 11:57 +0100
  Lean CLP for Dogelog Player (Re: ANN: Dogelog Player 2.1.3 (Dot Notation)) Mild Shock <janburse@fastmail.fm> - 2025-11-28 14:20 +0100
    Re: Lean CLP for Dogelog Player (Re: ANN: Dogelog Player 2.1.3 (Dot Notation)) Gilmeh Serda <gilmeh.serda@nothing.here.invalid> - 2025-11-30 20:25 +0000
      Icelandish Idiot payed Putins Troll (Was: Lean CLP for Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2025-12-01 11:30 +0100
    Make the Sudoku solver faster [GigaLIPS via NPU] (Re: Lean CLP for Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2025-12-01 11:37 +0100
    Porting Railgun CLP(FD) to SWI-Prolog (Re: Lean CLP for Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2026-01-11 23:05 +0100
      Supersonic FF for Railgun CLP(FD) (Re: Porting Railgun CLP(FD) to SWI-Prolog) Mild Shock <janburse@fastmail.fm> - 2026-01-21 21:27 +0100

csiph-web