• Basic Indexicals for Railgun CLP(Z) (Re: Full Multiply in Railgun CLP)

    From Mild Shock@janburse@fastmail.fm to comp.lang.java.programmer on Wed Feb 4 23:02:03 2026
    From Newsgroup: comp.lang.java.programmer


    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 basic indexicals.

    To compare our basic indexicals solutions we use 3
    magic square problems against the Z3 SMT solver and
    the Gecode solver. It turns out that Railgun v11 was
    6-7x times faster than Z3 and 2x times slower than
    Gecode. As a 100% Prolog solution we still have some

    headroom, for example we could realize a native between/3.

    See also:

    Basic Indexicals for Railgun CLP(Z) https://qiita.com/j4n_bur53/items/ddda3ba5186acddae91b

    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