Updated SRFI-105
David A. Wheeler
(04 Sep 2012 01:09 UTC)
|
Updated SRFI-105 highlights
David A. Wheeler
(04 Sep 2012 01:22 UTC)
|
Marker #!srfi-105
David A. Wheeler
(04 Sep 2012 20:24 UTC)
|
srfi-105 and srfi-38
Shiro Kawai
(05 Sep 2012 01:45 UTC)
|
Re: srfi-105 and srfi-38 David A. Wheeler (05 Sep 2012 02:23 UTC)
|
Re: Updated SRFI-105
Michael Sperber
(04 Sep 2012 19:12 UTC)
|
Updated SRFI-105 (2012-09-08)
David A. Wheeler
(08 Sep 2012 22:45 UTC)
|
Re: srfi-105 and srfi-38 David A. Wheeler 05 Sep 2012 02:23 UTC
Shiro Kawai: > Will #1=f(#1#) mean (#1=f #1#) or #1=(f #1#)? Great question! > Since 'f(x) => (quote (f x)), I guess the latter is more > consistent (that is, after seeing #1=, the reader recurses > to gather the longest <datum> and then labels it.) Agreed. Anyone disagree? > But I'm not sure the current draft spec is clear enough, > for, according to srfi-38, the "#1=f" part consists a <datum>. The expression f(x) is a datum in neoteric-expressions, since it's just another way of writing (f x). It certainly should NOT stop reading after it reads f if an open paren follows immediately. But I think you're absolutely right, the spec isn't clear enough. Great catch. So how do we make it clearer? I think we can clarify this by tweaking the definition and giving an example. First, in the neoteric-expression definition, change: "A “<dfn>neoteric-expression</dfn>” or “<dfn>n-expression</dfn>” is a curly-infix-expression, with the following modifications where <var>e</var> is any datum expression:" to: "A “<dfn>neoteric-expression</dfn>” or “<dfn>n-expression</dfn>” is a curly-infix-expression, but with the following additional syntaxes for a datum where <var>e</var> is any datum expression:" With this change, it's clear we're defining datums. Then let's add the given example: #1=f(#1#) maps to #1=(f #1#) Would that work? Is there a better way? Any objections? --- David A. Wheeler