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