@@ -1,58 +0,0 @@
1−{-# OPTIONS_GHC -Wall #-}
2−{-# LANGUAGE OverloadedStrings #-}
3−module Type.Constrain.Literal (constrain) where
5−import qualified AST.Literal as Lit
6−import qualified Reporting.Error.Type as Error
7−import qualified Reporting.Region as R
8−import qualified Type.Constraint as T
9−import qualified Type.Type as T
16−constrain :: R.Region -> Lit.Literal -> T.Type -> IO T.Constraint
17−constrain region literal tipe =
20− do var <- T.mkFlexNumber
21− return $ T.CEqual numberError region (T.VarN var) tipe
24− return $ T.CEqual floatError region T.float tipe
27− return $ T.CEqual charError region T.char tipe
30− return $ T.CEqual stringError region T.string tipe
37−{-# NOINLINE numberError #-}
38−numberError :: Error.Hint
40− Error.Literal "number"
43−{-# NOINLINE floatError #-}
44−floatError :: Error.Hint
46− Error.Literal "float"
49−{-# NOINLINE charError #-}
50−charError :: Error.Hint
52− Error.Literal "character"
55−{-# NOINLINE stringError #-}
56−stringError :: Error.Hint
58− Error.Literal "string"