[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: issue SHARP-COMMA-CONFUSION



We could make uses of #, outside of backquote "undefined", or add some more
rules for how to interpret #, in those situations. 

The question is: which is better, remove backquote from the standard, or
leave it in in restricted form?

:REMOVE is incompatible with all uses of #,
:RESTRICT is incompatible with all uses outside of backquote.

So RESTRICT is "less" incompatible: it will cause fewer of the programs
that use #, to no longer be admissible.

Re: "it doesn't really buy you any functionality". Neither does "quote" or
"backquote" for that matter. Read-macro syntax is merely a more readable
shorthand. (Your example should have been ,(load-time-eval form) instead of
(load-time-eval ,form).)

I don't like the reasoning which I paraphrase "if we take this out instead
of define it, implementations can retain their existing definitions as an
extension." 

The major problem with the proposal I outlined about backquote is that it
CONSes. I.e., if I say

'(a b #,foo) it should not cons a new list, but if I say
`(a b #,foo) with the definition I proposed, it would.

In fact, '(a b #,foo) should turn itself into
(load-time-constant (list 'a 'b foo)).