# Scamper

Scamper is:

+   An implementation of a subset of the [R7RS-small](https://small.r7rs.org/)
    Scheme standard appropriate for teaching in an introductory computer science
    course.
+   An opinionated subset of Scheme that conveys the best of pure, functional
    programming to new programmers, in particular, as taught at [Grinnell
    College](https://www.cs.grinnell.edu).
+   A teaching-focused development tool that takes advantage of its small core
    to provide appropriate support, _e.g._, sensible error messages and
    a substitution-based debugger, for introductory programmers.
+   A compiler-as-a-service library written in
    [Typescript](https://www.typescriptlang.org/) with an API built for direct
    integration into modern integrated development environments, _e.g._,
    [Visual Studio Code](https://code.visualstudio.com).

## Dependencies

Scamper uses:

+   [WebAudioFont](https://surikov.github.io/webaudiofont/) for sample-based music playback.
+   [Prism.js](https://prismjs.com) for syntax highlighting.