GHC error entendimiento “Nombre calificado en la posición de unión”
-
26-09-2019 - |
Pregunta
Si creo un AModule
módulo con un Foo
clase de tipos,
module AModule where
class Foo a where
bar :: a
y en otro módulo BModule
AModule
importación cualificado y tratar de hacer algún tipo de una instancia de Foo
, es decir.
module B where
import qualified AModule as A
instance A.Foo Int where
A.bar = 0
GHC me dice "Nombre calificado en posición de encuadernación: A.bar".
Por lo que entiendo, esto está relacionado con GHC billete 3197, que se etiqueta como fijo. Estoy corriendo GHC 6.12.1 y todavía estoy recibiendo el error. ¿Estoy mal entendido algo?
Solución
no es necesario el A.
dentro de la declaración de la instancia (Ver Haskell informe 98 §4.3.2 ).
Los siguientes compila en 6.12.3:
instance A.Foo Int where -- # A. here
bar = 0 -- # no A. here
main = print (A.bar :: Int) -- # A. here
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow