aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Peter McGoron 2025-11-02 15:13:46 -0500
committerGravatar Peter McGoron 2025-11-02 15:13:46 -0500
commit45fc9ba802ad3b393116f52fb10172f61c2d2c81 (patch)
treeb99b159e7e2a4f7f3a4d460018af6221d0db9345
parentadd gauche (diff)
fix chicken build, support STKLOS
-rw-r--r--README.md5
-rw-r--r--cuprate.egg2
-rw-r--r--lib/cuprate.sld10
-rw-r--r--tests/impl.scm5
-rwxr-xr-xtests/skint.sh3
5 files changed, 18 insertions, 7 deletions
diff --git a/README.md b/README.md
index 80b9187..cc88f03 100644
--- a/README.md
+++ b/README.md
@@ -220,3 +220,8 @@ I tried but there were some issues with loading sublibraries.
You will need `srfi-225`. I had to explicitly remove some of the conditional
exports from the reference implementation of SRFI 225 in order to get it
to work.
+
+### SKINT
+
+Tested to work on SKINT 0.6.7, with SRFIs. SKINT bundles SRFI-225, so all
+you need to do is point SKINT to `lib` to use `cuprate`.
diff --git a/cuprate.egg b/cuprate.egg
index 8c78f40..cd3a4f1 100644
--- a/cuprate.egg
+++ b/cuprate.egg
@@ -6,7 +6,7 @@
(dependencies "r7rs" "srfi-128" "srfi-146" "srfi-225")
(components (extension cuprate
(source "lib/cuprate.sld")
- (source-dependencies "lib/cuprate.scm" "lib/cuprate.simple-define-test-application.scm")
+ (source-dependencies "lib/cuprate-impl.scm" "lib/cuprate.simple-define-test-application.scm")
(component-dependencies cuprate.rewriters)
(csc-options "-R" "r7rs" "-X" "r7rs"))
(extension cuprate.rewriters
diff --git a/lib/cuprate.sld b/lib/cuprate.sld
index 4123074..91df5ff 100644
--- a/lib/cuprate.sld
+++ b/lib/cuprate.sld
@@ -54,11 +54,11 @@
(newline)))))
;; Better containers for the test info than alists, if available.
(cond-expand
- (chicken (import (srfi 128) (srfi 146 hash))
- (begin
- (define default-test-dto hash-mapping-dto)
- (define (alist->default-dictionary x)
- (alist->hashmap (make-default-comparator) x))))
+ ((or chicken skint) (import (srfi 128) (srfi 146 hash))
+ (begin
+ (define default-test-dto hash-mapping-dto)
+ (define (alist->default-dictionary x)
+ (alist->hashmap (make-default-comparator) x))))
(else (begin
(define default-test-dto eqv-alist-dto)
(define (alist->default-dictionary x) x))))
diff --git a/tests/impl.scm b/tests/impl.scm
index 6e15c11..0047e34 100644
--- a/tests/impl.scm
+++ b/tests/impl.scm
@@ -404,6 +404,9 @@
(test-group "expect-to-fail"
(expect-to-fail
(test-body "1 = 2" (eqv? 1 2))
- (test-body "type error" (car '()))))
+ (cond-expand
+ ;; SKINT will actually raise a noncatchable error here!
+ ((not skint) (test-body "type error" (car '())))
+ (else #f))))
(test-exit)
diff --git a/tests/skint.sh b/tests/skint.sh
new file mode 100755
index 0000000..eff5d86
--- /dev/null
+++ b/tests/skint.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+skint -A "../lib" run.scm