Update readme

This commit is contained in:
retropikzel 2024-09-22 16:54:59 +03:00
parent 7f996ab03c
commit 6aaf49e450
1 changed files with 28 additions and 24 deletions

View File

@ -17,15 +17,13 @@ or run mkdocs serve or see or docs/ directory.
# Goals
- Support only R7RS implementations
- Needs to have cond-expand and library support atleast (propably much more)
- Support only R7RS implementations (for now)
- Same interface on all implementations
- Some things that are procedures on one implementation are macros on other,
but they must behave the same
# Non goals
- To support all R7RS implementations
- To have every possible FFI feature
- Compiling of C code at any point
- That is no stubs, no C code generated by the library and so on
@ -39,6 +37,8 @@ that each implementation passes those tests. This will be done in tiered order s
## Tier 1
Aiming to support these first
- [Chicken](https://www.call-cc.org/)
- [Guile](https://www.gnu.org/software/guile/)
- [Kawa](https://www.gnu.org/software/kawa/index.html)
@ -51,26 +51,27 @@ that each implementation passes those tests. This will be done in tiered order s
- [Sagittarius](https://bitbucket.org/ktakashi/sagittarius-scheme/wiki/Home)
- [Racket](https://racket-lang.org/)
## Tier 2 - Work in progress
## Tier 2
Work in progress
- [Gambit](https://gambitscheme.org)
- Propably able to support everything but so annoying to deal with that it's currently in tier 2
- Still needs work
- [STKlos](https://stklos.net/)
- No callback support
- Still needs work
- [Cyclone](https://justinethier.github.io/cyclone/)
- No callback support
- Still needs work
## Tier 3
In queue
- [LIPS](https://lips.js.org/)
- Waiting for implementation to have cond-expand and library support
- Will only work on nodejs
- Will work on nodejs by using some Javascript FFI
- Javascript side needs design
- [Biwascheme](https://www.biwascheme.org/)
- Waiting for implementation to have cond-expand and library support
- Will only work on nodejs
- Will work on nodejs by using some Javascript FFI
- Javascript side needs design
## Tier 4
@ -81,19 +82,11 @@ Support needs to be investigated.
- [Larceny](https://larcenists.org/)
- [Mosh](https://mosh.monaos.org)
- [Skint](https://github.com/false-schemers/skint)
- [s7](https://scheme.fail://ccrma.stanford.edu/software/snd/snd/s7.html)
## Tier 5
Support maybe possible/dreaming about.
- [Airship](https://gitlab.com/mbabich/airship-scheme)
- [Other gambit targets](https://gambitscheme.org/)
- Gambit compiles to different targets other than C too, for example Javascript. It would be cool
and interesting to see if this FFI could also support some of those
## Tier 6
Not supported currently, and may never be.
Support needs investigation and serious design or making dynamic FFI for the implementation
- [Chibi](https://synthcode.com/scheme/chibi)
- FFI requires C code
@ -103,8 +96,19 @@ Not supported currently, and may never be.
- FFI requires C code
- [Gauche](https://practical-scheme.net/gauche/)
- FFI requires C code
- [s7](https://scheme.fail://ccrma.stanford.edu/software/snd/snd/s7.html)
- No library support
- Might have other things missing too
## Tier 6
Support maybe possible/dreaming about.
- [Airship](https://gitlab.com/mbabich/airship-scheme)
- [Other gambit targets](https://gambitscheme.org/)
- Gambit compiles to different targets other than C too, for example Javascript. It would be cool
and interesting to see if this FFI could also support some of those
## Tier 7
Other
- [Loko](https://scheme.fail/)
- Desires no C interop, I can respect that