Wolfgang Lux wrote:
> Do you consider removing the sentence
> For convenience, a defining equation f = g between functions
> is allowed but will be interpreted in Curry as syntactic sugar
> for the corresponding defining equation f x = g x on base types.
> on the bottom of p.6 from the report, which IMO suggests
> eta-expansion?
I don't think that removing this sentence is a necessary requirement.
The original motivation for this sentence was to base the kernel
of Curry (i.e., without syntactic sugar) on a firm foundation,
i.e., needed narrowing or CRWL which were originally defined
only for first-order rewrite systems.
However, an implementation is free to do some optimizations,
e.g., inlining, constant propagation, partial evaluation,
or omitting eta-expansion so that reductions can be done earlier.
Since time has changed and there are extensions of CRWL
for higher-order rewrite systems (i.e., rules where the
left- and right-hand side are not of base type and
partial applications as patterns), I don't see a problem to
drop this sentence (i.e., the first-order interpretation of
higher-order rules). Moreover, we could also allow
partial applications as patterns (as in TOY).
What do you think?
Best regards,
Michael
_______________________________________________
curry mailing list
curry_at_lists.RWTH-Aachen.DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/curry
Received on Do Mär 29 2007 - 17:54:23 CEST