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

Re: [NOISE] Curly braces [was Re: Curl]



--- Michael Vanier <mvanier@bbb.caltech.edu> wrote:
> > I like Matthew's . . notation for that, but to be perfectly 
> > honest, after 15 years of (), I don't need it.
> > 
> > -- Matthias

That's because you write compilers, not geometry code.  The main
motivation for adding infix to Curl was the graphics guys getting
killed trying to debug math like:

{if {> {/ {+ {- b} {sqrt {- {* b b} {* 4 a c}}}} {* 2 a} 0}
   'positive-root
   'negative-root}

Infix math is a special language well suited to dense algebraic
expressions, just like Scheme is a special language well suited to
writing compilers.  Scheme is good for walking around on parse trees
(of itself!), infix is good for math.  

That said, I believe an awful lot of graphics and signal processing
code has been written in Lisp historically.  But it would have
benefitted from infix.

I think one reason "well designed" languages aren't always popular is
that they tend to be really good for writing compilers and standard
libraries, but not necessarily the kinds of applications users care
about.  This is because language designers are frequently language
implementers, and in that role we fix the rough edges that make our
languages hard to bootstrap themselves.  Because we don't write
database apps and video games, we often fail to make languages that are
well suited to these tasks.

-m


__________________________________________________
Do You Yahoo!?
Yahoo! GeoCities - quick and easy web site hosting, just $8.95/month.
http://geocities.yahoo.com/ps/info1