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


Groups > comp.lang.javascript > #124390

Re: ANN: Dogelog Player 1.3.0 (Graph Plotting)

From Mild Shock <janburse@fastmail.fm>
Newsgroups comp.lang.javascript
Subject Re: ANN: Dogelog Player 1.3.0 (Graph Plotting)
Date 2025-03-13 20:59 +0100
Message-ID <vqvdf5$1ep91$3@solani.org> (permalink)
References <vpn3sg$ol33$2@solani.org>

Show all headers | View raw


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

Back to comp.lang.javascript | Previous | NextPrevious in thread | Find similar


Thread

ANN: Dogelog Player 1.3.0 (Graph Plotting) Mild Shock <janburse@fastmail.fm> - 2025-02-26 14:10 +0100
  Re: ANN: Dogelog Player 1.3.0 (Graph Plotting) Mild Shock <janburse@fastmail.fm> - 2025-03-13 20:59 +0100

csiph-web