“Design patterns are missing language features”
Reframe is a half-baked action interpreter. The problem is Clojure doesn’t have a good way to define interpreters/evaluators. This is all terribly ironic given Clojure is a Lisp, and that the last 15 years of Haskell research have pretty much nailed composable interpreters.
“Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp”