I'm going to post proposed abbrev+EOL+indent semantics, which basically look
just like the children-indent semantics but ' is interpreted just like the word
"quote".
This means that:
'
! hello world
==>
(quote (hello world))
Also:
'
! x
==>
(quote x)
I believe the following BNF accomplishes this, where "abbrevw" is an
abbreviation followed by a space, tab, return, or linefeed:
- | abbrevh hspace* abbrev_i_expr=it_expr
- {$v=list($abbrevh.v, $abbrev_i_expr.v);} ;
+ | abbrevw hspace*
+ (comment_eol indent sub_abbrev=body
+ {$v = append(list($abbrevw.v), $sub_abbrev.v);}
+ | abbrev_i_expr=it_expr
+ {$v=list($abbrevw.v, $abbrev_i_expr.v);} ) ;
I looked at an alternative semantic that forced multiple lines into one list
(replacing {$v = append(list($abbrevw.v), $sub_abbrev.v);} with
{$v=list($abbrevw.v, monify($sub_abbrev.v));}). But I've learned that some
people argue for multiple-argument abbreviations, e.g., the "Bawden quasiquote
extension" (http://www.r6rs.org/r6rs-editors/2006-June/001376.html)... which I
think makes creating special limiting cases a bad idea.
Thoughts?
--- David A. Wheeler
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
Readable-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/readable-discuss