Mam problem z uwzględnieniem ukrytych parametrów w Haskell (GHC). Mam funkcji f, który zakłada ukrytą parametr x i chciałby ująć go w kontekście stosując f do gNiejawny parametr i funkcja
f :: (?x :: Int) => Int -> Int
f n = n + ?x
g :: (Int -> Int) -> (Int -> Int)
g t = let ?x = 5 in t
Ale gdy próbuję oceniać
g f 10
pojawia się błąd, że x nie jest związany, np:
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'
Czy ktoś może mi powiedzieć, co robię źle?
(Próbuję dostać interfejsu WordNet dla Haskell do pracy - http://www.umiacs.umd.edu/~hal/HWordNet/ - i używa parametrów ukrytych w powyższy sposób, a ja zachować błędów coraz jak ten powyżej, gdy próbuję go skompilować)
Witam, mam '{- # LANGUAGE ImplicitParams # -}' i górę mojego pliku, ale nadal daje ten sam błąd. Jakieś sugestie? PS: Używam GHC ver. 7.4.1 – niklascp
Zobacz moją edycję. Skopiowałem i wkleiłem twój kod i dodałem "JĘZYK", działa dobrze. To powinno działać również dla ciebie. Jeśli to działa, ale twoja rozszerzona sprawa nie ma (HWordNet), to jest to oddzielny problem. –
Cześć, dziękuję za twoją aktualizację - mogę bezbłędnie ocenić 'g (* 3) 4', jednak nie mogę ocenić' g f 4', ponieważ oczekiwałbym, że mógłbym - czy możesz? – niklascp