[m-users.] A predicate taking a lists of predicates as input?
Volker Wysk
post at volker-wysk.de
Thu Sep 25 03:17:48 AEST 2025
Am Mittwoch, dem 24.09.2025 um 18:58 +0200 schrieb Tomas By:
> On Wed, 24 Sep 2025 18:47:01 +0200, Volker Wysk wrote:
> > Am Mittwoch, dem 24.09.2025 um 18:40 +0200 schrieb Tomas By:
> > > No, but there are better ways to implement a parser.
> > Now you've made me curious. Do you have a catchword which I could look
> > up?
>
>
> https://en.wikipedia.org/wiki/Continuation-passing_style
>
> Essentially, you have a series of preds where each one handles some
> small bit of the syntax and then calls the next one passing along the
> data so far. At the end you return the complete result, and each
> predicate can also return an error instead of calling.
>
> This is (more or less) how Mercury itself is implemented, I believe.
>
> It gives you much better control over error messages, and it goes very
> well together with literate programming as you can mix the relevant
> parts of the parser with documentation and error code.
Thanks! That's something I have to play with. :-)
Regards,
Volker
More information about the users
mailing list