Re: ANN: Dogelog Player 1.3.0 (Graph Plotting)

Mild Shock <[email protected]>
Newsgroups comp.lang.python
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.