Errore di GHC Understanding “nome qualificato in posizione di rilegatura”
-
26-09-2019 - |
Domanda
Se creo un AModule
modulo con un Foo
typeclass,
module AModule where
class Foo a where
bar :: a
e in un altro modulo BModule
importazione AModule
qualificato e provare a fare un certo tipo di un'istanza di Foo
, cioè.
module B where
import qualified AModule as A
instance A.Foo Int where
A.bar = 0
GHC mi dice "nome qualificato in posizione di rilegatura: A.bar".
Da quello che ho capito, questo è legato alla GHC biglietto 3197 , che è etichettato come fisso. Io corro GHC 6.12.1 e sto ancora ottenere l'errore. Sto solo malinteso qualcosa qui?
Soluzione
Non è necessario il A.
all'interno della dichiarazione di istanza (Vedere Haskell 98 RELAZIONE §4.3.2 ).
I seguenti compila in 6.12.3:
instance A.Foo Int where -- # A. here
bar = 0 -- # no A. here
main = print (A.bar :: Int) -- # A. here
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow