• ANN: Dogelog Player 2.1.1 (Sky Limit)

    From Mild Shock@janburse@fastmail.fm to comp.lang.prolog on Thu Oct 2 15:11:36 2025
    From Newsgroup: comp.lang.prolog

    Dear All,

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

    - Enhanced GC:
    To lift the native stack limitations, we
    opted for a marking algorithm based on
    Peter Deutschs algorithm E as found in
    Donald Knuths "The Art of Computing Programming"
    book. Our variant uses an int field that was
    anyway recently introduced for Prolog
    compound coloring, so that no extra space
    was introduced in this release.

    - Enhanced Binary-Ops:
    By adopting the pointer approach from Jaffar's
    Unification we could get rid of the map based
    realization from previous releases for union
    find. It turns out this gives quite a speed
    advantage. We also lifted the native stack
    limitation by using an extra space in the
    form of a stack and a log, which surprisingly
    performs well especially for Java, less for
    JavaScript and Python.

    - Enhanced Unary-Ops:
    For unary operations such as term_variables/2,
    ground/1, etc.. we experimented with both
    Peter Deutsch and a stack / log approaches.
    Interestingly for performance reasons we had
    to dismiss the two phase approach induced by
    a marking algorithm such as Peter Deutsch,
    and went also with the one phase approach as
    offered by a stack / log realization.

    Have Fun!

    Jan Burse, 02.10.2025, https://www.herbrand.ai/
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to comp.lang.prolog on Sun Oct 12 00:38:03 2025
    From Newsgroup: comp.lang.prolog


    We present a Prolog transducer dubbed NetFish
    that can be used to translate Java code into C#
    code. NetFish can be built with a non-standard
    version of DCG, extending the notion of semi-context
    from terminals to non-terminals. NetFish can be
    easily run over arbitrary long files
    with little memory.

    NetFish uses a sliding window along an input text.
    It then applies the given compiled DSL rules in a
    cascading style. We used various LLMs such as
    ChatGPT and DeepSeek to advice us in the rules,
    but such a process is currently not integrated.
    The output can be run with .NET 9.0.

    See also:

    NetFish Transducer in Dogelog Player
    https://medium.com/2989/9d392937c1e3

    Mild Shock schrieb:
    Dear All,

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

    - Enhanced GC:
    To lift the native stack limitations, we
    opted for a marking algorithm based on
    Peter Deutschs algorithm E as found in
    Donald Knuths "The Art of Computing Programming"
    book. Our variant uses an int field that was
    anyway recently introduced for Prolog
    compound coloring, so that no extra space
    was introduced in this release.

    - Enhanced Binary-Ops:
    By adopting the pointer approach from Jaffar's
    Unification we could get rid of the map based
    realization from previous releases for union
    find. It turns out this gives quite a speed
    advantage. We also lifted the native stack
    limitation by using an extra space in the
    form of a stack and a log, which surprisingly
    performs well especially for Java, less for
    JavaScript and Python.

    - Enhanced Unary-Ops:
    For unary operations such as term_variables/2,
    ground/1, etc.. we experimented with both
    Peter Deutsch and a stack / log approaches.
    Interestingly for performance reasons we had
    to dismiss the two phase approach induced by
    a marking algorithm such as Peter Deutsch,
    and went also with the one phase approach as
    offered by a stack / log realization.

    Have Fun!

    Jan Burse, 02.10.2025, https://www.herbrand.ai/

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to comp.lang.prolog on Fri Oct 17 13:48:29 2025
    From Newsgroup: comp.lang.prolog

    Hi,

    Dogelog Player is a 100% Prolog written Prolog
    system for the JavaScript, Python and Java platform.
    From its inception we let most of the higher order
    logic programming rest in limbo. Only recently we
    added call/n and maplist/n, foldl/n, etc..

    The upcoming release will see the introduction of
    arrow functions via (=>)/2 and filter/3, etc..
    JavaScript programmers might be familiar with the
    concept, only our arrow functions are boolean
    arrow functions driven by the outcome of a goal.

    Diverting from library(yall) of Logtalk provenance,
    the syntax and semantic of our arrow functions matches
    that of JavaScript. To speed up loop processing we have
    already a runtime preprocessing in place. The future
    might bring refinements, such as ahead of time

    compilation into Albufeira anonymous predicates.

    Bye

    See also:

    Arrow Functions in Dogelog Player https://qiita.com/j4n_bur53/items/eff987ced7b0d0c267e9

    Mild Shock schrieb:

    We present a Prolog transducer dubbed NetFish
    that can be used to translate Java code into C#
    code. NetFish can be built with a non-standard
    version of DCG, extending the notion of semi-context
    from terminals to non-terminals. NetFish can be
    easily run over arbitrary long files
    with little memory.

    NetFish uses a sliding window along an input text.
    It then applies the given compiled DSL rules in a
    cascading style. We used various LLMs such as
    ChatGPT and DeepSeek to advice us in the rules,
    but such a process is currently not integrated.
    The output can be run with .NET 9.0.

    See also:

    NetFish Transducer in Dogelog Player
    https://medium.com/2989/9d392937c1e3

    Mild Shock schrieb:
    Dear All,

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

    - Enhanced GC:
    To lift the native stack limitations, we
    opted for a marking algorithm based on
    Peter Deutschs algorithm E as found in
    Donald Knuths "The Art of Computing Programming"
    book. Our variant uses an int field that was
    anyway recently introduced for Prolog
    compound coloring, so that no extra space
    was introduced in this release.

    - Enhanced Binary-Ops:
    By adopting the pointer approach from Jaffar's
    Unification we could get rid of the map based
    realization from previous releases for union
    find. It turns out this gives quite a speed
    advantage. We also lifted the native stack
    limitation by using an extra space in the
    form of a stack and a log, which surprisingly
    performs well especially for Java, less for
    JavaScript and Python.

    - Enhanced Unary-Ops:
    For unary operations such as term_variables/2,
    ground/1, etc.. we experimented with both
    Peter Deutsch and a stack / log approaches.
    Interestingly for performance reasons we had
    to dismiss the two phase approach induced by
    a marking algorithm such as Peter Deutsch,
    and went also with the one phase approach as
    offered by a stack / log realization.

    Have Fun!

    Jan Burse, 02.10.2025, https://www.herbrand.ai/


    --- Synchronet 3.21a-Linux NewsLink 1.2