Re: compute-system-path needs a call to string to accept keywords for module-name.

Marco Antoniotti <[email protected]> Thu, 12 Feb 2004 10:29:56 -0500
Newsgroups gmane.lisp.clocc.general
Message-ID <[email protected]>
On Wednesday, Feb 11, 2004, at 23:55 America/New_York, John Foderaro 
wrote:

>
> I hate to harp on this but I have to see a full proposal or else
> I'll ask simple questions like this:

Harping is good.  I do that all the time :)



>
> What is the symbol-name of the symbol common-lisp:car ?
>
> Is it
>     a. "car"
>     b. "CAR"
>     c. a or b  depending on *print-case*
>     d. a or b  depending on *package-symbol-name-case*
>     e. none of the above

You can have it both ways, (a) or (b)

	(symbol-name 'cl:car) ==> "CAR"

or

	(symbol-name 'cl:car) ==> "car"

What you want is

	(find-symbol "cAr") ==> #S(SYMBOL :NAME <"CAR" or "car" or "Car" or 
... > :package "CL")

I see you problem, which I missed in my previous response, with the 
'(Help me get a car), but I still think that my proposal would have had 
less back-portability problems than your modern mode.  My proposal is 
not perfect, but it gets you the control you want when dealing with 
*new* code over which you want control.

In the case of

	'(Help me get a car)

the printer would print (most likely)

	(Help me get a car)

with all CL symbols already downcase, or

	(Help me GET a CAR)

with the package symbol-case-name (note: no dynamic 
*package-symbol-name-case* available) set to the :PRESERVE and 
*PRINT-CASE* set to :PRESERVE, and symbols in CL being uppercase.

	(help me get a car)

with *PRINT-CASE* set to :DOWNCASE.

So, you see, the key is how you want your CL package to look.  With my 
proposal you can have symbols in CL lower case and get things as you 
expect.  You cannot solve all problems, but I am still convinced I was 
on the right track to patch things up.

... and I still am wondering what were you guys thinking while writing 
the standard (you were there, weren't you?) :)

Cheers

marco

--
Marco Antoniotti					http://bioinformatics.nyu.edu
NYU Courant Bioinformatics Group		tel. +1 - 212 - 998 3488
715 Broadway 10th FL				fax. +1 - 212 - 998 3484
New York, NY, 10003, U.S.A.



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click