[Openmcl-devel] *features*: which keyword to use when conditionalizing code for Clozure CL?

Terje Norderhaug terje at in-progress.com
Mon Feb 15 10:16:29 PST 2010


On Feb 15, 2010, at 3:25 AM, Adlai Chandrasekhar wrote:
> On Mon, 15 Feb 2010, R.Stoye wrote:
>> since :opemcl is reserved for the opensource variant of MCL:
>
> Actually, I'm not sure of that -- CCL pushes many *FEATURES* of the  
> form :OPENMCL-FOO.
>
>> is :clozure appropriate or should i use :clozure-common-lisp
>
> I think the latter is the most definitive indicator of CCL. Also,  
> there are specific version indicators:
>
>    ? (remove-if-not (lambda (feature) (search "CCL-" (string  
> feature))) *features*)
>    (:CCL-1.2 :CCL-1.3 :CCL-1.4)
>
> Maybe these should be renamed to :CCL>=1.2, :CCL>=1.3, etc, but  
> these versions are still there.

Features named :CCL-* (with * being a version code) has been used in  
MCL for a long time (due to its shared origins as Coral CL) so using  
the same in Clozure CL creates mess for code that uses conditional  
reader macros to be compatible for both lisp implementations. It  
would be better if Clozure CL had its own short yet distinctive  
implementation version feature prefix. I favor using :CLZ as promoted  
by Peter Paine:

On Jan 26, 2010, at 1:18 PM, peter wrote:
> CLZ is the colloquial name for Clozure Common Lisp (aka "Clozure CL",
> "CCL", "OpenMCL", ...).
> Not ambiguous, or a directory, or a common package name. Not
> overlapping with anything in MCL or any other lisp.  Not including
> whitespace. Simple. Compact. Perfect. Well loved, out in lisp hacker
> land.
>
> It's affectionate, respectful and practical.
> You could try it, it works well. And it's far from hellish. - more  
> heavenly.
>
> PS. Hidden within the meaning is the Open/community nature of
> Clozure's project.

-- Terje Norderhaug
   terje at in-progress.com







More information about the Openmcl-devel mailing list