I'd earlier said: > I'm looking for advice on how to implement, in Common Lisp, the > sweet-expression semantics for {backquote,comma,comma-at}+whitespace.
Just to document my research... Common Lisp can't unget multiple characters, but it does have the ability "make-concatenated-stream". You can create a stream out of a string and park that in front of another stream, resulting in a somewhat similar result: http://www.lispworks.com/documentation/HyperSpec/Body/f_mk_con.htm That lets me control what goes *into* read... but *not* the results that come *out* of read. Sigh. The fundamental problem is that "read" has a fixed interface, and I need read to *also* return any new indentation, if I want to be able to use backquote with indentation-sensitive constructs. And I do. So it looks like I'll have to re-implement backquote and comma in Common Lisp if I want a portable thread-safe Common Lisp implementation. The good news is that there is such an implementation: > http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node367.html On second glance it doesn't look *too* bad. Thankfully, this implementation can be in its own file. --- 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