merits of Lisp vs Python

Alex Mizrahi udodenko at users.sourceforge.net
Fri Dec 8 11:52:15 EST 2006


(message (Hello 'Kay)
(you :wrote  :on '(8 Dec 2006 08:03:18 -0800))
(

 KS> http://www.sbcl.org/manual/Handling-of-Types.html#Handling-of-Types

 KS> If you'd read the docs of the tools you admire you might find the
 KS> answers yourself.

SBCL is a COMPILER that explains everything. it's interesting why 
INTERPRETER like CLISP is faster.
well, it can be type declarations as well, but maybe something other too..

for example, in languages like Python, PHP and JavaScript, as i understand, 
by semantics of the language interpreter MUST use dict to call objects 
method -- at any time it can be changed, for any object instance. i'm not 
sure whether it has to dynamically resolve package's methods doing lookup in 
packages dict.

however, in Common Lisp object methods are dispatched on object types, that 
is a special language entity, so as long as new types are not introduced, 
interpreter can optimize calls how it wants to. the difference is that while 
it's still dynamic, dispatch over types are more controlled/optimizable than 
dispatch using dict.
then, symbols in common-lisp package cannot be changed according to spec, 
thus compiler/interpreter is safe to do optimizations it wants when sees 
that symbols (if we want symbols with same names, we can make other package 
with them).

then, Common Lisp standard defines what inlining is. i bet most 
optimizations in dynamic languages are not possible if inlining is not 
enabled -- since any symbol that is not inlined can change it's meaning in 
any time.

)
(With-best-regards '(Alex Mizrahi) :aka 'killer_storm)
"People who lust for the Feel of keys on their fingertips (c) Inity") 





More information about the Python-list mailing list