I'm getting an error I don't quite understand:
AnotherModule.hs:6:38:
`something' is not a (visible) field of constructor `M.SomeType'
AnotherModule.hs:7:38:
`somethingElse' is not a (visible) field of constructor `M.SomeType'
Can anyone explain why I'm getting this error and how I might go about fixing it?
import qualified SomeModule as M
import qualified AnotherModule as A
main = print $ A.makeSomeType M.Constructor1
module SomeModule (SomeType(..), AnotherType(..)) where
data SomeType = SomeType { something :: [String]
, somethingElse :: [AnotherType]
} deriving (Show)
data AnotherType = Constructor1
| Constructor2
deriving (Show)
module AnotherModule (makeSomeType) where
import qualified SomeModule as M
makeSomeType :: M.AnotherType -> M.SomeType
makeSomeType something = M.SomeType { something = []
, somethingElse = [something]
}
something
and somethingElse
are basically functions defined in SomeModule
. Try
makeSomeType something = M.SomeType { M.something = []
, M.somethingElse = [something]
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With