@@ -1,40 +0,0 @@
1−{-# OPTIONS_GHC -Wall #-}
2−module Transform.Definition where
4−import Control.Applicative ((<$>))
5−import qualified AST.Pattern as P
6−import qualified AST.Expression.Source as Source
7−import qualified AST.Expression.Valid as Valid
8−import qualified Transform.Expression as Expr
10−combineAnnotations :: [Source.Def] -> Either String [Valid.Def]
15− "Syntax Error: The type annotation for '" ++ x ++
16− "' must be directly above its definition."
18− exprCombineAnnotations =
19− Expr.crawlLet combineAnnotations
23− Source.TypeAnnotation name tipe : rest ->
25− Source.Definition pat@(P.Var name') expr : rest'
27− do expr' <- exprCombineAnnotations expr
28− let def = Valid.Definition pat expr' (Just tipe)
32− Left (errorMessage name)
34− Source.Definition pat expr : rest ->
35− do expr' <- exprCombineAnnotations expr
36− let def = Valid.Definition pat expr' Nothing