I think we have discussed this before in the mailing list. EQL uses EQL for type checking and two constants need not be EQL. For instance, two bitvectors which are EQUAL are not EQL because they are read at different times<div>

<br></div><div><div>$ ecl -norc</div><div>ECL (Embeddable Common-Lisp) 11.1.1 (git:d4f3d0d3307e73e9034d0348777dbabc8798534b)</div><div>Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya</div><div>Copyright (C) 1993 Giuseppe Attardi</div>

<div>Copyright (C) 2000 Juan J. Garcia-Ripoll</div><div>ECL is free software, and you are welcome to redistribute it</div><div>under certain conditions; see file 'Copyright' for details.</div><div>Type :h for Help.  </div>

<div>Top level in: #<process TOP-LEVEL>.</div><div>> (eql #*1 #*1)</div><div><br></div><div>NIL</div><div>> (typep #*1 '(eql #*1))</div><div><br></div><div>NIL</div><div>> </div><div>$ sblc</div><div>bash: sblc: command not found</div>

<div>$ sbcl</div><div>This is SBCL 1.0.53, an implementation of ANSI Common Lisp.</div><div>More information about SBCL is available at <<a href="http://www.sbcl.org/">http://www.sbcl.org/</a>>.</div><div><br></div>

<div>SBCL is free software, provided as is, with absolutely no warranty.</div><div>It is mostly in the public domain; some portions are provided under</div><div>BSD-style licenses.  See the CREDITS and COPYING files in the</div>

<div>distribution for more information.</div><div>* (eql #*1 #*1)</div><div><br></div><div>NIL</div><div>* (typep #*1 '(eql #*1))</div><div><br></div><div>NIL</div><div><br></div><br><div class="gmail_quote">On Sun, Dec 18, 2011 at 6:19 PM, Eric Marsden <span dir="ltr"><<a href="mailto:eric.marsden@free.fr">eric.marsden@free.fr</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
A bug in type checking.<br>
<br>
,----<br>
| ECL (Embeddable Common-Lisp) 11.1.1 (git:e786001fd99e2713feacf53484c4350442f8552a)<br>
| > (defun foo (a)<br>
|     (declare (type (eql #*1) a))<br>
|     a)<br>
| FOO<br>
| > (compile 'foo)<br>
| ;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=0<br>
| ;;;<br>
| ;;; End of Pass 1.<br>
| FOO<br>
| NIL<br>
| NIL<br>
| > (foo #*1)<br>
| Condition of type: TYPE-ERROR<br>
| #*1 is not of type (EQL #*1).<br>
`----<br>
<br>
--<br>
Eric Marsden<br>
<br>
<br>
------------------------------------------------------------------------------<br>
Learn Windows Azure Live!  Tuesday, Dec 13, 2011<br>
Microsoft is holding a special Learn Windows Azure training event for<br>
developers. It will provide a great way to learn Windows Azure and what it<br>
provides. You can attend the event by watching it streamed LIVE online.<br>
Learn more at <a href="http://p.sf.net/sfu/ms-windowsazure" target="_blank">http://p.sf.net/sfu/ms-windowsazure</a><br>
_______________________________________________<br>
Ecls-list mailing list<br>
<a href="mailto:Ecls-list@lists.sourceforge.net">Ecls-list@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/ecls-list" target="_blank">https://lists.sourceforge.net/lists/listinfo/ecls-list</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>


</div>