On 01/23/2015 01:33 AM, David Kastrup wrote: > Daniel Colascione writes: > >> On 01/22/2015 03:36 PM, Stefan Monnier wrote: >>> Maybe we could introduce a more limited form of reader macros. >>> E.g. allow # and make the reader return >>> >>> (funcall (cdr (assq reader-macro-alist)) ) >> >> >> That's an excellent idea. > > Doesn't work well where is an unmatched delimiter like ( or [. So? The point isn't to support every conceivable syntax, but to cover the most common use cases without fundamentally changing the lexical structure of the source. Requiring #f() instead of #() is no great crime. > Also would not work with #r"xxx" raw strings. Arguably a feature, not a bug. > I think it makes more > sense (like Guile does it) to make this kind of funcall not with > but rather with . If indeed a sexp is wanted, calling `read' is > trivial. Sure, it's possible to do it that way, but then reader macros can break the lexical structure of the program. The only legitimate use case Stefan's idea doesn't cover is raw strings (and maybe here docs), for which I would be willing to add a special case to the reader if we decided we wanted them.