Why S7 Scheme? (2020)
a month ago
- #EmbeddedLanguages
- #MusicProgramming
- #Scheme
- S7 Scheme is a minimal Scheme designed for embedding in music contexts.
- It is used in Common Music, Grace, Snd library, and Radium editor.
- Features include thread-safety, speed, small size, and a permissive BSD license.
- S7 is based on TinyScheme and similar to Guile, with features from Common Lisp.
- S74 Scheme is an additional layer of functions on S7 for convenience.
- Advantages include Scheme simplicity, keywords, applicative syntax, and CL-style macros.
- Disadvantages include sparse documentation and being a hybrid not fully standards-compliant.
- Other considered options: Clojure, Guile, Chicken, Gambit, Chez, Racket, ECL.
- S7 was chosen for its ease of embedding, FFI, and music-specific features.