https://github.com/phantomics/april
Example session I just did, copying APL code from https://aplwiki.com/wiki/John_Scholes%27_Conway%27s_Game_of_...:
CL-USER> (april:with-april-context ((:space *lifespace*))
(april:april "Show←{'·⌺'[⎕IO+⍵]}")
(april:april "glider←3 3⍴1 1 1 1 0 0 0 1 0")
(april:april-f "Show glider")
(print (april:april "glider")) ; to prove it's a Lisp array
(terpri)
(april:april "grid←¯10 ¯10↑glider")
(april:april-f "Show grid")
(terpri)
(april:april "life ← {⊃1 ⍵ ∨.∧ 3 4 = +/ +⌿ ¯1 0 1 ∘.⊖ ¯1 0 1 ⌽¨ ⊂⍵}")
(terpri)
(april:april-f "Show¨{life⍣⍵⊢grid}¨0,⍳3")
(terpri))
⌺⌺⌺
⌺··
·⌺·
#2A((1 1 1) (1 0 0) (0 1 0))
··········
··········
··········
··········
··········
··········
··········
·······⌺⌺⌺
·······⌺··
········⌺·
·········· ·········· ·········· ··········
·········· ·········· ·········· ··········
·········· ·········· ·········· ··········
·········· ·········· ·········· ··········
·········· ·········· ·········· ··········
·········· ·········· ·········· ··········
·········· ········⌺· ·······⌺⌺· ·······⌺⌺·
·······⌺⌺⌺ ·······⌺⌺· ·······⌺·⌺ ······⌺⌺··
·······⌺·· ·······⌺·⌺ ·······⌺·· ········⌺·
········⌺· ·········· ·········· ··········
(APL being compiled to Lisp is important, not just because it gives you proper interoperability out of the box, but also because on implementations like SBCL this means APL code will get compiled, through Lisp, to native code. And you can do that at runtime too.)Now I wish I could find something that does the same for J, because I'm sure as hell not going to buy an APL-friendly keyboard.