Wolfgang Lux wrote:
>> This
>> was essentially the function you would need to use Sergio's scheme and
>> get the result you want. And the kics compiler, which release is soon to
>> be announced here, has a mode in which free variables are implemented
>> this very same way.
>
> You mean that
> let y = 0?1; f _ = y + y in f 0
> and
> let y = 0?1; f _ x = x + x in f 0 y
> are evaluated differently (the former having solutions 0, 1, and 2 and
> the latter having only solutions 0 and 2)? If so, have you carefully
> consider the semantics of this feature? E.g., what are the solutions of
> let y = 0?1; f x = x + y in f y
Mean by what? If you refer to the evaluation mode of kics, it just means
that a free variable of Type (Tree Color) is internally represented just
like we discussed, namely equivalent to (Tree Color ()) as defined by
Color _ = Red ? Green
Tree a _ = Tree (a ()) (Tree a ()) (Tree a ())
This makes some thinks much simpler (including semantics). But of course
the additional possibilities of (=:=), suspension and the like do not
carry over...
_______________________________________________
curry mailing list
curry_at_lists.RWTH-Aachen.DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/curry
Received on Mo Dez 11 2006 - 12:32:29 CET