[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
>
- References:
- RE: call/cc
- From: "David Simmons" <David.Simmons@smallscript.net>