@@ -25,14 +25,13 @@ import qualified Reporting.Result as Result
27declarations
27declarations
29− -> [D.SourceDecl]
28+ :: [D.SourceDecl]
30 -> Result.Result wrn Error.Error [D.ValidDecl]
29 -> Result.Result wrn Error.Error [D.ValidDecl]
31−declarations isRoot sourceDecls =
30+declarations sourceDecls =
32 do validDecls <- validateDecls Nothing sourceDecls
31 do validDecls <- validateDecls Nothing sourceDecls
33 (\_ _ -> validDecls)
32 (\_ _ -> validDecls)
34 <$> declDuplicates validDecls
33 <$> declDuplicates validDecls
35− <*> T.traverse (checkDecl isRoot) validDecls
34+ <*> T.traverse checkDecl validDecls
38validateDecls
37validateDecls
@@ -76,9 +75,6 @@ validateDeclsHelp comment (A.A region decl) decls =
76 D.Definition def ->
75 D.Definition def ->
77 defHelp comment def decls
76 defHelp comment def decls
80− portHelp comment region port decls
84-- VALIDATE DEFINITIONS IN DECLARATIONS
80-- VALIDATE DEFINITIONS IN DECLARATIONS
@@ -116,37 +112,6 @@ defHelp comment (A.A region def) decls =
119−-- VALIDATE PORTS IN DECLARATIONS
127− -> Result.Result wrn Error.Error [D.ValidDecl]
128−portHelp comment region port decls =
129− let addRest port' rest =
130− (:) (A.A (region,comment) (D.Port port'))
131− <$> validateDecls Nothing rest
134− D.PortDefinition name _ ->
135− Result.throw region (Error.PortWithoutAnnotation name)
137− D.PortAnnotation name tipe ->
139− D.Decl (A.A _ (D.Port (D.PortDefinition name' expr))) : rest
141− do expr' <- expression expr
142− let port' = D.Out name expr' tipe
146− addRest (D.In name tipe) decls
150-- VALIDATE DEFINITIONS
115-- VALIDATE DEFINITIONS
@@ -283,20 +248,6 @@ expression (A.A ann sourceExpression) =
283 GLShader uid src gltipe ->
248 GLShader uid src gltipe ->
284 return (GLShader uid src gltipe)
249 return (GLShader uid src gltipe)
290− return (In name tipe)
292− Out name expr tipe ->
293− do expr' <- expression expr
294− return (Out name expr' tipe)
296− Task name expr tipe ->
297− do expr' <- expression expr
298− return (Task name expr' tipe)
301second :: (a, Source.Expr) -> Result.Result wrn Error.Error (a, Valid.Expr)
252second :: (a, Source.Expr) -> Result.Result wrn Error.Error (a, Valid.Expr)
302second (value, expr) =
253second (value, expr) =
@@ -386,11 +337,6 @@ extractValues (A.A (region, _) decl) =
386 , [A.A region name]
337 , [A.A region name]
390− ( [A.A region (D.validPortName port)]
394 D.Fixity _ _ _ ->
340 D.Fixity _ _ _ ->
@@ -401,8 +347,8 @@ extractValues (A.A (region, _) decl) =
401-- UNBOUND TYPE VARIABLES
347-- UNBOUND TYPE VARIABLES
404−checkDecl :: Bool -> D.ValidDecl -> Result.Result wrn Error.Error ()
350+checkDecl :: D.ValidDecl -> Result.Result wrn Error.Error ()
405−checkDecl isRoot (A.A (region,_) decl) =
351+checkDecl (A.A (region,_) decl) =
406 case decl of
352 case decl of
407 D.Definition _ ->
353 D.Definition _ ->
408 return ()
354 return ()
@@ -433,13 +379,6 @@ checkDecl isRoot (A.A (region,_) decl) =
433 Result.throw region
379 Result.throw region
434 (Error.MessyTypeVarsInAlias name boundVars unused unbound)
380 (Error.MessyTypeVarsInAlias name boundVars unused unbound)
441− Result.throw region Error.UnexpectedPort
443 D.Fixity _ _ _ ->
382 D.Fixity _ _ _ ->
444 return ()
383 return ()