Clearly editor modes are important for sweet-expressions. I've looked into this a little, and I think editor modes for sweet-expressions should be fairly easy to build. Below are some thoughts, esp. relating to ParEdit, in case anyone wants to discuss them. My I hope is that I can convince someone to implement one :-).
--- David A. Wheeler ================================= Sweet-expression editor modes have to figure out where lists begin and end; outside of (), this primarily involves comparing indent levels. So that shouldn't be bad. Also, the Scheme reference implementation must deal with the problem that Scheme has no portable multi-character peeking; an editor has no such limit, making it significantly easier to do. One editor mode in particular that was pointed out to me is ParEdit: http://www.emacswiki.org/emacs/ParEdit Demo: http://emacsrocks.com/e14.html ParEdit helps "keep parentheses balanced" - something I normally do with s-expressions also. That isn't needed as much in sweet-expressions, because indents and outdents have the same effect as paren-balancing outside of (), [], and {}. Perhaps a more interesting feaure of ParEdit is its AST-like manipulation functions. It several keys infer certain operations, and it even defines special list-processing operations (e.g., slurp, barf, convolute). For example, here's a forward-slurp-sexp operation, where "|" is the current cursor position: (foo (bar |baz) quux zot) ==> (foo (bar |baz quux) zot) But it appears to me that an editor mode for sweet-expressions can do the same thing. It'd need to deal with parens vs. multi-line cases, but it doesn't look hard. The same example could look like this: ; single-line forward slurp: foo bar(|baz) quux zot ==> foo bar(|baz quux) zot ; multi-line forward slurp: foo ! bar |baz ! quux ! zot ==> foo ! bar |baz quux ! zot ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ Readable-discuss mailing list Readable-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/readable-discuss