TYPO: Possible typo mistake on library(yall) page

On this page: SWI-Prolog -- library(yall): Lambda expressions
I read this:

Combined with library(apply_macros) , library(yall) allows writing one-liners for many list operations that have the same performance as hand-written code.

But there seems to be only a library(apply) with the list functions in it.

The possibly errant text is just above the “Parameters” documentation after it states that this is a port of the Logtalk code.

1 Like

There is indeed a library(apply_macros). It just provides a bunch of goal_expansion/2 rules to “compile away” the predicates from library(apply) and library(yall).

1 Like

Is that not in the main documentation for a reason? Maybe I just missed it, it’s not in the obvious list of “Documentation >> Reference manual >> The SWI-Prolog library” that I could see that’s all, hence me thinking it might have been a typo.

Is it not for general consumption yet / at all ?

My guess is it isn’t showing up because it doesn’t actually define any predicates itself, just adds goal_expansion/2 rules.

Fair point!

As far as I recall, the idea and name come from YAP. The main aim was to make things like maplist/2- the same as a recursive loop. I see it more as an intermediate step to what at some point should become proper partial evaluation/inlining.