ziphaskellのコード例
Zip Haskell Code Example
例:haskellzip関数
-宿題であっても、リスト用に作成する唯一の方法は次のとおりです。 ジップ ::: [に] -> [NS] -> [((に、NS)] ジップ ((に:なので) ((NS:bs) = ((に、NS) : ジップ なので bs ジップ _ _ = [] -または、より一般的には zipWith ::: ((に -> NS -> NS) -> [に]->[NS]->[NS] zipWith NS ((に:なので) ((NS:bs) = NS に NS : zipWith NS なので bs zipWith _ _ _ = [] -奇抜になってストリームフュージョンで遊びたいなら、ストリームフュージョンのバージョン 論文、 の オートマトン スタイル、 zipWith ::: ((に -> NS -> NS) -> ストリーム に -> ストリーム NS -> ストリーム NS zipWith NS ((ストリーム next0 sa0) ((ストリーム next1 sb0) = ストリーム 次 ((sa0、 sb0、 何もない) どこ 次 ((に、 sb、 何もない) = 場合 next0 に の 終わり -> 終わり スキップ に'
-> スキップ ((に'
、 sb、 何もない) 収率 に に'
-> スキップ ((に'
、 sb、 ただ に) 次 ((に'
、 sb、 ただ に) = 場合 next1 sb の 終わり -> 終わり スキップ sb'
-> スキップ ((に'
、 sb'
、 ただ に) 収率 NS sb'
-> 収率 ((NS に NS) ((に'
、 sb'
、 何もない)