From 7256027b9f455f68a6a370014d45af0a11530bbb Mon Sep 17 00:00:00 2001 From: retropikzel Date: Thu, 2 Jan 2025 19:10:18 +0200 Subject: [PATCH] Updat documentation --- README.md | 4 +- docs/index.md | 108 -------------------------------------------------- 2 files changed, 2 insertions(+), 110 deletions(-) diff --git a/README.md b/README.md index 8710f4b..4470939 100644 --- a/README.md +++ b/README.md @@ -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) diff --git a/docs/index.md b/docs/index.md index 2a5e4a2..b57e90c 100644 --- a/docs/index.md +++ b/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