• Special Values for Dogelog Player (Re: Full Multiply in Railgun CLP)

    From Mild Shock@janburse@fastmail.fm to comp.lang.java.programmer on Wed Feb 18 00:01:55 2026
    From Newsgroup: comp.lang.java.programmer


    Dogelog Player is a novel Prolog system
    for the JavaScript, Python and Java target.
    It is unique in that most of its core is written
    in 100% Prolog itself. While it might not be as
    posh as other Prolog system, the addition of
    special values gives it nevertheless an
    eclectic shoe shine.

    Our introduction of positive infinity 0rInf
    and negative infinity -0rInf is rather surgical.
    We didnrCOt touch the basic arithmetic like (+)/2,
    (-)/2, (*)/2, etc.. or trigonometric functions
    like sin/2, cos/2, etc.. But they are now
    understood by min/2 and max/2, and
    arithmetic comparison as well.

    See also:

    Special Values for Dogelog Player
    https://medium.com/2989/8cced7f3d3e7

    Mild Shock schrieb:

    Railgun CLP is a portable constraint solver
    library, developed in connection with Dogelog
    Player. It requires nothing more than ISO core
    standard Prolog and shows an amazing performance.
    We added full multiply.

    We discussed full multiply which can extend the
    constraint solver from positive intervals, to
    negative and zero centered intervals. The realized
    compilation scheme does incure a small penality
    and in examples such as Pythago and Euler we still
    see a 5x to 15x speed-up against SWI-Prolog.

    See also:

    Full Multiply in Railgun CLP
    https://medium.com/2989/26eb4445e5b1

    Mild Shock schrieb:
    Dear All,

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

    - Enhanced library(compat):
    We introduced a new built-in occurs_check/2.
    The predicate could be bootstrapped from
    unify_with_occurs_check/2 via occurs_check(V,T)
    :- \+ unify_with_occurs_check(V, T). But
    tapping into the native check gives better performance.

    - Enhanced library(math):
    We introduced sqrtrem/3 and isqrt/2 built-ins,
    for integer square root. The former is a predicate
    that also computes a reminder, and the later is
    an evaluable predicate, that suppresses the reminder.

    - New Railgun CLP:
    What began as a sport in December 2025 to explore
    a constraint solver that only uses ISO core
    standard Prolog. Is now a full project with
    iterative milestones. In this release we provide
    the basic vocabulary of CLP(FD), and an enhanced
    solver that uses min/max based partial consistency.

    Have Fun!

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


    --- Synchronet 3.21b-Linux NewsLink 1.2