diff --git a/src/ikarus.boot b/src/ikarus.boot index 8d3da4e..ce64d48 100644 Binary files a/src/ikarus.boot and b/src/ikarus.boot differ diff --git a/src/ikarus.core.ss b/src/ikarus.core.ss index 73b8df4..8c75daa 100644 --- a/src/ikarus.core.ss +++ b/src/ikarus.core.ss @@ -61,13 +61,6 @@ (primitive-set! x v) (set-top-level-value! x v))) -(primitive-set! '$memq - (lambda (x ls) - (let f ([x x] [ls ls]) - (and (pair? ls) - (if (eq? x (car ls)) - ls - (f x (cdr ls))))))) diff --git a/src/ikarus.lists.ss b/src/ikarus.lists.ss new file mode 100644 index 0000000..37386b1 --- /dev/null +++ b/src/ikarus.lists.ss @@ -0,0 +1,15 @@ + +(library (ikarus lists) + (export $memq) + (import (ikarus)) + + (define $memq + (lambda (x ls) + (let f ([x x] [ls ls]) + (and (pair? ls) + (if (eq? x (car ls)) + ls + (f x (cdr ls))))))) + + ) + diff --git a/src/makefile.ss b/src/makefile.ss index 34d40a0..01ecd57 100755 --- a/src/makefile.ss +++ b/src/makefile.ss @@ -27,6 +27,7 @@ "ikarus.collect.ss" "ikarus.predicates.ss" "ikarus.pairs.ss" + "ikarus.lists.ss" "ikarus.fixnums.ss" "ikarus.chars.ss" "ikarus.records.ss"