ciao-lang / ciao

Ciao is a modern Prolog implementation that builds up from a logic-based simple kernel designed to be portable, extensible, and modular.
https://ciao-lang.org
GNU Lesser General Public License v3.0
268 stars 20 forks source link

revisit lists.pl (and other common Prolog modules) #65

Open jfmc opened 2 years ago

jfmc commented 2 years ago

Our idlists module was written by Francisco Bueno, including useful predicates which were not in our original lists module (years before I started working in the CLIP Lab so probably Manuel knows better). I had a look it we would have no problem with merging idlists into lists (those predicates seem standard in other Prologs nowadays).

As SWI mentions in their documentation: "Virtually every Prolog system has library(lists), but the set of provided predicates is diverse. There is a fair agreement on the semantics of most of these predicates, although error handling may vary."

For reference:

Some of systems above include meta predicates like maplist/N in the lists.pl module. Ciao avoids doing it.

Originally posted by @jfmc in https://github.com/ciao-lang/ciao/issues/60#issuecomment-1214334034