[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
read tables
I have a small complaint about read tables as they currently are
implemented. Specifically, I really regret the lack of a global read
table in T, and the apparent lack of any way to construct one. I happen
to be inordinantly fond of a particular read macro, the TLISP-type
! comment character. I have used this in every lisp code file I have
written in the past two years, and will probably use it in every one
I write from now on. Clearly I want this read macro as the default
syntax for ! in my version of T.
Unfortunately, I can't have it, so I will have to go through all my
old T files and add that (HERALD ...(READ-TABLE ...)) thing. I'll
have to put that in all my new files, as well, and I'll have to deal
with the fact that I want to use ! comments in my INIT.T file, where
I define the macro.
Well, O.K.. That's not really that inconvenient as
dealing-with-programming-languages-that-won't-let-you-have-what-you-want
problems go, but I am moved to comment on it because in addition to
being mildly annoying it also violates what I have always taken to
be a fundamental principle of lisp-like languages, which also happens
to be one of the prime reasons why I LIKE lisp-like languages.
Roughly, that principle is that you, the programmer, can take the system
the language designer thought was the ideal programming language,
tranform it into what you know is in fact the ideal programming
language, and never trouble yourself about the differences again.
Because the *STANDARD-READ-TABLE* is a read-only read table, it allows
the language designer to specify a set of defaults but does not allow
the programmer to correct these defaults at the same level. Instead,
it forces him to deal with the problem on a case-by-case basis, and
hence to be constantly reminded of the distinction between the language
designer's vision of the language and his own. I submit that this
is a violation of the fundamental spirit of lisp, and request that
a way of specifying defaults for character syntax be provided.
-------