on master help sign in
Give more reasonable names to incoming and outgoing ports
828c2c7Evan Czaplicki
compiler/Parse/Declaration.hs+3−3
@@ -59,6 +59,6 @@ port =
59 name <- lowVar
59 name <- lowVar
60 whitespace
60 whitespace
61 let port' op ctor expr = do { try op ; whitespace ; ctor name <$> expr }
61 let port' op ctor expr = do { try op ; whitespace ; ctor name <$> expr }
62− D.Port <$> choice [ port' hasType D.PortAnnotation Type.expr
62+ D.Port <$> choice [ port' hasType D.PPAnnotation Type.expr
63− , port' (string "<-") D.SendDefinition Expr.expr
63+ , port' (string "<-") D.PPOut Expr.expr
64− , port' (string "->") D.RecvDefinition Expr.expr ]
64+ , port' (string "->") D.PPIn Expr.expr ]
compiler/SourceSyntax/Declaration.hs+10−10
@@ -22,14 +22,14 @@ data Derivation = Json | JS | Binary | New
22 deriving (Eq, Show)
22 deriving (Eq, Show)
23
23
24data ParsePort
24data ParsePort
25− = PortAnnotation String T.Type
25+ = PPAnnotation String T.Type
26− | SendDefinition String Expr.LParseExpr
26+ | PPOut String Expr.LParseExpr
27− | RecvDefinition String Expr.LParseExpr
27+ | PPIn String Expr.LParseExpr
28 deriving (Show)
28 deriving (Show)
29
29
30data Port
30data Port
31− = Send String Expr.LExpr T.Type
31+ = Out String Expr.LExpr T.Type
32− | Recv String Expr.LExpr T.Type
32+ | In String Expr.LExpr T.Type
33 deriving (Show)
33 deriving (Show)
34
34
35type ParseDeclaration = Declaration' ParsePort Expr.ParseDef
35type ParseDeclaration = Declaration' ParsePort Expr.ParseDef
@@ -100,15 +100,15 @@ instance (Pretty port, Pretty def) => Pretty (Declaration' port def) where
100instance Pretty ParsePort where
100instance Pretty ParsePort where
101 pretty port =
101 pretty port =
102 case port of
102 case port of
103− PortAnnotation name tipe -> prettyPort name ":" tipe
103+ PPAnnotation name tipe -> prettyPort name ":" tipe
104− SendDefinition name expr -> prettyPort name "<-" expr
104+ PPOut name expr -> prettyPort name "<-" expr
105− RecvDefinition name expr -> prettyPort name "->" expr
105+ PPIn name expr -> prettyPort name "->" expr
106
106
107instance Pretty Port where
107instance Pretty Port where
108 pretty port =
108 pretty port =
109 case port of
109 case port of
110− Send name expr tipe -> mkPort "<-" name expr tipe
110+ Out name expr tipe -> mkPort "<-" name expr tipe
111− Recv name expr tipe -> mkPort "->" name expr tipe
111+ In name expr tipe -> mkPort "->" name expr tipe
112 where
112 where
113 mkPort arrow name expr tipe =
113 mkPort arrow name expr tipe =
114 P.vcat [ prettyPort name ":" tipe
114 P.vcat [ prettyPort name ":" tipe
compiler/Transform/Check.hs+2−2
@@ -46,8 +46,8 @@ duplicates decls =
46 (portNames, portExprs) =
46 (portNames, portExprs) =
47 unzip $ flip map [ port | D.Port port <- decls ] $ \port ->
47 unzip $ flip map [ port | D.Port port <- decls ] $ \port ->
48 case port of
48 case port of
49− D.Send name expr _ -> (name,expr)
49+ D.Out name expr _ -> (name,expr)
50− D.Recv name expr _ -> (name,expr)
50+ D.In name expr _ -> (name,expr)
51
51
52 getNames = Set.toList . Pattern.boundVars
52 getNames = Set.toList . Pattern.boundVars
53
53
compiler/Transform/Declaration.hs+7−7
@@ -52,16 +52,16 @@ combineAnnotations = go
52 -- combine ports
52 -- combine ports
53 Port port : portRest ->
53 Port port : portRest ->
54 case port of
54 case port of
55− SendDefinition name _ -> Left (msg name)
55+ PPOut name _ -> Left (msg name)
56− RecvDefinition name _ -> Left (msg name)
56+ PPIn name _ -> Left (msg name)
57− PortAnnotation name tipe ->
57+ PPAnnotation name tipe ->
58 case portRest of
58 case portRest of
59− Port (SendDefinition name' expr) : rest | name == name' ->
59+ Port (PPOut name' expr) : rest | name == name' ->
60 do expr' <- exprCombineAnnotations expr
60 do expr' <- exprCombineAnnotations expr
61− (:) (Port (Send name expr' tipe)) <$> go rest
61+ (:) (Port (Out name expr' tipe)) <$> go rest
62
62
63− Port (RecvDefinition name' expr) : rest | name == name' ->
63+ Port (PPIn name' expr) : rest | name == name' ->
64 do expr' <- exprCombineAnnotations expr
64 do expr' <- exprCombineAnnotations expr
65− (:) (Port (Recv name expr' tipe)) <$> go rest
65+ (:) (Port (In name expr' tipe)) <$> go rest
66
66
67 _ -> Left (msg name)
67 _ -> Left (msg name)
compiler/Type/Constrain/Declaration.hs+2−2
@@ -47,9 +47,9 @@ toDefs decl =
47
47
48 Port port ->
48 Port port ->
49 case port of
49 case port of
50− Send name expr@(L.L s _) tipe ->
50+ Out name expr@(L.L s _) tipe ->
51 [ definition name (L.L s $ E.PortOut name tipe expr) tipe ]
51 [ definition name (L.L s $ E.PortOut name tipe expr) tipe ]
52− Recv name expr@(L.L s _) tipe ->
52+ In name expr@(L.L s _) tipe ->
53 unsafePerformIO $ do
53 unsafePerformIO $ do
54 tvar <- Type.var Type.Flexible
54 tvar <- Type.var Type.Flexible
55 return $ [ definition name (L.L s $ E.PortIn name tipe tvar expr) tipe ]
55 return $ [ definition name (L.L s $ E.PortIn name tipe tvar expr) tipe ]