• ANN: Dogelog Player 2.1.3 (Dot Notation)

    From Mild Shock@3:633/10 to All on Mon Nov 24 11:57:20 2025
    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

    --- PyGate Linux v1.5.1
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Mild Shock@3:633/10 to All on Fri Nov 28 14:20:59 2025
    Subject: Lean CLP for Dogelog Player (Re: ANN: Dogelog Player 2.1.3 (Dot Notation))


    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


    --- PyGate Linux v1.5.1
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Gilmeh Serda@3:633/10 to All on Sun Nov 30 20:25:13 2025
    Subject: Re: Lean CLP for Dogelog Player (Re: ANN: Dogelog Player 2.1.3 (Dot Notation))

    On Fri, 28 Nov 2025 14:20:59 +0100, Mild Shock wrote:

    SWI-Prolog and Trealla Prolog.

    Bye

    True.

    *PLONK*

    --
    Gilmeh

    I distinctly remember forgetting that. -Clara Barton

    --- PyGate Linux v1.5.1
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Mild Shock@3:633/10 to All on Mon Dec 1 11:30:44 2025
    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*



    --- PyGate Linux v1.5.1
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Mild Shock@3:633/10 to All on Mon Dec 1 11:37:46 2025
    Subject: Make the Sudoku solver faster [GigaLIPS via NPU] (Re: Lean CLP for Dogelog Player)

    Hi,

    Instead of plumbing an OpenCL to image recognize(*)
    a Sudoku game. Make the Sudoku solver faster,
    by tapping into Local AI. Can SWI-Prolog do that?

    I doubt so. You could tap into GigaLIPS I speculate.

    Bye

    (*) The only use of local AI by deepclause. Thats
    quite sad to see, that the Prolog community has
    become sleepy joe concerning infererencing and Local AI.

    Mild Shock schrieb:
    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*



    Mild Shock schrieb:

    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



    --- PyGate Linux v1.5.1
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)