Kartik Agaram: > Also, has there been discussion of the haskell approach? > > a) Explicitly mark certain ops as infix. That would eliminate a lot of > curlies, and also allow any op to be infix. > > b) Allow any op to be temporarily infix by enclosing it in backticks > or something like that. Maybe curlies?
Yes, extensively. For some history, you might look at: http://www.dwheeler.com/readable/readable-s-expressions.html especially section 6. Early work had infix ops marked; later I even tried to make it automatic (e.g., punctuation-only symbols). I then tried out lots of examples. Perhaps surprisingly, I found it doesn't work very well (at least, that was the impression I ended up with). > My major concern with curly infix is that it introduces an extra layer > of indirection. Say you're trying to track down a bug in evaluation: > > i) Lisp is extremely direct. All the parens are visible, directly > permitting reasoning about evaluation. The {...} are just as visible. If you want lists in lists, you even have to embed each list marker. > ii) An indentation-sensitive lisp like wart requires mentally > inserting parens to make sure we aren't accidentally wrapping > something we didn't mean to. People indent even when it's *not* significant, so this turns out to be a non-problem. The indentation ends up working with, not against. > iii) Curly infix requires converting indentation to curly infix and > then *removing* the curly infix to convert to prefix. You don't need to "convert indentation to curly infix". Typically infix lists are shorter, fitting on a line - so you wouldn't normally indent them anyway. For example, they just mean that what you'd previously write as: . . mystuff (+ a b) is instead written as: . . mystuff {a + b} > I'm sure these issues have been done to death on this list, and > they're probably not on top of your todo lists before the deadline. > Feel free to point me at the mailing list archives :) They have, but now is a good time to discuss them, since we're trying to wrap things up by July 31 for a new spec freeze. Discussions on indentation processing in particular are up for grabs. --- David A. Wheeler ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Readable-discuss mailing list Readable-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/readable-discuss