On Tue, Oct 09, 2012 at 05:07:48AM -0400, Felix wrote:
> The attached patch provides a more efficient implementation of low-level
> block accessors ("##sys#block-ref"/"##sys#block-set!", usually needed 
> for record-structures, and "matchable". These primitives are safe (in
> contrast to "##sys#slot"/"##sys#setslot"), in that they handle invalid
> slot-indices. The new C-level equivalents "C_i_fast_block_ref" and
> "C_i_fast_block_set" are defined in chicken.h as inline functions.

Unless I'm mistaken, this changes the semantics of block-ref by returning
(void) rather than raising an error.  That doesn't seem particularly safe
to me, and may lead to deferred errors which will be harder to debug.
Why does this behavior need to be changed?

Cheers,
Peter
-- 
http://sjamaan.ath.cx
--
"The process of preparing programs for a digital computer
 is especially attractive, not only because it can be economically
 and scientifically rewarding, but also because it can be an aesthetic
 experience much like composing poetry or music."
                                                        -- Donald Knuth

_______________________________________________
Chicken-hackers mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to