axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] ANSI Lisp and Axiom (Boot)


From: Kai Kaminski
Subject: Re: [Axiom-developer] ANSI Lisp and Axiom (Boot)
Date: Mon, 05 Mar 2007 12:22:42 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.92 (darwin)

Gabriel Dos Reis <address@hidden> writes:

> Kai Kaminski <address@hidden> writes:
>
> [...]
>
> | PS: Lisp is all lower-case nowadays.
>
> yeah, fashion comes and goes. :-)
>
> Those familiar with SBCL and some other lisps will probably notice that
> lisp compilers/tools tend to output things in all caps, even when the
> original is all lower case.
Yes. Common Lisp specifies that the reader (!) makes everything
uppercase. By the time the compiler prints an identifier, it doesn't
know anymore how you typed it. If you really want lower case you can
use vertical bars[2]:

CL-USER> '|CamelCaseIdentifier|
|CamelCaseIdentifier|
CL-USER> 

Some Common Lisps offer a so called 'modern mode' nowadays
(eg. Allegro CL), where the reader preserves the case and exports all
standard symbols (eg CL:MAPCAR) in lower case. In fact, you can set
the behaviour of the reader even in CL: see the Hyperspec for details,
in particular [1]. Preserving the case is useful for XML <-> sexp
mappings for example, but sometimes breaks older code.

Kai

[1] http://www.lisp.org/HyperSpec/Body/sec_23-1-2.html
    Simply setting the READTABLE-CASE doesn't really cut it though,
    since you then have to say:

      (WITH-OPEN-FILE (s "blah" :DIRECTION :INPUT) ...)

[2] This is used in Axiom a lot and I must admit that I don't like it
    at all. Either use all lower case, use a lisp with modern mode.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]