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

Re: LFM + LFSP = LFE?




> Date: Mon, 16 Jun 2003 17:47:55 -0700
> From: "Brent Fulgham" <brent.fulgham@xpsystems.com>
> 
> > Keyword selectors are nice, but I can't help feeling that
> > 
> >     [block evaluating to a boolean] 
> >         IfTrue: [true block] 
> >         IfFalse: [false block].
> > 
> > is counterintuitive versus a more conventional
> > 
> >     If: [block evaluating to a boolean]
> >     Then: [true block]
> >     Else: [false block].
> > 
> > and I think this sort of thing has hurt smalltalk's 
> > acceptance.
> 
> To be fair, the S-Exp based languages suffer from similar syntax
> "quirks", but in the context of the evaluation model they all make
> sense.
> 
> On the other hand, Scheme's construct at least reads in the right
> order :-)
> 
> (if (expression evaluating to a boolean)
>     (True Block)
>     (False Block))
> 
> -Brent
> 

I assume you mean the lack of helpful noise keywords e.g.

(if (expression evaluation to a boolean)
    then (true block)
    else (false block))

I think this can be done pretty easily with define-syntax, right?  Not that
anyone is in a big rush to do so ;-)

mutable-syntax-is-a-beautiful-thing-ly y'rs,

Mike