[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: call/cc



One annotation. I did not actually read the parse tree in my list. The
<TParenExpr> would have been folded by the semantic analyzer into <TMsg>
tokens where the message selector was the apply-value message form
#(<>).

-- Dave S. [SmallScript LLC]

SmallScript for the AOS & .NET Platforms
David.Simmons@SmallScript.com | http://www.smallscript.org


> -----Original Message-----
> From: owner-ll1-discuss@ai.mit.edu
[mailto:owner-ll1-discuss@ai.mit.edu]
> On Behalf Of David Simmons
> Sent: Tuesday, December 18, 2001 12:54 PM
> To: 'Guy Steele - Sun Microsystems Labs'; kragen@pobox.com;
> pixel@mandrakesoft.com; David.Simmons@smallscript.net
> Cc: ll1-discuss@ai.mit.edu
> Subject: RE: call/cc
> 
> > -----Original Message-----
> > From: Guy Steele - Sun Microsystems Labs
> [mailto:gls@labean.East.Sun.COM]
> > Sent: Tuesday, December 18, 2001 5:01 AM
> > To: gls@labean.East.Sun.COM; kragen@pobox.com;
pixel@mandrakesoft.com;
> > David.Simmons@smallscript.net
> > Cc: ll1-discuss@ai.mit.edu
> > Subject: RE: call/cc
> >
> >
> >    From: "David Simmons" <David.Simmons@smallscript.net>
> >    Date: Mon, 17 Dec 2001 15:58:33 -0800
> >    ...
> >    > For a really good test that will provide better separation
> >    > of the languages, try curried addition of first one parameter,
> >    > then the other, plus 1:
> >    >
> >    > (((lambda (x) (lambda (y) (+ x y 1))) 3) 5)     Scheme, 24
tokens
> >    >
> >    > --Guy
> >
> >    SmallScript (superset of Smalltalk):
> >
> >        [:x|[:y|x+y+1]](3)(5)		"13 tokens"
> >
> >    -- Dave S. [SmallScript LLC]
> >
> > How is that 13 tokens?  I'm a little unclear on how you would
> > count ":x|" and ":y|", but surely
> >
> > [  [  x  +  y  +  1  ]  ]  (  3  )  (  5  )
> >
> > is already 15 tokens, so the whole thing must be somewhere
> > between 17 and 21 tokens?  If 21, then it saves two "lambda"s
> > and a pair of parens over Lisp, then loses one back by needing
> > a second "+".
> >
> > --Guy
> 
> Hi Guy.
> 
> I was taking my token count from the SmallScript parse tree.
> 
>     TBlock	                    [:x...]
> 	TVar                      :x|
> 	    TBlock                [:y...]
>               TVar              :y|
>                   TVarRef       x
>                   TMsg          #+...
>                       TVarRef   y
> ...stopped indenting  TMsg      #+...
> ...mail will      TLiteral      1
> ...screw up     TParenExpr      (3)
>                   TLiteral      3
> 		    TParenExpr      (5)
>                   TLiteral      5
> 
> I now see how you are counting (lexer) tokens. Which means 13 is the
> wrong count. On that measure, as you suggest, it would make the count
> 21.
> 
>     1   [
>     2   :
>     3   x
>     4   |
>     5   [
>     6   :
>     7   y
>     8   |
>     9   x
>     10  +
>     11  y
>     12  +
>     13  1
>     14  ]
>     15  ]
>     16  (
>     17  3
>     18  )
>     19  (
>     20  5
>     21  )
> 
> OTOH, SmallScript doesn't really provide anything equivalent to the
> simplicity or generality of s-expressions. Which is where, I suspect,
> scheme would crush SmallScript in a more general form of this kind of
a
> comparison.
> 
> -- Dave S. [SmallScript LLC]
> 
> SmallScript for the AOS & .NET Platforms
> David.Simmons@SmallScript.com | http://www.smallscript.org
>