以下はan answer regarding memoizationのコードで、州のモナドで使用されているメモ機能を示しています。キーがマップにない場合は、渡された関数の結果で状態が更新されます。 type MyMemo a b = State (Map.Map a b) b
myMemo :: Ord a => (a -> MyMemo a b) -> a -> MyMemo a b
my
最近モナドについて多くのことを研究しており、ハスケルプログラミング言語の新機能です。 これは私のコードです: import Data.List
import System.IO
f :: Int -> (Int, [Char])
f x = (x, ['a'])
g :: Int -> (Int, [Char])
g y = (y, ['b'])
(>>=) :: (Int ->
私は m = Map.fromList [("a","b"), ("b","c"), ("c","d"), ("d","e")]
f x m = fromMaybe "default value" $ Map.lookup x m
lookup' x = f x m
モナドは今、私は読者のモナドを作成したいリーダーで動作するようにしてみてください。 : r = reader lookup
Haskellでは、任意の数のファイルに書き込むにはどうすればよいですか? 例として、aからzまでの文字を取り込み、その内容の名前のファイルに入れたいとします。最初の試みは、次の操作を実行することでした。次のエラー生成 main :: IO()
main = do
let letter = map (:"") ['a'..'z']
zipWith writeFile le