Re: The Declaration Approach (was: Some thoughts on the Mark S. Miller (
Wed, 20 Oct 1999 17:43:42 -0700

At 05:20 PM 10/20/99 , Chip Morningstar wrote:
> >> define f(x) reveal { <stuff> }
>Actually, the more I think about this (and ponder some of the problems
>with the procedure/function notation), the more this is becoming my
>preferred choice.

It does have yet an additional advantage, it reads well with the verb reading encouraged by E's "to" keyword:

to getX reveal {x}

"To get x reveal x." I could get used to that. The three identifiers in a row (ok, two keywords and one identifier) grates on my eye, but maybe I'm just not used to it yet.

> >> define f(x) ^{ <stuff> }
>Easy to miss with the eye though.

And since that's the whole point, let's kill it. It's dead.

> > foo(procedure f(x) { <stuff> })
> >vs
> > foo(function f(x) { <stuff> })
>This would mean you have to name your otherwise anonymous lambdas.
>Though that's not necessarily a bad thing.

E doesn't really have anonymous lambda's anyway. Instead, wherever you'd normally have a defining occurrence of a name, E allows you to use "_" instead. "_" would work equally well for anonymizing procedures/functions.