Skip to content
This repository has been archived by the owner on Dec 30, 2023. It is now read-only.
/ scheme-docker Public archive

Dockerfiles for various Scheme implementations

License

Notifications You must be signed in to change notification settings

lassik/scheme-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Scheme implementations in Docker

This repository contains Dockerfiles that provide various Scheme implementations. They all install a scheme-script or scheme-r7rs wrapper, so that programs starting with the right shebang run straight out of the box.

The Dockerfiles are provided on separate branches so that automated builds on Docker Hub will not be triggered unnecessarily. The builds are available here: https://hub.docker.com/u/weinholt/

Usage

R6RS

To be compatible with most Schemes, put this at the top of your programs:

#!/usr/bin/env scheme-script
;; -*- mode: scheme; coding: utf-8 -*- !#
#!r6rs

This follows the R6RS non-normative appendix.

The !# token is needed to have Guile stop parsing the #! block comment. The #!r6rs token is needed for Racket to switch to the R6RS language. The mode and coding comment is not strictly needed, but helps Emacs users.

R7RS

To be compatible with the R7RS implementations in this project, put this at the top of your programs:

#!/usr/bin/env scheme-r7rs
(define (main args)
  <your program here>)

This follows SRFI-22.

Script wrapper support

Image scheme-script scheme-r7rs
bigloo
chezscheme x
chibi x
chicken
cyclone
femtolisp
foment
gambit
gauche
gerbil
guile x
ikarus x
ironscheme x
kawa
larceny x
loko x
mit-scheme
mosh x
racket x
s7
sagittarius x x
scheme48
scheme9
scsh
vicare x
ypsilon x

Implementation notes

Chez Scheme

Chez Scheme in this project is built in a special way that removes the expression editor and therefore removes the ncurses and X dependencies. This is useful when you want to distribute the resulting binary bundled together with your own program, because the result is more portable and only requires GNU libc.

Loko Scheme

The loko:base image provides only Loko Scheme and no other user space.

About

Dockerfiles for various Scheme implementations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published