0

私はフリーモナドを学ぼうとしています。私は以下を見つけました:

data Free f r = Free (f (Free f r)) | Pure r

Pure とはどういう意味ですか? また、Pure で r が必要なのはなぜですか?

4

1 に答える 1

2

Pure操作に対応しreturnます -- 概念的には、ファンクタに値を「注入」する機能を付加します。コンストラクタはFree「結合」に相当します。

なぜ「必要」なのかを理解したい場合はPure、それを削除してMonadインスタンスを与え、行き詰まる場所を確認してください。

于 2015-03-26T15:13:00.180 に答える