Workshop/MiracleHaskell/022
日時
2012/11/22
内容
次回は ZipListの説明あたり から再開します。
以下のスライドを皆で見てもいいかもしれない。
みんなの宿題
Recursive data structures ではList aという型でリスト型を作りました。
FunctorとApplicativeを継承することで、このList a型でアプリカティブファンクターを使えるようにしてみてください。 実行例は以下になります。
ghci> :m Control.Applicative
ghci> (+) <$> [1,2] <*> [100,200]
[101,201,102,202]
ghci> (+) <$> (1 :-: 2 :-: Empty) <*> (100 :-: 200 :-: Empty)
101 :-: (201 :-: (102 :-: (202 :-: Empty)))
ヒント
前回の宿題の答(021-answer)にFunctorの実装があります。あとはApplicativeを継承してpureと(<*>)を実装してみてください。
誰かが書いた ヲレヲレPrelude でのpureと(<*>)の定義が役に立つかもしれません!