Skip to content

Commit b0d8f7c

Browse files
authored
Merge pull request #32 from playX18/ap-capy-support
feat: add CapyScheme support
2 parents 8787469 + b1f0a49 commit b0d8f7c

File tree

4 files changed

+429
-0
lines changed

4 files changed

+429
-0
lines changed

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,7 @@ it behave as if nothing is passed.
342342
- Racket (plt-r6rs v8.16 or later)
343343
- Guile (3.0.10 or later)
344344
- Chez Scheme (v10.0.0 or later)
345+
- Capy Scheme (0.1.0 or later)
345346

346347
The below implementations are no loger supported due to the inactiveness or
347348
officially declared to be archived.
@@ -368,6 +369,11 @@ initialisation function, however the loaded pointer still indicates NULL.
368369
On Larceny, GC may move pointers so converting bytevector uses wrapper
369370
technique the same as Vicare. Thus the same limitation is applied to it.
370371

372+
## Capy
373+
374+
Capy Scheme does not support C callbacks due to the CPS conversion.
375+
If you try to call `c-callback` implementation-restriction-violation is raised.
376+
371377
## Misc (Memo)
372378

373379
### Why no Ypsilon

examples/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,6 @@ guile: prepare prepare-guile
4343
LD_LIBRARY_PATH=$(LDPATH):tests; guile --no-auto-compile -l .guile.rc -L ../src callback.scm
4444
rm .guile.rc
4545

46+
capy: prepare
47+
LD_LIBRARY_PATH=.:tests; capy -log:info -L ../src struct.scm
48+
LD_LIBRARY_PATH=.:tests; capy -log:info -L ../src variable.scm

src/pffi/bv-pointer.capy.sls

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
(library (pffi bv-pointer)
2+
(export bytevector->pointer)
3+
(import (core foreign)))

0 commit comments

Comments
 (0)