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
Readable-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/readable-discuss

Reply via email to