Go to file
retropikzel 955f5a7373 Added support for more implementations 2025-04-13 17:21:10 +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 Added support for more implementations 2025-04-13 17:21:10 +03:00
test Added support for more implementations 2025-04-13 17:21:10 +03:00
.gitignore Added support for more implementations 2025-04-13 17:21:10 +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 Added support for more implementations 2025-04-13 17:21:10 +03:00
README.md Added support for more implementations 2025-04-13 17:21:10 +03:00
compile-r7rs.rkt Started moving towards distribution as C files 2025-04-13 08:08:44 +03:00
compile-r7rs.scm Added support for more implementations 2025-04-13 17:21:10 +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
  • 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.