Subject: Re: How can i make "case" to use equal?
From: Erik Naggum <erik@naggum.net>
Date: Thu, 06 Sep 2001 18:32:43 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3208789962759722@naggum.net>

* Sam Steingold <sds@gnu.org>
> (defun case-expand (form-name test keyform clauses)
>   ...)
> 
> (defmacro fcase (test keyform &body clauses)
>   (case-expand 'fcase test keyform clauses))

  Neat, but one of the really good things about case and the like is that
  they can be optimized into jump tables and the like since the keys are
  all constants at compile-time.  Expanding into cond is not a good idea if
  you want to keep this.  In fact, using a hash table for the keys allows
  you to convert the keys into small integers.

///