Hi! Noah Lavine <noah.b.lav...@gmail.com> skribis:
> In general, I do think there should at least be an option for having full > error-checking in the VM. It would have been much, much harder for me to > find this without having patched the VM, because it would have taken me a > very long time to try each new thing I tried, because I would have had to > restart Guile. I am happy for it not to be on the regular code-path, > though. I also realize that writing a compiler is an unusual application, > so maybe it should even be a compile-time option for users who prefer their > Guile slow. How does that sound? The VM does full error checking. But there’s a difference between checking whether an object has the expected type, and checking whether an object is a well-formed ‘SCM’ object (and NULL is not a valid ‘SCM’ object.) Guile never does the latter, and as a rule of thumb I would keep things this way. The brave hacker working on a compiler can easily figure out what how to debug all sorts of crazy things. :-) So I’m closing it for now. Thanks, Ludo’. PS: It’s still unclear to me how you ended up forging an invalid SCM object. I think you either have to generate invalid bytecode, or to use (pointer->scm %null-pointer), or variants thereof.