Go to file
retropikzel b0d6757be7 Adding support for more implementations 2025-04-13 20:51:34 +03:00
chicken Got it to compile with Chicken 6 2025-04-13 06:07:17 +03:00
snow Added support for more implementations 2025-04-13 17:21:10 +03:00
src Adding support for more implementations 2025-04-13 20:51:34 +03:00
test Added support for more implementations 2025-04-13 17:21:10 +03:00
.gitignore Adding support for more implementations 2025-04-13 20:51:34 +03:00
Dockerfile Added support for more implementations 2025-04-13 17:21:10 +03:00
Jenkinsfile Added support for more implementations 2025-04-13 17:21:10 +03:00
LICENSE Added license 2025-01-13 17:20:58 +02:00
Makefile Adding support for more implementations 2025-04-13 20:51:34 +03:00
README.md Adding support for more implementations 2025-04-13 20:51:34 +03:00
compile-r7rs.scm Adding support for more implementations 2025-04-13 20:51:34 +03:00
configure Made this 2024-12-23 22:01:08 +02:00

README.md

compile-r7rs is a tool to compile R7RS Scheme programs, it aims for compability with SRFI-138.

Supported implementations

  • chibi
  • cyclone
  • gauche
  • guile
  • kawa
  • loko
  • mosh
  • sagittarius
  • skint
  • stklos
  • tr7
  • ypsilon

Dependencies

C toolchain and libuv, on Debian/Ubuntu/Mint run

apt install build-essential libuv1-dev

You need to install each Scheme implementation yourself.

Build and install

./configure
make
install

Usage

The environment variable SCHEME must be set to the name of the implementation as specified in the support list.

First to compile your libraries run the command without the .scm file.

SCHEME=<implementation name> compile-r7rs -I .

Then run it with the .scm file.

SCHEME=<implementation name> compile-r7rs -I . main.scm

Which produces file called main, which you can run. Note that when given Scheme is interpreter the file contains commands that run the script, and even when the file is combiled binary it might need the compiled libraries.