Comment by geocar
7 months ago
> My understanding is that APL permits mutable state and side effects ... If you're modifying the contents of an array in-place, I don't think it's reasonable to consider that functional.
a←'hello'
a[1]←'c'
This does _not_ modify the array in-place. It's actually the same as:
a←'hello'
a←'c'@1⊢a
which is more obviously functional. It is easy to convince yourself of this:
a←'hello'
b←a
b[1]←'j'
a,b
returns 'hellojello' and not 'jellojello'.
No comments yet
Contribute on Hacker News ↗