Thank you very much Raul, A very useful generic pattern whenever you want the partial function of element f leftsubtotaloflist is
scanl =: @: |. \ f/ scanl DATA 2 ^ i.6 1 2 4 8 16 32 -/\ 2 ^ i.6 1 _1 3 _5 11 _21 -/ &|. \ 2 ^ i.6 1 1 3 5 11 21 The last expression is especially easy to track along as imperatively: subtotal[index] =. list[index] (f=. -) subtotal[index-1] The one issue I have no guess about is whether & @ &: or @: is the best conjunction to define scanl with. To match the haskell prelude, it should actually be defined as scanl =: /(@: |. \) and only matches the definition in the monad case anyway, which makes all of the conjunctions equivalent. Is there one of the above conjunctions that would make the first scanl definition useful/interesting in a dyad case? ----- Original Message ---- From: "Miller, Raul D" <[EMAIL PROTECTED]> To: Programming forum <[email protected]> Sent: Monday, October 16, 2006 6:00:04 PM Subject: RE: [Jprogramming] understanding scan I wrote: > (0 >. +)/&.|.\ a > > / is right to left, but gambler uses left to right. > /(&.|.) is left to right. &. is unnecessary and could cause problems in the general case (not this specific case). As & is sufficient, I should have said: (0 >. +)/&|.\ a and so on. -- Raul ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
