diff options
Diffstat (limited to 'qklib')
| -rw-r--r-- | qklib/infix.scm | 8 | 
1 files changed, 3 insertions, 5 deletions
diff --git a/qklib/infix.scm b/qklib/infix.scm index cdeb8e5..4715a3a 100644 --- a/qklib/infix.scm +++ b/qklib/infix.scm @@ -24,7 +24,7 @@            current-operator-mapping)    (import (scheme base)            (scheme case-lambda) -          (only (srfi 1) fold break! reverse!) +          (only (srfi 1) car+cdr fold break! reverse!)            (only (srfi 26) cut)            (only (srfi 128) make-default-comparator)            (only (srfi 146) mapping-unfold mapping-adjoin mapping-ref/default)) @@ -88,12 +88,10 @@                 (if (operator-left? op)                     (let ((rev-expr (reverse! expr)))                       (let-values (((rev-lst op+rev-rest) (break! (cut operator=? op <>) rev-expr))) -                       (let ((op (car op+rev-rest)) -                             (rev-rest (cdr op+rev-rest))) +                       (let-values (((op rev-rest) (car+cdr op+rev-rest)))                           (list (operator-symbol op) (->prefix (reverse! rev-rest)) (->prefix (reverse! rev-lst))))))                     (let-values (((lst op+rest) (break! (cut operator=? op <>) expr))) -                     (let ((op (car op+rest)) -                           (rest (cdr op+rest))) +                     (let-values (((op rest) (car+cdr op+rest)))                         (list (operator-symbol op) (->prefix lst) (->prefix rest))))))                ((single? expr) (car expr))                (else expr))))  | 
