Updat documentation
This commit is contained in:
parent
6a04d574bb
commit
7256027b9f
|
|
@ -1,4 +1,4 @@
|
|||
# Portable Foreign Function Interface for R7RS schemes
|
||||
# Portable Foreign Function Interface for R8RS schemes
|
||||
|
||||
Foreign function interface that is supported on multiple R7RS Sceheme implementations.
|
||||
|
||||
|
|
@ -6,7 +6,7 @@ Note that this software is in **alpha** stage. That said the interface should no
|
|||
|
||||
Any help in form of constructive advice and bug reports are appreciated.
|
||||
|
||||
[Documentation](https://retropikzel.neocities.org/r7rs-pffi/) or run mkdocs serve or see docs/.
|
||||
Run mkdocs serve or see docs/.
|
||||
|
||||
[Issue trackers](https://sr.ht/~retropikzel/r7rs-pffi/trackers)
|
||||
|
||||
|
|
|
|||
108
docs/index.md
108
docs/index.md
|
|
@ -1,111 +1,3 @@
|
|||
# Portable Foreign Function Interface for R7RS schemes
|
||||
|
||||
Foreign function interface that is supported on multiple R7RS Sceheme implementations.
|
||||
|
||||
Note that this software is in **alpha** stage. That said the interface should not be changing anymore.
|
||||
|
||||
Any help in form of constructive advice and bug reports are appreciated.
|
||||
|
||||
[Documentation](https://retropikzel.neocities.org/r7rs-pffi/) or run mkdocs serve or see docs/.
|
||||
|
||||
[Issue tracker](https://todo.sr.ht/~retropikzel/r7rs-pffi)
|
||||
|
||||
[Maling lists](https://sr.ht/~retropikzel/r7rs-pffi/lists)
|
||||
|
||||
For documentation see [retropikzel.neocities.org/r7rs-pffi](retropikzel.neocities.org/r7rs-pffi)
|
||||
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)
|
||||
- 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
|
||||
|
||||
# Support tiers
|
||||
|
||||
## Tier 1
|
||||
|
||||
- [Chicken](https://www.call-cc.org/)
|
||||
- Still needs work
|
||||
- [Guile](https://www.gnu.org/software/guile/)
|
||||
- Good support, recommended
|
||||
- [Kawa](https://www.gnu.org/software/kawa/index.html)
|
||||
- Needs at least java version 22
|
||||
- Needs jvm flags:
|
||||
- --add-exports java.base/jdk.internal.foreign.abi=ALL-UNNAMED
|
||||
- --add-exports java.base/jdk.internal.foreign.layout=ALL-UNNAMED
|
||||
- --add-exports java.base/jdk.internal.foreign=ALL-UNNAMED
|
||||
- --enable-native-access=ALL-UNNAMED
|
||||
- Good support (otherwise), recommended
|
||||
- [Sagittarius](https://bitbucket.org/ktakashi/sagittarius-scheme/wiki/Home)
|
||||
- Good support, recommended
|
||||
- [Racket](https://racket-lang.org/)
|
||||
- Good support, recommended
|
||||
- [Gambit](https://gambitscheme.org)
|
||||
- Still needs work
|
||||
|
||||
## Tier 2
|
||||
|
||||
These implementations do not have callback support on their FFI. If I'm wrong please let me know!
|
||||
|
||||
- [STKlos](https://stklos.net/)
|
||||
- Still needs work
|
||||
- [Cyclone](https://justinethier.github.io/cyclone/)
|
||||
- Still needs work
|
||||
|
||||
## Tier 3
|
||||
|
||||
Support waiting for the implementation.
|
||||
|
||||
- [LIPS](https://lips.js.org/)
|
||||
- Waiting for implementation to have cond-expand and library support
|
||||
- Will only work on nodejs
|
||||
- [Biwascheme](https://www.biwascheme.org/)
|
||||
- Waiting for implementation to have cond-expand and library support
|
||||
- Will only work on nodejs
|
||||
|
||||
## Tier 4
|
||||
|
||||
Support needs to be investigated.
|
||||
|
||||
- [Gerbil](https://cons.io/)
|
||||
- [Ypsilon](http://www.littlewingpinball.com/doc/en/ypsilon/)
|
||||
- [Larceny](https://larcenists.org/)
|
||||
- [Mosh](https://mosh.monaos.org)
|
||||
- [Skint](https://github.com/false-schemers/skint)
|
||||
|
||||
## 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.
|
||||
|
||||
- [Chibi](https://synthcode.com/scheme/chibi)
|
||||
- FFI requires C code
|
||||
- [MIT-Scheme](https://www.gnu.org/software/mit-scheme/)
|
||||
- FFI requires C code
|
||||
- [tr7](https://gitlab.com/jobol/tr7)
|
||||
- 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
|
||||
- [Loko](https://scheme.fail/)
|
||||
- Desires no C interop, I can respect that
|
||||
|
|
|
|||
Loading…
Reference in New Issue