Updated readme
This commit is contained in:
parent
af1d808ea5
commit
66b68e6a23
76
README.md
76
README.md
|
|
@ -8,9 +8,9 @@ For bugs you can use the
|
||||||
- [Sagittarius](https://bitbucket.org/ktakashi/sagittarius-scheme/wiki/Home)
|
- [Sagittarius](https://bitbucket.org/ktakashi/sagittarius-scheme/wiki/Home)
|
||||||
- [Guile](https://www.gnu.org/software/guile/)
|
- [Guile](https://www.gnu.org/software/guile/)
|
||||||
- [Kawa](https://www.gnu.org/software/kawa/index.html)
|
- [Kawa](https://www.gnu.org/software/kawa/index.html)
|
||||||
- Needs atleast java 21
|
- Needs atleast java 21
|
||||||
- Needs jvm flags
|
- Needs jvm flags
|
||||||
- java --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 --enable-preview -jar kawa.jar FILENAME.scm
|
- java --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 --enable-preview -jar kawa.jar FILENAME.scm
|
||||||
- [Racket](https://racket-lang.org/)
|
- [Racket](https://racket-lang.org/)
|
||||||
- [Chicken](https://www.call-cc.org/)
|
- [Chicken](https://www.call-cc.org/)
|
||||||
|
|
||||||
|
|
@ -23,19 +23,19 @@ For bugs you can use the
|
||||||
## Support waiting for the implementation
|
## Support waiting for the implementation
|
||||||
|
|
||||||
- [LIPS](https://lips.js.org/)
|
- [LIPS](https://lips.js.org/)
|
||||||
- Waiting for implementation to have cond-expand and library support
|
- Waiting for implementation to have cond-expand and library support
|
||||||
- Will only work on nodejs
|
- Will only work on nodejs
|
||||||
|
|
||||||
## Not supported
|
## Not supported
|
||||||
|
|
||||||
- [Chibi](https://synthcode.com/scheme/chibi)
|
- [Chibi](https://synthcode.com/scheme/chibi)
|
||||||
- FFI requires C code
|
- FFI requires C code
|
||||||
- [MIT-Scheme](https://www.gnu.org/software/mit-scheme/)
|
- [MIT-Scheme](https://www.gnu.org/software/mit-scheme/)
|
||||||
- FF requires C code
|
- FF requires C code
|
||||||
- [tr7](https://gitlab.com/jobol/tr7)
|
- [tr7](https://gitlab.com/jobol/tr7)
|
||||||
- FFI requires C code
|
- FFI requires C code
|
||||||
- [Gauche](https://practical-scheme.net/gauche/)
|
- [Gauche](https://practical-scheme.net/gauche/)
|
||||||
- FFI requires C code
|
- FFI requires C code
|
||||||
|
|
||||||
|
|
||||||
## Hacking
|
## Hacking
|
||||||
|
|
@ -46,7 +46,35 @@ main.sld is the real main which is copied to main.scm
|
||||||
|
|
||||||
On some implementations these are procedures, on some macros.
|
On some implementations these are procedures, on some macros.
|
||||||
|
|
||||||
### pffi-shared-object-auto-load
|
### Types
|
||||||
|
|
||||||
|
Types are given as symbols, for example 'int8 or 'pointer.
|
||||||
|
|
||||||
|
- int8
|
||||||
|
- uint8
|
||||||
|
- int16
|
||||||
|
- uint16
|
||||||
|
- int32
|
||||||
|
- uint32
|
||||||
|
- int64
|
||||||
|
- uint64
|
||||||
|
- char
|
||||||
|
- unsigned-char
|
||||||
|
- short
|
||||||
|
- unsigned-short
|
||||||
|
- int
|
||||||
|
- unsigned-int
|
||||||
|
- long
|
||||||
|
- unsigned-long
|
||||||
|
- float
|
||||||
|
- double
|
||||||
|
- string
|
||||||
|
- pointer
|
||||||
|
|
||||||
|
|
||||||
|
### Procedures or macros
|
||||||
|
|
||||||
|
#### pffi-shared-object-auto-load
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
|
|
||||||
|
|
@ -55,25 +83,37 @@ Arguments:
|
||||||
- addition-paths (list (string)...)
|
- addition-paths (list (string)...)
|
||||||
- Any additional paths you want to search for the library
|
- Any additional paths you want to search for the library
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
|
|
||||||
- (object) Shared object, the type depends on the implementation
|
- (object) Shared object, the type depends on the implementation
|
||||||
|
|
||||||
### pffi-shared-object-load
|
#### pffi-shared-object-load
|
||||||
|
|
||||||
It is recommended to use the pffi-shared-object-auto-load instead of this
|
It is recommended to use the pffi-shared-object-auto-load instead of this
|
||||||
directly.
|
directly.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
|
|
||||||
- headers (list (string) ...) Headers that need to be included
|
- headers (list (string) ...) Headers that need to be included
|
||||||
- Example (list "curl/curl.h")
|
- Example (list "curl/curl.h")
|
||||||
- path (string) The full path to the shared object you want to load, including any "lib" infront and .so/.dll at the end
|
- path (string) The full path to the shared object you want to load, including any "lib" infront and .so/.dll at the end
|
||||||
- Example "libcurl.so"
|
- Example "libcurl.so"
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
|
|
||||||
- (object) Shared object, the type depends on the implementation
|
- (object) Shared object, the type depends on the implementation
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### pffi-define
|
||||||
|
|
||||||
|
Defines new foreign procedure.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
- scheme-name () The name of the procedure used on scheme side
|
||||||
|
- shared-object (object) The shared object
|
||||||
|
- Use pffi-shared-object-auto-load and pffi-shared-object-load to get this
|
||||||
|
- c-name (symbol) The name of the C function
|
||||||
|
- return-type (symbol) The return type of the C function
|
||||||
|
- arguments-types (list (symbol) ...) The C function argument types
|
||||||
|
|
|
||||||
|
|
@ -106,8 +106,6 @@
|
||||||
uint32
|
uint32
|
||||||
int64
|
int64
|
||||||
uint64
|
uint64
|
||||||
intptr
|
|
||||||
uintptr
|
|
||||||
char
|
char
|
||||||
unsigned-char
|
unsigned-char
|
||||||
short
|
short
|
||||||
|
|
@ -118,6 +116,7 @@
|
||||||
unsigned-long
|
unsigned-long
|
||||||
float
|
float
|
||||||
double
|
double
|
||||||
|
string
|
||||||
pointer))
|
pointer))
|
||||||
|
|
||||||
(define string-split
|
(define string-split
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue