У меня проблема с неявными параметрами в Haskell (GHC). У меня есть функция f, которая предполагает неявный параметр xи хотела бы инкапсулировать ее в контексте, применяя fк g
f :: (?x :: Int) => Int -> Int
f n = n + ?x
g :: (Int -> Int) -> (Int -> Int)
g t = let ?x = 5 in t
Но когда я пытаюсь оценить
g f 10
, я получаю сообщение об ошибке, что xне привязано, например:
Unbound implicit parameter (?x::Int)
arising from a use of `f'
In the first argument of `g', namely `f'
In the second argument of `($)', namely `g f 10'
Кто-нибудь может сказать мне, что я делаю неправильно?
(Я пытаюсь заставить работать интерфейс WordNet для Haskell - http://www.umiacs.umd.edu/~hal/HWordNet/- и он использует неявные параметры указанным выше образом, и я продолжаю получать ошибки, поскольку тот, что выше, когда я пытаюсь его скомпилировать)