module Drasil.GOOL.CodeType (
ClassName, CodeType(..)
) where
type ClassName = String
data CodeType = Boolean
| Integer
| Float
| Double
| Char
| String
| InFile
| OutFile
| List CodeType
| Set CodeType
| Array CodeType
| Object ClassName
| Func [CodeType] CodeType
| Void deriving (CodeType -> CodeType -> Bool
(CodeType -> CodeType -> Bool)
-> (CodeType -> CodeType -> Bool) -> Eq CodeType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CodeType -> CodeType -> Bool
== :: CodeType -> CodeType -> Bool
$c/= :: CodeType -> CodeType -> Bool
/= :: CodeType -> CodeType -> Bool
Eq, Int -> CodeType -> ShowS
[CodeType] -> ShowS
CodeType -> ClassName
(Int -> CodeType -> ShowS)
-> (CodeType -> ClassName)
-> ([CodeType] -> ShowS)
-> Show CodeType
forall a.
(Int -> a -> ShowS) -> (a -> ClassName) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CodeType -> ShowS
showsPrec :: Int -> CodeType -> ShowS
$cshow :: CodeType -> ClassName
show :: CodeType -> ClassName
$cshowList :: [CodeType] -> ShowS
showList :: [CodeType] -> ShowS
Show)