[racket-dev] P4P: A Syntax Proposal

From: Eli Barzilay (eli at barzilay.org)
Date: Fri Jul 30 20:44:59 EDT 2010

On Jul 30, Robby Findler wrote:
> Given SK's teaching goals of "all of these operators are really the
> same" and

BTW, if this is a *goal* of this thing, then I don't see where plain
sexpr syntax fails -- if it's just an experiment in reducing the
number of parens then it seems like a risky thing to me, but in
addition I don't see a reason to tie reducing parens with the op(arg,
arg, ...) syntax.  (Sorry if this is in the manifesto text, I'm not on
a convenient machine...)

> Eli's (implicit?) goal of "lets get wider hacker-types
> interested" perhaps the right thing is to have a special infix-like
> mode that you can switch into with a keyword (ala what was discussed
> earlier in this thread)? This would be a special purpose mode where
> there is some simple rule that distinguishes infix operators from
> prefix ones (perhaps something like Haskell's convention)?

There's a whole bunch of these things (in CL and Scheme), and IIRC,
Jens had something very well doone recently -- but they all suffer
from requiring some ugly wrapper syntax around them.  I think that the
usual curly syntax (C, Java, JS, etc) is a (sad) requirement -- which
is why I hope that the Honu thing will work well enough to be used
independent of the bindings that get used (that is, that I'll be able
to use it with the current racket flavors).

(I've just seen some C# video where he talked about the addition of a
`dynamic' type to the language -- the impressive part of that was
demonstrating how you take some C#+JS code, and move the JS code into
C# -- which requires changing a few syntactic keywords and keeping the
code the same.  It's kind of annoying (in a familiar way, since it's
the same Java story), but the bottom line is that Shriram's thing is
very far from that.)

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.