On 2014-08-13 19:42:25, Juergen Sauermann wrote:
I believe the VALENCE ERROR comes because = is dyadic and
the lambda is monadic?
In GNU APL (and in the ISO standard) there is no monadic =, is it?
Maybe in Dyalog APL there is?
No, it was supposed to be dyadic. I'm not sure how GNU APL tries to
interpret that or why the valence of lambda matters.
In Dyalog, if g is a function rather than scalar, then (f⍣g)Y repeatedly
applies Y←f Y until ((f Y) g Y) becomes true. The function g must be dyadic.
This is unrelated to the valence of the left operand f. In Dyalog, the
function that is to be iterated is always single-argument; possible left
argument of the derived function is pre-composed with left operand like this:
X (f⍣g) Y ←→ (X∘f ⍣ g) Y ←→ ({X f ⍵}⍣g) Y
-k