def foldRight[B] (z : =>B) (f :(A, =>B) => B) :B
def headOptionViaFoldRight():Option[A]=foldRight(None:Option[A])((h,t)=> Some(h()))
def takeWhileViaFoldRight(f:A=>Boolean):Stream[A]=foldRight(Stream[A]())((h,t)=> Some(h))
def forAll(p:A=>Boolean):Boolean=foldRight(true)((a,b)=>p(a)&&b)
Warum nicht: Option [A] im ersten Parameter in headOptionViaFoldRight?FoldRight in Faulheit in der Skala
Warum Stream [A] im ersten Parameter in takeWhileViaFoldRight?
Warum stimmt der erste Parameter in forAll?
Nur verwirrt, was in den ersten Parameter in FoldRight zu verwenden?