Override definition of filter so that compilation using 9.2 works.
authorChris Hanson <org/chris-hanson/cph>
Thu, 19 Apr 2018 04:21:04 +0000 (21:21 -0700)
committerChris Hanson <org/chris-hanson/cph>
Thu, 19 Apr 2018 04:21:04 +0000 (21:21 -0700)
src/runtime/host-adapter.scm

index b4d620370e0cb2e12801cf1a019cf70459891955..73066297d8f7cba864c3dc7b2084153c7a382a80 100644 (file)
@@ -188,6 +188,16 @@ USA.
           (link-variables system-global-environment 'microcode-type
                           env 'microcode-type))))
 
+  (let ((env (->environment '(runtime srfi-1))))
+    (if (let ((items '(-1 -2)))
+         (eq? items (filter negative? items)))
+       (eval '(define (filter pred lis)
+                (let recur ((lis lis))
+                  (cond ((null-list? lis 'filter) lis)
+                        ((pred (car lis)) (cons (car lis) (recur (cdr lis))))
+                        (else (recur (cdr lis))))))
+             env)))
+
   (let ((env (->environment '(runtime syntax))))
     (provide-rename env 'compile-item/expression 'compile-expr-item)
     (if (unbound? env 'expr-item)