@@ -9,6 +9,7 @@ import System.IO.Unsafe
9import Control.Applicative ((<$>),(<*>))
9import Control.Applicative ((<$>),(<*>))
10import Control.Monad.State
10import Control.Monad.State
11import Data.Traversable (traverse)
11import Data.Traversable (traverse)
12+import SourceSyntax.Helpers (isTuple)
13data Term1 a
14data Term1 a
14 = App1 a a
15 = App1 a a
@@ -143,9 +144,10 @@ instance PrettyType a => PrettyType (Term1 a) where
143 pretty when term =
144 pretty when term =
144 let prty = pretty Never in
145 let prty = pretty Never in
145 case term of
146 case term of
146− App1 f x ->
147+ App1 f x | P.render px == "_List" -> P.brackets (pretty Never x)
147− parensIf needed (prty f <+> pretty App x)
148+ | otherwise -> parensIf needed (px <+> pretty App x)
149 needed = case when of
151 needed = case when of
150 App -> True
152 App -> True
151 _ -> False
153 _ -> False
@@ -179,7 +181,8 @@ instance PrettyType Descriptor where
179 pretty when desc =
181 pretty when desc =
180 case (structure desc, name desc) of
182 case (structure desc, name desc) of
181 (Just term, _) -> pretty when term
183 (Just term, _) -> pretty when term
182− (_, Just name) -> P.text name
184+ (_, Just name) -> if not (isTuple name) then P.text name else
185+ P.parens . P.text $ replicate (read (drop 6 name) - 1) ','
183 _ -> P.text "?"
186 _ -> P.text "?"