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.