Alternative formulations of keywords John Cowan (11 Apr 2006 22:35 UTC)
Re: Alternative formulations of keywords Marc Feeley (12 Apr 2006 01:58 UTC)
Re: Alternative formulations of keywords John Cowan (12 Apr 2006 02:54 UTC)
Re: Alternative formulations of keywords Per Bothner (12 Apr 2006 03:05 UTC)
Re: Alternative formulations of keywords John Cowan (12 Apr 2006 03:12 UTC)
Re: Alternative formulations of keywords Eli Barzilay (12 Apr 2006 03:17 UTC)
Re: Alternative formulations of keywords Eli Barzilay (12 Apr 2006 03:20 UTC)
Re: Alternative formulations of keywords John Cowan (12 Apr 2006 03:27 UTC)
Re: Alternative formulations of keywords Per Bothner (12 Apr 2006 03:20 UTC)
Re: Alternative formulations of keywords Marc Feeley (12 Apr 2006 04:20 UTC)
Re: Alternative formulations of keywords John Cowan (12 Apr 2006 04:32 UTC)
Re: Alternative formulations of keywords Marc Feeley (12 Apr 2006 05:11 UTC)
Re: Alternative formulations of keywords John Cowan (12 Apr 2006 12:16 UTC)
Re: Alternative formulations of keywords Eli Barzilay (12 Apr 2006 12:29 UTC)
Re: Alternative formulations of keywords Marc Feeley (12 Apr 2006 13:07 UTC)
Re: Alternative formulations of keywords John Cowan (12 Apr 2006 13:36 UTC)
Re: Alternative formulations of keywords Marc Feeley (12 Apr 2006 14:25 UTC)
Re: Alternative formulations of keywords John Cowan (12 Apr 2006 14:28 UTC)
Re: Alternative formulations of keywords Marc Feeley (12 Apr 2006 14:57 UTC)
Re: Alternative formulations of keywords John Cowan (12 Apr 2006 16:26 UTC)
Re: Alternative formulations of keywords Per Bothner (12 Apr 2006 16:49 UTC)
Re: Alternative formulations of keywords John Cowan (12 Apr 2006 16:56 UTC)
Re: Alternative formulations of keywords Eli Barzilay (12 Apr 2006 13:37 UTC)
Re: Alternative formulations of keywords Marc Feeley (12 Apr 2006 04:54 UTC)
Re: Alternative formulations of keywords John Cowan (12 Apr 2006 16:07 UTC)

Re: Alternative formulations of keywords John Cowan 12 Apr 2006 13:35 UTC

Marc Feeley scripsit:

> Most Scheme systems allow separate compilation (think of "load").  [...]
> You have the same problem.  So it doesn't suffice for the function
> definition to be global.

I think this argument is strong enough that I will drop #1 (without
prejudice, as the lawyers say: meaning that if someone comes up with
a good counterargument I may revive #1).

There remains #2, which converts keyword-argument pairs to a-lists.
This requires only that it be lexically apparent what is and what is not
a keyword, not that the actual set of keywords for a function be known.
(Still awaiting a use case for (foo bar baz zam) where baz evaluates
to a keyword at runtime.)

I will also formally add #3 now, in which the keywords are syntactic
sugar for procedure *names* like foo:bar:baz:zam:.

In both cases higher-order invocations are possible, though not with
keyword syntax.  #2 requires more work at run-time but avoids possible
combinatorial explosions.  #3 requires nothing at run-time but may create
an explosion of code space.

> The way I see it you are forbidding the use of higher-order functions
> in combination with named optional parameters.  That would be a
> serious limitation for a functional language like Scheme.

It would, and I certainly don't want that.

--
My confusion is rapidly waxing          John Cowan
For XML Schema's too taxing:            xxxxxx@ccil.org
    I'd use DTDs                        http://www.ccil.org/~cowan
    If they had local trees --
I think I best switch to RELAX NG.