[m-rev.] for post-commit review: don't abort on curried preds with no declared determinism

Paul Bone paul at bone.id.au
Wed Oct 7 16:48:18 AEDT 2015


On Wed, Oct 07, 2015 at 01:16:33PM +1100, Zoltan Somogyi wrote:
> 
> 
> On Wed, 7 Oct 2015 10:44:14 +1100, Paul Bone <paul at bone.id.au> wrote:
> > I forget, does this affect all higher order arguments?
> > 
> >     + A curried argument (like this one): Yes.
> >     + A higher order argument that doesn't need currying.
> >     + An explicit lambda.
> 
> By "higher order argument", I presume you mean a variable
> of a higher-order type.

Actually I ment any value used as an argument to a
predicate/function/functor.  However I see now that in a unification the
same problem occurs.

> The problem arises when converting a curried call to a lambda internally.
> It does not arise when the higher-order value is a variable or an explicit
> lambda expression. So: yes, no and no.
> 
> > I ask because generalising the error message may help.  The last part of the
> > message could read "so it cannot be used as a higher order argument", for
> > example.
> 
> In the test case, the curried calls appear as arguments of a function symbol,
> but in other cases, the higher order values they represent may be assigned
> to variables, and thus aren't "arguments" of anything.
> 

Yep.

-- 
Paul Bone



More information about the reviews mailing list