Panu Kalliokoski <[EMAIL PROTECTED]> writes: > > The answer in Lisp has been, for 46 years, that syntax objects and lists > _are_ the same.
Sure. The answer in Lisp has also been that identifiers and symbols are the same. Turns out it was wrong. Moreover, once that choice is made, changing the representation is seriously hindered by the fact that the representation wasn't abstract to begin with. > The possible extensions you mention -- tracking comments, different > kinds of brackets, and whether pairs were entered in dotted or list form > -- all break the barrier between (eval) and (read). If Scheme was to do > such things, we would have to redefine those procedures, or to define > that programs are not necessarily read in via (read). R5RS doesn't specify that programs are necessarily read in via READ. (And, in fact, many implementations don't.) No problem there. > Also, comment tracking (and other stuff, too) can be implemented in the > same way as source location tracking: with an external hash table. Sure. In fact, records in general can be implemented with an external hash table, and some Lisp programmers (of the past?) might think this is a good idea. I don't. -- Cheers =8-} Mike Friede, Völkerverständigung und überhaupt blabla
