German Vidal wrote:
> Yes, I agree with you. In fact, I also think that the notion of
> 'local variable' could be dangerous. There are many let-floating
> transformations that move let bindings outwards/inwards (the GHC
> compiler applies some of them). While these transformations are
> semantics-preserving, they could change the notion of 'locality'.
>
> I don't see a clear solution here. While the requirement of not
> binding variables that are not *local* to the constraint/expression
> pair is reasonable, it is also too operational. In fact, requiring
> that all Curry compilers/transformers do not apply let-floating
> transformations is clearly too restrictive. I think that in this
> case we should consider Wolfang's alternative formulation even if
> this feature is seldom used..
I agree that it might be difficult to understand if let-floatings
over expressions that does not introduce binding environments
change the semantics of a program. In this case, I think that
Wolfgang's proposal to provide some special syntax form committed
choice (similar to case expressions) is the most reasonable
solution.
Regards,
Michael
_______________________________________________
curry mailing list
curry_at_lists.RWTH-Aachen.DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/curry
Received on Do Dez 09 2004 - 13:17:43 CET