[m-users.] Why can't `det` be used where `multi` is expected.

Zoltan Somogyi zoltan.somogyi at runbox.com
Mon Aug 5 18:17:44 AEST 2019



On Mon, 05 Aug 2019 00:46:30 -0500, Julian Fondren <jfondren at minimaltype.com> wrote:
> "One solution" is a subset of "one or more solutions", but
> backtracking never needs to ask a det predicate for its other
> solutions. So there's some machinery that's warranted in one case
> but not the other. That may be why the language can't silently
> promote a det predicate into a multi predicate.

That *is* the reason why the language cannot silently promote
a det predicate into a multi predicate.

The extra machinery for backtracking requires a more complex calling
convention for multi predicates than for det predicates, as Julien Fischer
has written. And a call works only if the caller and callee use the *same*
calling convention.

Zoltan.


More information about the users mailing list