関数型プログラミング言語Haskell Part26
レス数が950を超えています。1000を超えると書き込みができなくなります。
0952デフォルトの名無しさん
2015/01/05(月) 20:19:28.54ID:UJnBa08NoddElems = filter' snd (odd . fst) . zip [0..]
filter' snd (odd . fst) . zip [0..]
⇔ { zipp = uncurry zip とする }
filter' snd (odd . fst) . zipp . (,) [0..]
⇔ { addifodd (i,x) xs = if odd i then x:xs eles xs とする }
foldr addifodd [] . zipp . (,) [0..]
⇔ { phipair (xxs,yys) = if null xxs || null yys then Nothing else Just ((head xxs,head yys),(tail xxs, tail yys)) とする }
foldr addifodd [] . unfoldr phipair . (,) [0..]
⇔ { hylo f e phi x = case phi x of {Nothing -> e; Just (y,z) -> f y (hylo f e phi z)} とする }
hylo addifodd [] phipair . (,) [0..]
まちがえてなければ,これで融合変換できたことになると思います.
oddelems = hylo addifodd [] phipair . (,) [0..]
レス数が950を超えています。1000を超えると書き込みができなくなります。