Related Work
Cassette draws inspiration from a bunch of different work (in no particular order):
- Aspect-Oriented Programming: https://en.wikipedia.org/wiki/Aspect-oriented_programming
- XRay for LLVM: https://ai.google/research/pubs/pub45287
- Multimethods for C++: http://www.stroustrup.com/multimethods.pdf
- Map-Closure for Scheme: http://www.bcl.hamilton.ie/~qobi/map-closure/
- Stalingrad Compiler for VLAD: https://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1368&context=ecetr
- Compiling to Categories for Haskell: http://conal.net/papers/compiling-to-categories/
- The Checker Framework for Java: https://checkerframework.org/
- Context-Oriented Programming (this is not strictly what Cassette implements, despite the naming similarities): http://www.jot.fm/issues/issue200803/article4/
- Jameson Nash's Brain: https://github.com/vtjnash