% $Id: ArrayFindMaker.oz,v 1.1 2012/03/21 14:57:34 leavens Exp leavens $ declare % ArrayFindMaker: }: % > }: >> fun {ArrayFindMaker Pred} fun {$ A Val} fun {FindHelper I Acc} if I =< {Array.high A} then {FindHelper I+1 if {Pred {Array.get A I} Val} then I|Acc else Acc end } else {Reverse Acc} end end in {FindHelper {Array.low A} nil} end end