I was looking at porting comparse. Attached are a couple of trivial patches to 
port comparse dependencies trie and lazy-seq to CHICKEN 6.


Diego
From b6ad62859bf911265a1d5f7af6e0036831df0b86 Mon Sep 17 00:00:00 2001
From: "Diego A. Mundo" <[email protected]>
Date: Tue, 13 Jan 2026 23:31:16 -0500
Subject: [PATCH] Port to CHICKEN 6

---
 tests/run.scm | 6 +++++-
 trie.scm      | 2 +-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/tests/run.scm b/tests/run.scm
index fbd4f86..cd667b8 100644
--- a/tests/run.scm
+++ b/tests/run.scm
@@ -1,10 +1,12 @@
 (cond-expand
   (chicken-4 (use test))
-  (chicken-5 (import (chicken load) test)))
+  ((or chicken-6 chicken-5) (import (chicken load) test)))
 
 (load-relative "../trie.scm")
 (import trie)
 
+(test-begin)
+
 (define trie
   (make-trie))
 
@@ -21,4 +23,6 @@ (define trie
 (test 'bar (trie-ref trie (string->list "heyo")))
 (test 'baz (trie-ref trie (string->list "hex")))
 
+(test-end)
+
 (test-exit)
diff --git a/trie.scm b/trie.scm
index bf89d56..f7a8ead 100644
--- a/trie.scm
+++ b/trie.scm
@@ -14,7 +14,7 @@ (module trie
   (chicken-4
     (import chicken)
     (use srfi-1 data-structures))
-  (chicken-5
+  ((or chicken-6 chicken-5)
     (import (chicken base) srfi-1)))
 
 (define-record trie children value)
-- 
2.52.0

From e43f8d71116b1c6272e0899b9d5d3fc8b4c4310d Mon Sep 17 00:00:00 2001
From: "Diego A. Mundo" <[email protected]>
Date: Tue, 13 Jan 2026 23:25:41 -0500
Subject: [PATCH] Port to CHICKEN 6

---
 lazy-seq.scm  | 37 +++++++++++++++++++++----------------
 tests/run.scm | 11 ++++++++++-
 2 files changed, 31 insertions(+), 17 deletions(-)

diff --git a/lazy-seq.scm b/lazy-seq.scm
index f39614b..300f717 100644
--- a/lazy-seq.scm
+++ b/lazy-seq.scm
@@ -42,7 +42,11 @@ (module lazy-seq
     (import chicken)
     (use srfi-1 extras))
   (chicken-5
-    (import (chicken base) srfi-1)))
+    (import (chicken base) srfi-1))
+  (chicken-6
+    (import (chicken base)
+            srfi-1
+            (scheme case-lambda))))
 
 (define-record lazy-seq
   body value)
@@ -59,21 +63,22 @@ (define-syntax lazy-seq
      (make-lazy-seq
       (lambda () body ...)))))
 
-(define-record-printer (lazy-seq seq out)
-  (display "#<lazy-" out)
-  (if (lazy-null? seq)
-      (display "null>" out)
-      (begin
-        (display "seq" out)
-        (let loop ((seq seq))
-          (if (lazy-seq-realized? seq)
-              (if (lazy-null? seq)
-                  (display ">" out)
-                  (begin
-                    (display " " out)
-                    (write (lazy-head seq) out)
-                    (loop (lazy-tail seq))))
-              (display " ...>" out))))))
+(set-record-printer! lazy-seq
+  (lambda (seq out)
+    (display "#<lazy-" out)
+    (if (lazy-null? seq)
+        (display "null>" out)
+        (begin
+          (display "seq" out)
+          (let loop ((seq seq))
+            (if (lazy-seq-realized? seq)
+                (if (lazy-null? seq)
+                    (display ">" out)
+                    (begin
+                      (display " " out)
+                      (write (lazy-head seq) out)
+                      (loop (lazy-tail seq))))
+                (display " ...>" out)))))))
 
 (define (lazy-seq-realized? seq)
   (not (lazy-seq-body seq)))
diff --git a/tests/run.scm b/tests/run.scm
index 11058b5..f4c5603 100644
--- a/tests/run.scm
+++ b/tests/run.scm
@@ -1,10 +1,17 @@
 (cond-expand
   (chicken-4 (use test))
-  (chicken-5 (import (chicken load) srfi-1 test)))
+  (chicken-5 (import (chicken load) srfi-1 test))
+  (chicken-6
+   (import (chicken load)
+           srfi-1
+           test
+           (scheme base))))
 
 (load-relative "../lazy-seq")
 (import lazy-seq)
 
+(test-begin)
+
 (test-group "custom lazy-seq"
   (define calls 0)
 
@@ -210,4 +217,6 @@ (define (realized-prefix seq)
     (test '(0 1 2 3 4) (realized-prefix r))
     (test '(0 1 2 3 4) (realized-prefix q))))
 
+(test-end)
+
 (test-exit)
-- 
2.52.0

Reply via email to