Re: Are we done? Are other changes needed to maximize adoption?
David A. Wheeler 17 Sep 2012 01:32 UTC
Per Bothner:
> You might find this interesting:
> http://per.bothner.com/blog/2010/Q2-extensible-syntax/
Thanks for the pointer!
This has somewhat similar goals to the "readable" project, though with a different approach. The big difference is that I decided it was important to have a generic notation for *any* s-expression. It's probably fairest to compare Q2 to the "sweet-expression" notation:
* Sweet-expressions have infix, though not precedence. Actually, precedence *could* be added, as discussed in SRFI-105... I just don't think it's worth it.
* Both have "juxtaposition for function application"
* Q2 has "Naming a zero-argument function applies it" but this is awkward, indeed, "The exact rule for a distinguishing between a variable reference and a zero-argument function application isn't decided yet." In sweet-expressions, a zero-argument function name is called by adding () after it or around it, e.g., pi().
* "Flexible token format" - both require operators to be delimited.
* "Use indentation for grouping" - both use indentation for grouping
* "Block expressions yield multiple values" - In sweet-expressions, you use usual Scheme procedures, including value, instead of having special syntax.
* REPL: In sweet-expressions, you usually end a line with ENTER ENTER. Q2 doesn't, but I worry that you have to be careful or it'll end where it syntactically might not need to.
Again, thanks for the pointer!
--- David A. Wheeler