Skip to content

scheme-and-computer-science/scheme-docker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

scheme-docker

Dockerfiles for various Scheme implementations

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/

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.

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

Loko Scheme

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

About

Dockerfiles for various Scheme implementations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dockerfile 94.4%
  • Shell 5.6%