[armedbear-devel] BUG: problem with THE type checks in compiler

Erik Huelsmann ehuels at gmail.com
Fri Aug 28 10:55:47 UTC 2009


Hi Mark,

Thanks for looking into the issue.

On Thu, Aug 27, 2009 at 11:38 AM, Mark Evenson<evenson at panix.com> wrote:
> On 8/27/09 8:09 AM, Mark Evenson wrote:
>
> Tentatively fixed in [svn 12119][1].

> I'm leaving ticket#61 open until
>
> 1) Erik looks at the patch

I did so now (i'm off today). I must say that I intentionally did not
use TYPEP because of 2 reasons:

1. It's not quite clear when it becomes available to the interpreter
   while I wanted type validation from the start
2. It will expand all types, but some Lisp types take a lot of time to verify
  So, I choose the same policy as the compiler under *safety* settings
lower than 3

> 2) We decide whether we shouldn't add a call to the Lisp-side TYPEP at
> the end of LispObject.typep()

That would create a recursive dependency: TYPEP uses typep() to verify
the simpler types.

I committed r12124 as a proposed solution: it detects when a symbol
specifies a DEFTYPE-d type and punts on the expansion and type
verification if it is.

What's your comment?


Bye,

Erik.




More information about the armedbear-devel mailing list