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

Sam Steingold <[email protected]> Thu, 12 Feb 2004 12:59:35 -0500
Newsgroups gmane.lisp.clocc.general
Message-ID <[email protected]>
> * John Foderaro <[email protected]> [2004-02-12 09:38:34 -0800]:
>
>>> did you take a look at CLISP case-sensitive packages?
>
>  I look at that and I see that as a convenience for typing
> in mixed case symbols and not a way to achive a Modern-esque
> Lisp.
>
>  It actually makes things a bit less wysiwyg.
>
> A Modern reponse:
>
> cl-user(1): (mapcar #'symbol-name '(Help me find the car))
> ("help" "me" "find" "the" "car")
>
> An ANSI response:
>
> CL-USER(3): (mapcar #'symbol-name '(Help me find the car))
> ("HELP" "ME" "FIND" "THE" "CAR")
>
> assuming a clisp case-sensitive package as *package*
> I belive the answer would be:
>
> CL-USER(3): (mapcar #'symbol-name '(Help me find the car))
> ("Help" "me" "FIND" "THE" "CAR")

(defpackage "FOO" (:case-sensitive t) (:use "CL"))
(in-package "FOO")

FOO[56]> (MAPCAR #'SYMBOL-NAME '(Help me find the car))

("Help" "me" "find" "the" "car")
FOO[57]> (MAPCAR #'SYMBOL-PACKAGE '(Help me find the car))

(#<PACKAGE FOO> #<PACKAGE FOO> #<PACKAGE FOO> #<PACKAGE FOO> #<PACKAGE FOO>)
FOO[58]> (MAPCAR #'SYMBOL-NAME '(Help me FIND the car))

("Help" "me" "FIND" "the" "car")
FOO[60]> (MAPCAR #'SYMBOL-PACKAGE '(Help me FIND the car))

(#<PACKAGE FOO> #<PACKAGE FOO> #<PACKAGE COMMON-LISP> #<PACKAGE FOO>
 #<PACKAGE FOO>)

you can also use cl:mapcar instead of MAPCAR.

> Thus while the Modern mode is wysiwyg, the ANSI version isn't
> wysiwyg but is at least predicable (everything's uppercase), the 
> Clisp version is neither wysiwyg nor is there an easy rule
> to predict the outcome.
>
> Obviously this only matters if wysiwyg is something you care
> about.  I care about it but I know that it's not as important
> to others.

I am not sure if wysiwyg matters.
CLISP uses case-sensitive package for FFI-based modules where
case-sensitivity of C has to map into CLISP.
see, e.g., clisp/modules/bindings/glibc/linux.lisp.


-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
Those who don't know lisp are destined to reinvent it, poorly.


-------------------------------------------------------
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