Hi,

> The error on 4.9.0rc1 is likely due to 0a52536, which made `assoc`,
> `member` et al. signal errors when their second arguments aren't lists
> instead of just returning #f (or the sentinel value). This is new
> behavior since 4.7.0, and IIRC there were a couple of places in CHICKEN
> itself that required updating after this change too, since they were
> also relying on these cases returning #f.
> 
> Anyway, when passed `eqv?` as a comparator *before* importing numbers,
> `alist-ref` uses CHICKEN's built-in `assq` for the search, including
> this new behavior. *After* importing numbers, however, you're really
> passing the numbers extension's version of `eqv?`, which `alist-ref`
> doesn't take as a signal to use the built-in `assq` and instead falls
> back to a search function that matches the pre-0a52536 (i.e. 4.7.0)
> behavior and returns #f/the sentinel value.

Thanks for the detailed reply Evan! :-)

Of course, my code is wrong but it was the inconsistent behaviour with
and without numbers that I was worried about. I shall change my code to
be correct.

This should mean that I will be able to use 4.9.0rc1 to build working
binaries for Knodium that I will deploy at https://www.knodium.com/

Are the CHICKEN web services currently built with 4.9.0rc1?


> @ -hackers: I think `alist-ref`'s fallback search function should match
> the behavior of core's versions. Objections?

I agree.
Thanks for the patch Peter.





Regards,
@ndy

-- 
[email protected]
http://www.ashurst.eu.org/
0x7EBA75FF


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

Reply via email to