@@ -16,20 +16,21 @@ data Declaration' port def var
16 | TypeAlias String [String] (T.Type var)
16 | TypeAlias String [String] (T.Type var)
17 | Port port
17 | Port port
18 | Fixity Assoc Int String
18 | Fixity Assoc Int String
21data Assoc = L | N | R
21data Assoc = L | N | R
22 deriving (Eq)
22 deriving (Eq)
24data RawPort
25data RawPort
25 = PPAnnotation String T.RawType
26 = PPAnnotation String T.RawType
26 | PPDef String Source.Expr
27 | PPDef String Source.Expr
29data Port expr var
30data Port expr var
30 = Out String expr (T.Type var)
31 = Out String expr (T.Type var)
31 | In String (T.Type var)
32 | In String (T.Type var)
34type SourceDecl = Declaration' RawPort Source.Def Var.Raw
35type SourceDecl = Declaration' RawPort Source.Def Var.Raw
35type ValidDecl = Declaration' (Port Valid.Expr Var.Raw) Valid.Def Var.Raw
36type ValidDecl = Declaration' (Port Valid.Expr Var.Raw) Valid.Def Var.Raw
@@ -43,12 +44,12 @@ portName port =
43 Out name _ _ -> name
44 Out name _ _ -> name
44 In name _ -> name
45 In name _ -> name
46−instance Show Assoc where
47+assocToString :: Assoc -> String
47− show assoc =
48+assocToString assoc =
48− case assoc of
49+ case assoc of
49− L -> "left"
50+ L -> "left"
50− N -> "non"
51+ N -> "non"
51− R -> "right"
52+ R -> "right"
53instance Binary Assoc where
54instance Binary Assoc where
54 get = do n <- getWord8
55 get = do n <- getWord8