sapf
in January 2025, James McCartney open-sourced Sound As Pure Form (sapf), a "mostly functional, stack based, postfix syntax language, with pervasive auto-mapping of functions over lazy lists, in a similar way to how APL maps functions over arrays". this page aims to serve as a knowledge hub about the language.
there are currently two versions of sapf available (that i know of):
- lfnoise/sapf, James McCartney's original sapf (macOS only)
- ahihi/sapf, the cross-platform fork i started (currently works on Linux and Windows)
a few editor plugins have been developed:
- sapf.el, my Emacs mode for interacting with sapf
- vasilymilovidov/sapf.nvim, Vasilii Milovidov's nvim plugin for sapf
- vasilymilovidov/sapf-lsp, Vasilii Milovidov's LSP server for sapf
- salkin-mada/sapf.nvim, Niklas Adam's nvim plugin for sapf (i don't use nvim, so not sure how it compares to the other one)
- chairbender/vscode-sapf, Kyle Hipke's Visual Studio Code extension for sapf
finally, some related resources:
- sapf subforum on scsynth.org
- first look at sapf — i learn sapf from scratch
- sequencing in sapf — i look at sequencing
- CodeFest: SuperCollider Behind The Scene — James McCartney talks about sapf development, examples, and UI
- Darwin Grosse: Podcast 350: James McCartney — James McCartney talks about SuperCollider history and his current work. sapf gets a brief mention