It should be straightforward to run it in Scheme, which extends Lisp from what I understand, although I only used Scheme in college. I'm not even entirely sure why Schema and Lisp are separate languages, although I've seen some Lisp examples that seemed a bit too low-level to be of practical use. I find that level of attention generally useless when macros and inlined functions provide leverage for free. Although I'm generally against domain-specific languages, so I would like to know if Scheme is a DSL of Lisp or if either can be implemented completely in the other via macros (or both).
I'm trying to get to higher-level functional languages likes F#, Haskell and Clojure/ClojureScript. Although once functional languages allow impurity via mutable variables, they effectively throw the baby out with the bathwater since that forces large swaths of the codepath to fall back to being imperative. ClojureScript especially has a nice functional-imperative bridge where the code just blocks on input/output and lets the Javascript runtime run, rather than getting too lost in monads (from what I can tell, I haven't actually written any ClojureScript yet). I feel that this was the fundamental insight that's been missed in pretty much every other language, the lack of which led to the function coloring mess of async/await that we'll spend the next few decades stripping from legacy code.