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

Re: SRFI 105: Curly-infix-expressions



> Shiro Kawai scripsit:
> > C-exprs and n-exprs are technically orthogonal, and you split
> > them partly because for the ease of adoption.  But I feel that
> > combining them increases their appeal a lot for wider adoption,
> > while supporting only one doesn't seem likely.
> > 
> > Supporting n-exprs only in c-exprs may seem technically inelegant,
> > but how about seeing it as a starting point?  To me it seems easier
> > to flip switch once I enter '{}' world, so I don't mind if the
> > syntax is different in '{}' from outside '()' world.

John Cowan:
> +1 to all points.
... and later:
>  I'd say go ahead and include
> n-exprs in SRFI 105, though.

Ok, I'm going to bring this to the "readable" group for discussion, to see if there are additional comments. It's certainly easily doable (both in spec and in implementation).

> I believe that n-expressions outside curlies will never be a good idea.

It's certainly a change to the interpretation of existing valid s-expressions.  Perhaps if people are willing to accept a change like that, they'd just keep going all the way to sweet-expressions, which adds another syntactic change: it makes indentation outside (...) or {...} have syntactic meaning.  In most cases I've seen, these changes actually don't change the meaning of "normally formatted" s-expressions, and pretty-printers fix them, but I certainly agree that those are significant changes.

Regarding the name "neoteric", John Cowan said:
> (I also don't like the name; it makes me think of Theodore Sturgeon's
> classic short story _Microcosmic God_.)

Awesome, it's been a very  time since I've read that story.  This notation was originally named "modern" expressions, but some people seemed to really dislike that name, and the obvious abbreviation ("m-expressions") was too easily confused with McCarthy's unrelated notation.

Actually, I *like* the idea that Sturgeon's neoterics came up with neoteric-expressions.  IIRC, they created lots of advanced technologies - why not a Lisp notation :-) ?

--- David A. Wheeler