Added to https://taoofmac.com/space/dev/lisp along with a few others, since I'm fascinated by this kind of thing.
Re the repl, I may have figured out what went wrong with user-defined functions. Instead of saying (define (sq x) (* x x)) I apparently have to say (define sq (lambda (x) (* x x))). Maybe that is documented in the paper, which I still have to read.