From 9238bb80e0f4518704b160fe16a04265edc80be4 Mon Sep 17 00:00:00 2001 From: Masaya Tojo Date: Fri, 30 Aug 2024 01:13:59 +0900 Subject: Use car+cdr procedure --- qklib/infix.scm | 8 +++----- 1 file 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)))) -- cgit v1.2.3