If anyone is interested in a more readable version of APL, I think python/numpy qualifies. Their first few examples can be expressed the same way in standard numpy:
arange(6) # Same as ⍳5
add.reduce(arange(6)) # Same as +/⍳5
add.accumulate(arange(6)) # Same as +\⍳5
I've gone partway through this document (up to chapter 3, plus skimming other bits) and have not found any examples that don't translate into standard numpy code.From what I can tell, the core learning one takes from J/K/etc is the concept of an array language and treating arrays as first class objects. And nowadays Python/R/Julia provide this same functionality in a more verbose/more readable/more mainstream package.
It'd be a fun project to write a an APL-like that compiles down to NumPy. Would it be pointless? Another interesting project might be to make an APL-like for probabilistic programming.
There's a start for this in Julia[0], where custom string literals mean that you can actually write APL in native Julia:
julia> apl"ι5"
1:5
julia> apl"+/ι5"
15
You can even just get the function that represents the `+/` operation and apply it to any Julia object: julia> apl"+/"(rand(100))
52.17866879741195
0. https://github.com/shashi/APL.jl