« プログラミング初心者がHaskellのモナドに雑に手を出して大やけどする | メイン | 最近はレースゲームにはまっています(父が) »

2020年2月 7日 (金)

プログラミング初心者がHaskellのモナドにさらに雑に手を突っ込んで大やけどでは済まない状態になる

皆さんこんにちは、重傷を負っている鳥居です。

前回さらっとモナドに触れたり触れなかったりして結局大やけどしてしまったのですが、今回はさらにモナドについて深く掘り下げたり掘り下げなかったりしたいと思います。もしかしたらその過程で命を落とすことになるかもしれませんが、その時は黙とうでもしてやってください。

さて、前回はMaybeモナドの実装内容について語らせていただきました。その中で、

・return関数という、素のa型のxという値をJust xというMaybe a型の値にして返す関数

・>>=演算子という、Maybe a型の値と「a型の値を引数にとり、Maybe b型の値を返す関数」を引数にとり、Maybe b型の値を返す演算子(関数)

が定義されていることを説明しました。…説明したつもりです。

もう少しMaybe型における>>=演算子について説明すると、

・値としてNothingが渡された場合にはそのままNothingを返す

・値としてJust xと関数f(a型の値を引数にとり、Maybe b型の値を返す関数…くどいですねすいません)が渡された場合にはxにfが適用された値を返す

ふるまいをするものでした。

お詫び・モナドについて詳しく調べていたところもう少しまとめる必要が出てきたのでここから先は執筆中とさせてください(;'∀')(なるべくエタらないようにしますので…)

コメント

コメントを投稿

アクセスランキング

Powered by Six Apart