この関数の種類を理解するのに役立つ人はいますか?
stateOfMind :: BotBrain -> IO (Phrase -> Phrase)
stateOfMind
は関数であり、BotBrain
単なる型です。
type Phrase = [String]
type PhrasePair = (Phrase, Phrase)
type BotBrain = [(Phrase, [Phrase])]
stateOfMind
この型が:BotBrain -> (Phrase -> Phrase)
の
場合stateOfMind
、 a を引数として取り、 aを取り、結果として a を返す新しいBotBrain
関数を生成します。しかし、今では、つまり があります。どういう意味ですか?Phrase
Phrase
IO
IO (Phrase -> Phrase)
randomIO
モナド型を持っていますが、なぜそれが好きなのですか? 私たちが選んだ種のせいですか?私は通常、入力と出力にモナディックを使用しましたが、ランダムジェネレーターは実際には実行時にユーザーからの入力を取得しません。