• ANN: Dogelog Player 1.3.0 (Graph Plotting)

    From Mild Shock@janburse@fastmail.fm to comp.lang.javascript on Wed Feb 26 14:10:43 2025
    From Newsgroup: comp.lang.javascript

    Dear All,

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

    - Enhanced library(lists):
    We made the predicate free_variables/3 now public
    in library(lists). It implements then ISO core standard
    specification ISO 7.1.1.4 of witness variables. The
    predicate does not appear in the Novacore kernel.

    - Enhanced library(sequence):
    As an alternative we provide a new predicate firstof/2.
    The predicate is bootstraped from what is used in
    distinct/1, but makes use of free_variables/3 to determine
    the keys for deduplication during backtracking. Has more
    logical properties than distinct/2.

    - New library(plot):
    The library(plot) can generate line plots in the form
    of a SVG element. We currently provide the predicates
    plot/1 and plot/2 which take a list of points (x,y1,..,yn)
    and plot the lines (x,y1) ... (x,yn). The binary predicate
    allows specifying various plot options.

    Have Fun!

    Jan Burse, http://www.xlog.ch/ , 26.02.2025
    --- Synchronet 3.20c-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to comp.lang.javascript on Thu Mar 13 20:59:34 2025
    From Newsgroup: comp.lang.javascript


    Tired of pounding out the same old boring boilerplate
    code over and over and over again. I'll show you how
    to eliminate the boilerplate by using higher-order
    programming: functions that take other functions as
    arguments; or in Prolog, predicates that take other
    predicates as arguments.

    Somehow we shied away from implementing call/n for
    our Prolog system. We thought our Prolog system has
    only monomorphic predicate lookup caches and therefore
    we kept a distance. This changed when we had the idea
    to dynamically add a cache for the duration of a
    higher order loop.

    We could provide a new builtin call/n for our Prolog
    system. Testing some list processing from different
    angles we conclude our performance is middle field,
    comparable to Scryer Prolog. This makes it feasible to
    bring call/n and predicates such as maplist/n to the
    upcoming release of Dogelog Player.

    See also:

    Higher Order in Dogelog Player https://x.com/dogelogch/status/1900273770792644651

    Higher Order in Dogelog Player
    https://www.facebook.com/groups/dogelog

    Mild Shock schrieb:
    Dear All,

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

    - Enhanced library(lists):
      We made the predicate free_variables/3 now public
    in library(lists). It implements then ISO core standard
    specification ISO 7.1.1.4 of witness variables. The
    predicate does not appear in the Novacore kernel.

    - Enhanced library(sequence):
      As an alternative we provide a new predicate firstof/2.
    The predicate is bootstraped from what is used in
    distinct/1, but makes use of free_variables/3 to determine
    the keys for deduplication during backtracking. Has more
    logical properties than distinct/2.

    - New library(plot):
      The library(plot) can generate line plots in the form
    of a SVG element. We currently provide the predicates
    plot/1 and plot/2 which take a list of points (x,y1,..,yn)
    and plot the lines (x,y1) ... (x,yn). The binary predicate
    allows specifying various plot options.

    Have Fun!

    Jan Burse, http://www.xlog.ch/ , 26.02.2025

    --- Synchronet 3.20c-Linux NewsLink 1.2