Description

scheme-d is a tiny Scheme interpreter. Small and easy scripting for your D application.

Package Information

Version1.0.3 (2015-Nov-26)
Homepagehttp://github.com/p0nce/scheme-d/
Repositoryhttps://github.com/p0nce/scheme-d
Licensepublic domain
Authorsponce
Registered byponce
Dependenciesnone

Installation

To use this package, put the following dependency into your project's dependencies section:

dub.json
dub.sdl

Readme

What's this?

scheme-d is an incomplete Scheme interpreter in D for an easy embeddable language.

Licenses

See UNLICENSE.txt

Usage

See: https://github.com/p0nce/scheme-d/blob/master/examples/repl/repl.d

Supported

A small part of R6RS is supported:

  • Types: double, string, bool, list, symbol, and closure (Scheme functions or D callbacks)
  • pre-defined operations: https://github.com/p0nce/scheme-d/blob/master/source/schemed/environment.d#L51
  • special forms: https://github.com/p0nce/scheme-d/blob/master/source/schemed/eval.d#L47

Unsupported features

A large part of R6RS is unsupported:

  • vectors (list is already implemented with D slices)
  • Scheme literals syntax for float, string or chars
  • quasi-quoting
  • Scheme numerical tower. Only double is provided
  • char type
  • \x escape sequence in strings

Bugs

  • symbols have too lax a grammar, should respect Extended alphabetic characters

Available versions

1.0.3 1.0.2 1.0.1 1.0.0 0.0.11 0.0.10 0.0.9 0.0.8 0.0.7 0.0.6 0.0.5 0.0.4 0.0.3 0.0.2 0.0.1 ~master