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


Groups > comp.lang.prolog > #15350 > unrolled thread

ANN: Dogelog Player 2.1.4 (Railgun CLP)

Started byMild Shock <janburse@fastmail.fm>
First post2026-01-22 15:40 +0100
Last post2026-02-18 00:00 +0100
Articles 4 — 1 participant

Back to article view | Back to comp.lang.prolog


Contents

  ANN: Dogelog Player 2.1.4 (Railgun CLP) Mild Shock <janburse@fastmail.fm> - 2026-01-22 15:40 +0100
    Full Multiply in Railgun CLP (Re: ANN: Dogelog Player 2.1.4 (Railgun CLP)) Mild Shock <janburse@fastmail.fm> - 2026-01-30 23:57 +0100
      Basic Indexicals for Railgun CLP(Z) (Was: Full Multiply in Railgun CLP) Mild Shock <janburse@fastmail.fm> - 2026-02-04 23:00 +0100
      Special Values for Dogelog Player (Was: Full Multiply in Railgun CLP) Mild Shock <janburse@fastmail.fm> - 2026-02-18 00:00 +0100

#15350 — ANN: Dogelog Player 2.1.4 (Railgun CLP)

FromMild Shock <janburse@fastmail.fm>
Date2026-01-22 15:40 +0100
SubjectANN: Dogelog Player 2.1.4 (Railgun CLP)
Message-ID<10ktcth$gfeg$1@solani.org>
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

[toc] | [next] | [standalone]


#15361 — Full Multiply in Railgun CLP (Re: ANN: Dogelog Player 2.1.4 (Railgun CLP))

FromMild Shock <janburse@fastmail.fm>
Date2026-01-30 23:57 +0100
SubjectFull Multiply in Railgun CLP (Re: ANN: Dogelog Player 2.1.4 (Railgun CLP))
Message-ID<10ljd07$16ti$1@solani.org>
In reply to#15350
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

[toc] | [prev] | [next] | [standalone]


#15402 — Basic Indexicals for Railgun CLP(Z) (Was: Full Multiply in Railgun CLP)

FromMild Shock <janburse@fastmail.fm>
Date2026-02-04 23:00 +0100
SubjectBasic Indexicals for Railgun CLP(Z) (Was: Full Multiply in Railgun CLP)
Message-ID<10m0fhg$9m5f$1@solani.org>
In reply to#15361
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
> 

[toc] | [prev] | [next] | [standalone]


#15472 — Special Values for Dogelog Player (Was: Full Multiply in Railgun CLP)

FromMild Shock <janburse@fastmail.fm>
Date2026-02-18 00:00 +0100
SubjectSpecial Values for Dogelog Player (Was: Full Multiply in Railgun CLP)
Message-ID<10n2rtp$btuj$1@solani.org>
In reply to#15361
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 didn’t 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
> 

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.prolog


csiph-web