• Railgun CLP versus Scryer Prolog [Euler #30 Variant] (Was: Who will win the new Prolog race?)

    From Mild Shock@janburse@fastmail.fm to comp.lang.prolog on Fri Jan 30 02:10:50 2026
    From Newsgroup: comp.lang.prolog

    Hi,

    Sometimes my new Railgun CLP for Dogelog
    Player is blazing fast. Like here:

    ?- time((euler(_), fail; true)).
    % Zeit 1ms, GC 0ms, Lips 6675k
    true.

    ?- euler(_L), maplist(deref, _L, R).
    R = [3, 7, 1];
    R = [1, 5, 3];
    fail.

    Compare to Scryer Prolog:

    /* Scryer Prolog 0.10 */
    ?- time((euler(_), fail; true)).
    % CPU time: 0.203s, 326_594 inferences
    true.
    ?- euler(L).
    L = [1,5,3]
    ; L = [3,7,1]
    ; false.

    The test case:

    /**
    * find 3 non-zero digits such
    * that the number equals the cube sum:
    *
    * 371 = 3^3 + 7^3 + 1^3
    * 153 = 1^3 + 5^3 + 3^3
    */

    % euler(-List)
    euler(L) :-
    L = [X,Y,Z],
    L ins 1..9,
    100*X+10*Y+Z #= X*X*X+Y*Y*Y+Z*Z*Z,
    labeling([ff], L).

    Similar problem to:
    https://math.berkeley.edu/~elafandi/euler/p30/

    --- Synchronet 3.21b-Linux NewsLink 1.2