diff options
| author | 2026-03-09 11:00:05 -0400 | |
|---|---|---|
| committer | 2026-03-09 11:00:05 -0400 | |
| commit | ad7fa1d830027504a4abdaddb62a21bbb92da4a4 (patch) | |
| tree | c410c4810391a943e83717a75bb19a9d53586bef /README.md | |
| parent | fix new lazy implementation (diff) | |
reorganize tests, use dead-simple test harness
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -37,7 +37,8 @@ or explicitly using `seq`. This allows for the call-by-value semantics of Scheme to be turned into call-by-need semantics without any syntactic cruft. -HaScheme should run in any implemention of the R⁷RS. +HaScheme should run in any implemention of the R⁷RS that supports the +[SRFI 259][SRFI-259]. It does not use `(scheme lazy)`. Why use this? @@ -52,6 +53,8 @@ See also [Lazy Racket][LazyRacket]. HaScheme is licensed under the 0BSD license. +HaScheme is tested to work in CHICKEN 6.0.0 latest master. + ## Restrictions and Implementation Notes 1. No `call/cc`. [Explanation](#multiple-values-and-continuations) @@ -232,7 +235,8 @@ the code should look natural. Instead, this library uses [SRFI 259][SRFI-259] tagged procedures to wrap promises. This allows for arbitrary higher-order procedures expressed -in a natural way. +in a natural way. The R7RS `delay`/`delay-force`/`force` expressions +are re-implemented using the tagged procedures. Each `lambda` creates a procedure object that can be called with an arbitrary number of arguments to create another procedure. Procedure |
