• ANN: Dogelog Player 2.2.1 (Just-in-Time Indexing)

    From Mild Shock@janburse@fastmail.fm to comp.lang.java.programmer on Thu Apr 9 20:00:23 2026
    From Newsgroup: comp.lang.java.programmer


    Dear All,

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

    - Enhanced core (IEEE Comparisons):
    The special value 0rNaN received comparison
    drawn from IEEE. The built-in (=\=)/2 now
    implements not quiet, while the built-ins
    (=:=)/2, (<)/2, etc. now implement quiet.
    The built-ins (@<)/2, etc. now implement
    quiet ordered, while the built-ins min/3
    and max/3 now implement number.

    - Goal Inlining/Outlining:
    We noticed performance problems of negation
    as failure (\+)/2 when the argument is a
    complex goal. Many Prolog systems don't
    suffer from this problem. We implemented
    a form of goal expansion, but with reversibility,
    so that rewritten (\+)/2 calls are seen
    again in listing/[0,1] and trace/0.

    - Just-in-Time Indexing:
    The scope is currently MAX_INDEX = 2
    indiscriminantly for static and dynamic
    predicates. The system can dynamically
    allocate 1st or 2nd argument indexes when
    needed, and even create combined 1st+2nd
    argument indexes. The enhancement comes
    with a new jiti_list/[0,1] utilitiy.

    Have Fun!

    Jan Burse, https://www.herbrand.ai/ , 09.04.2026
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to comp.lang.java.programmer on Thu Apr 16 12:38:49 2026
    From Newsgroup: comp.lang.java.programmer

    Hi,

    Our new library silkworm for predicate tabling tries
    to do the same, as the library railgun for finite
    domain constraints. Namely provide a portable library
    that is only based on the ISO core standard. Due to
    a series of recent improvements of Dogelog Player
    the tabling directive is now competitive.

    While we reach similar performance like SWI-Prolog
    for Datalog examples, our system parallels the
    XSB-Prolog performance for non-Datalog examples.
    What is missing are non-wellfounded forms of
    recursion and polymorphic adornments. We are
    currently working on addressing both issues.

    Bye

    See also:

    Tabling Directive for Dogelog Player
    https://medium.com/2989/aa2f40a14b58

    Mild Shock schrieb:

    Dear All,

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

    - Enhanced core (IEEE Comparisons):
    The special value 0rNaN received comparison
    drawn from IEEE. The built-in (=\=)/2 now
    implements not quiet, while the built-ins
    (=:=)/2, (<)/2, etc. now implement quiet.
    The built-ins (@<)/2, etc. now implement
    quiet ordered, while the built-ins min/3
    and max/3 now implement number.

    - Goal Inlining/Outlining:
    We noticed performance problems of negation
    as failure (\+)/2 when the argument is a
    complex goal. Many Prolog systems don't
    suffer from this problem. We implemented
    a form of goal expansion, but with reversibility,
    so that rewritten (\+)/2 calls are seen
    again in listing/[0,1] and trace/0.

    - Just-in-Time Indexing:
    The scope is currently MAX_INDEX = 2
    indiscriminantly for static and dynamic
    predicates. The system can dynamically
    allocate 1st or 2nd argument indexes when
    needed, and even create combined 1st+2nd
    argument indexes. The enhancement comes
    with a new jiti_list/[0,1] utilitiy.

    Have Fun!

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

    --- Synchronet 3.21f-Linux NewsLink 1.2