diff options
| author | 2025-11-03 18:09:22 -0500 | |
|---|---|---|
| committer | 2025-11-03 18:09:22 -0500 | |
| commit | 0400627ff280d52e19b45cb878218a9ac2f52e2d (patch) | |
| tree | c73b212c877d82e111410cac2e7cb46add03a25d /README.md | |
| parent | update (diff) | |
TR7
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 52 |
1 files changed, 39 insertions, 13 deletions
@@ -8,8 +8,13 @@ to not affect the rest of the test system. TODO: excise all conditional inclusion by turning them into library forms. This will pave the way for porting to R6RS. -Cuprate supports CHICKEN-5, Foment, Chibi, SKINT, Gauche, and Sagittarius. -TR7, STKLOS, Mosh, Chez, Guile, Racket, and Loko support soon. +implementation-specific things (sans `define-test-application`, which is +a hack) are put into implementation libraries that export all relevant +identifiers. Rewriters take a first argument that is the rewritng closure, +that can do cycle detection. + +Cuprate supports TR7, CHICKEN-5, Foment, Chibi, SKINT, Gauche, and +Sagittarius. STKLOS, Mosh, Chez, Guile, Racket, and Loko support soon. ## API @@ -197,35 +202,56 @@ to rewrite it in a low-level macro system. (If your implementation does not offer a low-level macro system, then bug the maintainer of your implementation to fix hygiene in their macro expander.) +This library requires SRFI-225. In the `compat` directory there is a +partial implementation of SRFI-225 that only works with alists, called +`micro-srfi-225`, that only requires base R6RS/R7RS. You can use this if +all you need is to run the tests. + ## Instructions Per Implementation -### CHICKEN +### CHICKEN-5 -Just run `chicken-install cuprate`. Because of a bug with compiled -syntax-rules patterns, `define-test-application` has limited support. +There is an SRFI-225 port for CHICKEN-5, so just run `chicken-install +cuprate`. Because of a bug with compiled syntax-rules patterns, +`define-test-application` has limited support. ### Foment -You will need `srfi-225`. The [reference implementation][SRFI-225] will -work out of the box. Test bodies cannot return multiple values. +Tested with the latest checkout as of 2025-11-03. -[SRFI-225]: https://github.com/scheme-requests-for-implementation/srfi-225 +The reference implementation SRFI-225 will work out of the box. Test +bodies cannot return multiple values. Because of a bug with compiled +syntax-rules patterns, `define-test-application` has limited support. ### Chibi -You will need `srfi-225`. +Tested with 0.10. + +The reference implementation of SRFI-225 will work out of the box. ### TR7 -I tried but there were some issues with loading sublibraries. +Tested to work with 2.0.7. + +To use SRFI-225, you will also need SRFI-128. Mini-SRFI-225 will also +work here. + +There is an issue with `call/cc` escaping out of `parameterize`d blocks. +This doesn't affect any of the test cases, but this may break some code. ### Gauche -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. +Tested with 0.9.15. + +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`. + +### STKlos + +STKlos currently does not include files from the directory of the library. +This will probably be fixed in 2.11, but that has not been released yet. |
