Re: Evaluation Annotations: are they needed?

From: Wolfgang Lux <>
Date: Sun, 14 Nov 2004 22:33:28 +0100

Julio Mariņo y Carballo wrote:

> Well, my example tried to be compliant with the familiar form of
> evaluation
> annotations, but a more flexible syntax can be considered. An
> annotation like
> map f eval spineRigid
> would desugar every instance of (map f xs) into (map f (spineRigid
> xs)) and,
> more generally, annotations of the form
> f eval rp1 ... rpN
> would desugar every application (f x1 ... xN) into
> (f (rp1 x1) ... (rpN xN)).

Well, this looks like a reasonable proposal to me. Yet, the open
(in order to leave the purely syntactic level :-) is which functions
qualify as rigidness projections in such a kind of evaluation
I assume that you do not want to leave this set unrestricted. On the
hand, I'm not sure whether one can reasonably restrict it to a
set of functions (though at present I would be happy with
whatever_this_rigid_primitive_is_called_today and the rigidSpine

> You are absolutely right. I would like to stress there are two parts
> in my
> proposal. The first one is just a sugaring that aims at helping you
> keep your
> code as tidy as possible, without forbidding other uses of the
> primitive. I
> feel that implementing that preprocessing and characterizing a wide
> range of
> "reasonable" uses via the projections is feasible.
> The other part is the hard one, of course. I was intentionaly vague in
> stating
> the wish of "tracking down the use of rigidness primitives" because I
> do not
> know whether something as a rigidness type may exist...
> Suggestions?

Unfortunately not yet.


curry mailing list
Received on Mo Nov 15 2004 - 09:55:11 CET

This archive was generated by hypermail 2.3.0 : Do Mai 23 2024 - 07:15:06 CEST