@@ -45,9 +45,9 @@ module' (Module.Module name path info) =
45 (Module.Source tag settings docs exports imports decls) =
45 (Module.Source tag settings docs exports imports decls) =
48− do (ValidStuff foreigns structure) <- validateDecls decls
48+ do (ValidStuff ports structure) <- validateDecls decls
50− validEffects <- validateEffects tag settings foreigns (D._defs structure)
50+ validEffects <- validateEffects tag settings ports (D._defs structure)
52 return $ Module.Module name path $
52 return $ Module.Module name path $
53 Module.Valid docs exports (addDefaults pkgName imports) structure validEffects
53 Module.Valid docs exports (addDefaults pkgName imports) structure validEffects
@@ -77,19 +77,19 @@ addDefaults pkgName imports =
77validateEffects
77validateEffects
78 :: Module.SourceTag
78 :: Module.SourceTag
79 -> Module.SourceSettings
79 -> Module.SourceSettings
80− -> [A.Commented Effects.ForeignRaw]
80+ -> [A.Commented Effects.PortRaw]
81 -> [A.Commented Valid.Def]
81 -> [A.Commented Valid.Def]
82 -> Result wrn Effects.Raw
82 -> Result wrn Effects.Raw
83−validateEffects tag settings@(A.A _ pairs) foreigns validDefs =
83+validateEffects tag settings@(A.A _ pairs) ports validDefs =
84 case tag of
84 case tag of
85 Module.Normal ->
85 Module.Normal ->
86 do noSettings Error.SettingsOnNormalModule settings
86 do noSettings Error.SettingsOnNormalModule settings
87− noForeigns foreigns
87+ noPorts ports
88 return Effects.None
88 return Effects.None
90− Module.Foreign _ ->
90+ Module.Port _ ->
91− do noSettings Error.SettingsOnForeignModule settings
91+ do noSettings Error.SettingsOnPortModule settings
92− return (Effects.Foreign foreigns)
92+ return (Effects.Port ports)
94 Module.Effect tagRegion ->
94 Module.Effect tagRegion ->
@@ -99,7 +99,7 @@ validateEffects tag settings@(A.A _ pairs) foreigns validDefs =
99 settingsDict =
99 settingsDict =
100 foldr collectSettings Map.empty pairs
100 foldr collectSettings Map.empty pairs
102− do noForeigns foreigns
102+ do noPorts ports
103 managerType <- toManagerType tagRegion settingsDict
103 managerType <- toManagerType tagRegion settingsDict
104 (r0, r1, r2) <- checkManager tagRegion managerType validDefs
104 (r0, r1, r2) <- checkManager tagRegion managerType validDefs
105 return (Effects.Manager () (Effects.Info tagRegion r0 r1 r2 managerType))
105 return (Effects.Manager () (Effects.Info tagRegion r0 r1 r2 managerType))
@@ -115,18 +115,18 @@ noSettings errorMsg (A.A region settings) =
115 Result.throw region errorMsg
115 Result.throw region errorMsg
118−noForeigns :: [A.Commented Effects.ForeignRaw] -> Result wrn ()
118+noPorts :: [A.Commented Effects.PortRaw] -> Result wrn ()
119−noForeigns foreigns =
119+noPorts ports =
120− case foreigns of
120+ case ports of
122 Result.ok ()
122 Result.ok ()
126− toError (A.A (region, _) (Effects.ForeignRaw name _)) =
126+ toError (A.A (region, _) (Effects.PortRaw name _)) =
127− A.A region (Error.UnexpectedForeign name)
127+ A.A region (Error.UnexpectedPort name)
129− Result.throwMany (map toError foreigns)
129+ Result.throwMany (map toError ports)
132toManagerType
132toManagerType
@@ -302,7 +302,7 @@ validateDecls sourceDecls =
303data ValidStuff =
303data ValidStuff =
304 ValidStuff
304 ValidStuff
305− { _foreigns :: [A.Commented Effects.ForeignRaw]
305+ { _ports :: [A.Commented Effects.PortRaw]
306 , _structure :: D.Valid
306 , _structure :: D.Valid
@@ -314,48 +314,48 @@ validateRawDecls commentedDecls =
316 :: [A.Commented D.Raw]
316 :: [A.Commented D.Raw]
317− -> [A.Commented Effects.ForeignRaw]
317+ -> [A.Commented Effects.PortRaw]
318 -> D.Valid
318 -> D.Valid
319 -> Result wrn ValidStuff
319 -> Result wrn ValidStuff
320−vrdHelp commentedDecls foreigns structure =
320+vrdHelp commentedDecls ports structure =
321 case commentedDecls of
321 case commentedDecls of
323− Result.ok (ValidStuff foreigns structure)
323+ Result.ok (ValidStuff ports structure)
325 A.A ann decl : rest ->
325 A.A ann decl : rest ->
326 case decl of
326 case decl of
327 D.Union (D.Type name tvars ctors) ->
327 D.Union (D.Type name tvars ctors) ->
328− vrdHelp rest foreigns (D.addUnion (A.A ann (D.Type name tvars ctors)) structure)
328+ vrdHelp rest ports (D.addUnion (A.A ann (D.Type name tvars ctors)) structure)
330 D.Alias (D.Type name tvars alias) ->
330 D.Alias (D.Type name tvars alias) ->
331− vrdHelp rest foreigns (D.addAlias (A.A ann (D.Type name tvars alias)) structure)
331+ vrdHelp rest ports (D.addAlias (A.A ann (D.Type name tvars alias)) structure)
333 D.Fixity fixity ->
333 D.Fixity fixity ->
334− vrdHelp rest foreigns (D.addInfix fixity structure)
334+ vrdHelp rest ports (D.addInfix fixity structure)
336 D.Def (A.A region def) ->
336 D.Def (A.A region def) ->
337− vrdDefHelp rest (A.A (region, snd ann) def) foreigns structure
337+ vrdDefHelp rest (A.A (region, snd ann) def) ports structure
339− D.Foreign name tipe ->
339+ D.Port name tipe ->
340− vrdHelp rest (A.A ann (Effects.ForeignRaw name tipe) : foreigns) structure
340+ vrdHelp rest (A.A ann (Effects.PortRaw name tipe) : ports) structure
343vrdDefHelp
343vrdDefHelp
344 :: [A.Commented D.Raw]
344 :: [A.Commented D.Raw]
345 -> A.Commented Source.Def'
345 -> A.Commented Source.Def'
346− -> [A.Commented Effects.ForeignRaw]
346+ -> [A.Commented Effects.PortRaw]
347 -> D.Valid
347 -> D.Valid
348 -> Result wrn ValidStuff
348 -> Result wrn ValidStuff
349−vrdDefHelp remainingDecls (A.A ann def) foreigns structure =
349+vrdDefHelp remainingDecls (A.A ann def) ports structure =
351− addDef validDef (ValidStuff finalForeigns struct) =
351+ addDef validDef (ValidStuff finalPorts struct) =
352− ValidStuff finalForeigns (D.addDef (A.A ann validDef) struct)
352+ ValidStuff finalPorts (D.addDef (A.A ann validDef) struct)
354 case def of
354 case def of
355 Source.Definition pat expr ->
355 Source.Definition pat expr ->
357 <$> validateDef pat expr Nothing
357 <$> validateDef pat expr Nothing
358− <*> vrdHelp remainingDecls foreigns structure
358+ <*> vrdHelp remainingDecls ports structure
360 Source.Annotation name tipe ->
360 Source.Annotation name tipe ->
361 case remainingDecls of
361 case remainingDecls of
@@ -363,10 +363,10 @@ vrdDefHelp remainingDecls (A.A ann def) foreigns structure =
363 | Pattern.isVar name pat ->
363 | Pattern.isVar name pat ->
365 <$> validateDef pat expr (Just tipe)
365 <$> validateDef pat expr (Just tipe)
366− <*> vrdHelp rest foreigns structure
366+ <*> vrdHelp rest ports structure
369− vrdHelp remainingDecls foreigns structure
369+ vrdHelp remainingDecls ports structure
370 <* Result.throw (fst ann) (Error.TypeWithoutDefinition name)
370 <* Result.throw (fst ann) (Error.TypeWithoutDefinition name)
@@ -523,11 +523,11 @@ expression (A.A ann sourceExpression) =
523 Sub moduleName ->
523 Sub moduleName ->
524 return (Sub moduleName)
524 return (Sub moduleName)
526− ForeignCmd name tipe ->
526+ OutgoingPort name tipe ->
527− return (ForeignCmd name tipe)
527+ return (OutgoingPort name tipe)
529− ForeignSub name tipe ->
529+ IncomingPort name tipe ->
530− return (ForeignSub name tipe)
530+ return (IncomingPort name tipe)
532 Program _ _ ->
532 Program _ _ ->
533 error "DANGER - Program AST nodes should not be in validation phase."
533 error "DANGER - Program AST nodes should not be in validation phase."
@@ -564,17 +564,17 @@ validatePattern pattern =
566checkDuplicates :: ValidStuff -> Result wrn ()
566checkDuplicates :: ValidStuff -> Result wrn ()
567−checkDuplicates (ValidStuff foreigns (D.Decls defs unions aliases _)) =
567+checkDuplicates (ValidStuff ports (D.Decls defs unions aliases _)) =
569 -- SIMPLE NAMES
569 -- SIMPLE NAMES
571 defValues =
571 defValues =
572 concatMap (Pattern.boundVars . Valid.getPattern . A.drop) defs
572 concatMap (Pattern.boundVars . Valid.getPattern . A.drop) defs
574− foreignValues =
574+ portValues =
575− map fromForeign foreigns
575+ map fromPort ports
577− fromForeign (A.A (region, _) (Effects.ForeignRaw name _)) =
577+ fromPort (A.A (region, _) (Effects.PortRaw name _)) =
578 A.A region name
578 A.A region name
580 -- TYPE NAMES
580 -- TYPE NAMES
@@ -597,7 +597,7 @@ checkDuplicates (ValidStuff foreigns (D.Decls defs unions aliases _)) =
599 F.sequenceA_
599 F.sequenceA_
600− [ detectDuplicates Error.DuplicateValueDeclaration (foreignValues ++ defValues)
600+ [ detectDuplicates Error.DuplicateValueDeclaration (portValues ++ defValues)
601 , detectDuplicates Error.DuplicateValueDeclaration (concat typeValues)
601 , detectDuplicates Error.DuplicateValueDeclaration (concat typeValues)
602 , detectDuplicates Error.DuplicateTypeDeclaration types
602 , detectDuplicates Error.DuplicateTypeDeclaration types