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
