Subject: Re: data hygiene [Re: Why is Scheme not a Lisp?] From: Erik Naggum <erik@naggum.net> Date: Tue, 26 Mar 2002 00:19:27 GMT Newsgroups: comp.lang.lisp Message-ID: <3226090781415284@naggum.net> * Kent M Pitman <pitman@world.std.com> | The problem is probably less that it's not doing an optimization and more | that both the default optimize settings vary among implementations, and | also that the _meanings_ of the optimize settings are not standard... The code I compiled looked like this: (in-package :cl-user) (declaim (optimize (safety 0) (speed 3))) (defun plist-get-expand (plist key) (tagbody loop (cond ((eq plist nil) (go end)) ((eq key (car plist)) (go end))) (setq plist (cddr plist)) (go loop) end)) The declaim caused all other implementations to compile to the fastest inline code they could. LispWorks still makes calls to cddr-1arg. | I'm a little leary of using trial editions as proof of what a commercial | implementation is capable of, btw. Well, I think that if anyone purposefully crippled the compiler in the trial edition, they would seriously have hurt their possibility of getting new customers. /// -- In a fight against something, the fight has value, victory has none. In a fight for something, the fight is a loss, victory merely relief.