この関数の種類を理解するのに役立つ人はいますか?
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関数を生成します。しかし、今では、つまり があります。どういう意味ですか?PhrasePhraseIOIO (Phrase -> Phrase)
randomIOモナド型を持っていますが、なぜそれが好きなのですか? 私たちが選んだ種のせいですか?私は通常、入力と出力にモナディックを使用しましたが、ランダムジェネレーターは実際には実行時にユーザーからの入力を取得しません。