module Foreign.Java.Bindings.HaskellTypes where
data HaskellModule = HaskellModule {
moduleName :: String,
moduleFunctions :: [HaskellFunction],
moduleData :: [HaskellData]
} deriving (Show, Eq)
data HaskellData = HaskellData {
dataName :: String,
dataConstructors :: [HaskellConstructor]
} deriving (Show, Eq)
data HaskellFunction = HaskellFunction {
functionName :: String,
functionArgs :: [HaskellType],
functionReturn :: HaskellType
} deriving (Show, Eq)
data HaskellConstructor = HaskellConstructor {
constructorName :: String,
constructorField :: (String, HaskellType)
} deriving (Show, Eq)
data HaskellType = HaskellType {
} deriving (Show, Eq)