Updated readme
This commit is contained in:
parent
af1d808ea5
commit
66b68e6a23
80
README.md
80
README.md
|
|
@ -8,9 +8,9 @@ For bugs you can use the
|
|||
- [Sagittarius](https://bitbucket.org/ktakashi/sagittarius-scheme/wiki/Home)
|
||||
- [Guile](https://www.gnu.org/software/guile/)
|
||||
- [Kawa](https://www.gnu.org/software/kawa/index.html)
|
||||
- Needs atleast java 21
|
||||
- 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
|
||||
- Needs atleast java 21
|
||||
- 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
|
||||
- [Racket](https://racket-lang.org/)
|
||||
- [Chicken](https://www.call-cc.org/)
|
||||
|
||||
|
|
@ -23,19 +23,19 @@ For bugs you can use the
|
|||
## 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
|
||||
- Waiting for implementation to have cond-expand and library support
|
||||
- Will only work on nodejs
|
||||
|
||||
## Not supported
|
||||
|
||||
- [Chibi](https://synthcode.com/scheme/chibi)
|
||||
- FFI requires C code
|
||||
- FFI requires C code
|
||||
- [MIT-Scheme](https://www.gnu.org/software/mit-scheme/)
|
||||
- FF requires C code
|
||||
- FF requires C code
|
||||
- [tr7](https://gitlab.com/jobol/tr7)
|
||||
- FFI requires C code
|
||||
- FFI requires C code
|
||||
- [Gauche](https://practical-scheme.net/gauche/)
|
||||
- FFI requires C code
|
||||
- FFI requires C code
|
||||
|
||||
|
||||
## 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.
|
||||
|
||||
### 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:
|
||||
|
||||
|
|
@ -55,25 +83,37 @@ Arguments:
|
|||
- addition-paths (list (string)...)
|
||||
- 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
|
||||
directly.
|
||||
It is recommended to use the pffi-shared-object-auto-load instead of this
|
||||
directly.
|
||||
|
||||
Arguments:
|
||||
Arguments:
|
||||
|
||||
- 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
|
||||
- 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
|
||||
int64
|
||||
uint64
|
||||
intptr
|
||||
uintptr
|
||||
char
|
||||
unsigned-char
|
||||
short
|
||||
|
|
@ -118,6 +116,7 @@
|
|||
unsigned-long
|
||||
float
|
||||
double
|
||||
string
|
||||
pointer))
|
||||
|
||||
(define string-split
|
||||
|
|
|
|||
Loading…
Reference in New Issue