aboutsummaryrefslogtreecommitdiff
path: root/ast/CC/Source.hs
diff options
context:
space:
mode:
authorTom Smeding <tom.smeding@gmail.com>2020-07-23 20:15:15 +0200
committerTom Smeding <tom.smeding@gmail.com>2020-07-23 20:15:15 +0200
commit39ea4ac3a4b7663882a83f2ada43c8238f087d9b (patch)
tree70b28d7f0bd301f8eb912837b126956ecdaa1ca3 /ast/CC/Source.hs
parentbc52411ae2ed26cab1d5086ae6df68f23ebbd052 (diff)
Use Pretty for errors and expressions
Diffstat (limited to 'ast/CC/Source.hs')
-rw-r--r--ast/CC/Source.hs18
1 files changed, 3 insertions, 15 deletions
diff --git a/ast/CC/Source.hs b/ast/CC/Source.hs
index 80d8f01..81e691b 100644
--- a/ast/CC/Source.hs
+++ b/ast/CC/Source.hs
@@ -26,21 +26,9 @@ data Expr = Call SourceRange Expr Expr
deriving (Show, Read)
instance Pretty Type where
- pretty = unparse
-
-class Unparse a where
- -- Parentheses are required if precedence of unparsed element is
- -- greater than the argument.
- unparsePrec :: Int -> a -> String
-
- unparse :: a -> String
- unparse = unparsePrec 0
-
-instance Unparse Type where
- unparsePrec _ TInt = "Int"
- unparsePrec p (TFun a b) =
- let s = unparsePrec 3 a ++ " -> " ++ unparsePrec 2 b
- in if p > 2 then "(" ++ s ++ ")" else s
+ prettyPrec _ TInt = "Int"
+ prettyPrec p (TFun a b) =
+ precParens p 2 (prettyPrec 3 a ++ " -> " ++ prettyPrec 2 b)
instance HasRange Expr where
range (Call sr _ _) = sr