small corrections to ilist= ievery and export list
Peter Lane 09 May 2017 20:16 UTC
I've been working on this srfi to use within R7RS Scheme implementations
and found some mistakes/things to improve.
1. ilist= repeats the recently discovered bug in list= of srfi-1.
2. ilist-copy was not exported, although it is in the specification.
3. ievery only traversed one list, because its inner check on its
argument lists used ipair? instead of pair? (This was masked in the
chicken test, as the second list was ignored and the tests became simply
(< 1) (< 2) etc which are all #t.)
4. there were two test cases which threw an error due to being invalid
scheme syntax, not due to the operation of the ilist library, viz:
(test-error (ifind even? (ipair (1 (ipair 3 x))))) ; and following line
note the unbound x and 1 in function position.
I have submitted a pull request with a separate commit for each of these
four. The first three include tests which only pass after the change.
--
Peter Lane
http://peterlane.info/scheme.html