Hello y'all.

I have been attempting to learn function composition & higher-order
functions in gnu-apl, and how to use it to perform tree traversal.

https://en.wikipedia.org/wiki/Function_composition_(computer_science)#APL
https://en.wikipedia.org/wiki/Higher-order_function#APL
https://rosettacode.org/wiki/Tree_traversal#APL

Unfortunately a lot of the syntax used is dyalog & dfn specific, so working
out some of the examples is a bit tricky for myself.
(the main inconsistencies are '∇' as a recursive function definition, ⍺⍺ &
⍵⍵ to refer to left and right operands, '@' as the 'at' operator, '⍣'
operator differences, as well as possibly others).

Has anybody done 'idiomatic' tree traversal in gnu-apl? Does anybody use
primitive composition functions in their code?

Trying to figure out what works and feels natural in the language. Any
examples or guidance would be appreciated.

Examples:

Higher order fns in gnu-apl:
∇Z ← (L twice) B
    Z ← L L B
∇

∇Z ← plusthree B
    Z ← B + 3
∇

∇Z ← g B
    Z ← plusthree twice B
∇

Reply via email to