4 ms·
From: http://coding.derkeiler.com/Archive/Lisp/comp.lang.lisp/2004-02/2037.html http://coding.derkeiler.com/Archive/Lisp/comp.lang.lisp/2004... "" Here it help
by rw 17y ago
From: http://coding.derkeiler.com/Archive/Lisp/comp.lang.lisp/2004-02/2037.html http://coding.derkeiler.com/Archive/Lisp/comp.lang.lisp/2004...
"" Here it helps that a Lisp-2 seperates variables and functions by default. Variables are usually not important parts of an application's ontology. If they are, the convention in Common Lisp is to use proper naming schemes, like asterisks for special variables. Effectively, this creates a new namespace."
Mmm, asterisks. This, to me, is why the whole Lisp-1/2 debate is moot. The
solution is simply Lisp-N, where you can define namespaces, modules, etc.
and control how they're used. See PLT Scheme etc."
- wingo 17y agoI could be misinterpreting, but I don't think this is an accurate characterization of what a lisp-2 does. Function and value namespaces are separate in CL because functions and values are of different types; also there's the struct, class, etc namespaces. But still in Scheme the aesthetic is to put values of different types in the same namespace -- unless the values don't actually exist at runtime, which is the case with syntactic R6RS records, for example. But you'll still see a conflict at compile time if you attempt to use a name as a record type, then reference it as a free variable -- iirc, anyway.