For those interested in a modern take on this topic, I have a page on what compiling means for array languages that briefly discusses APL\3000 along with other projects like APEX and Co-dfns. As far as I know nothing like APL\3000 has really been tried again. My guesses as to the main reasons are that beginning in the 80s APLs needed to run on many architectures instead of being designed for just one machine, and that more recently most of the highest-performing primitive implementations need to use SIMD to process multiple elements at once. Compiling code that does this is a lot harder, especially with overflow handling. APL\3000 only had 1-bit, 2-byte, and 8-byte numeric types while Dyalog APL adds 1- and 4-byte integers.
https://mlochbaum.github.io/BQN/implementation/compile/intro...
There's also an extensive wiki page at https://aplwiki.com/wiki/APL%5C3000 .