I'm looking for advice on how to implement, in Common Lisp, the 
sweet-expression semantics for {backquote,comma,comma-at}+whitespace.

The "obvious" way is to re-implement these capabilities; Steele's 2nd edition 
appendix C
gives public domain code to do this:
  http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node367.html
This seems a little error-prone, and it won't take advantage of whatever 
simplifications exist in the underlying CL implementation.  In general, CL 
handles this stuff in non-portable ways, and a re-implementation won't "work 
the same way".

It'd be nice to invoke the "actual" backquote or comma/comma-at, but if I do, 
they will invoke "read".  Yet I need to regain control of the reader, and pass 
that reader the indentation level ... preferably in a thread-safe way.  
Basically, historically "read" didn't care about indentation levels.. but any 
indentation processing system will.  One way to do that is to set a special 
variable (!!) with the indent level, and use the readtable that already 
redirects all chars.  The readtable would redirect to a procedure that, if the 
special variable indent is set, invoke the sweet-reader with that indent level.

Am I missing a simpler alternative to implement the intended semantic?

--- David A. Wheeler

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Readable-discuss mailing list
Readable-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/readable-discuss

Reply via email to