Имитация глобальной переменной
Я работаю над проектом в Haskell, и мне нужна глобальная переменная. В настоящее время я 'Я делаю это:
funcs :: Map.Map String Double
funcs = Map.empty
eliminate :: Maybe a -> a
eliminate (Just a) = a
insert :: String -> Double -> Map.Map String Double -> Map.Map String Double
insert key value cache = Map.insert key value cache
f = do
let aux = insert "aaa" 1 funcs
let funcs = aux
.........
g = do
if (Map.lookup "aaa" funcs) == Nothing then error "not defined" else putStr "ok"
Проблема в том, что всегда г-функция выдает ошибку. Знаете ли вы, как я могу симулировать глобальную переменную?