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

Re: loss of abstraction

This page is part of the web mail archives of SRFI 72 from before July 7th, 2015. The new archives for SRFI 72 contain all messages, not just those from before July 7th, 2015.

Panu Kalliokoski <atehwa@xxxxxxxx> 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