[fix compilation against haskell-src-exts 1.16.0.1
Helmut Grohne <grohne@cs.uni-bonn.de>**20141201100352
 Ignore-this: 1037df002cc460eb7cc78f7b53a0be85
] hunk ./src/Syntax/Builder.hs 125
---updateCtx _ (Hs.InstDecl sloc _ _ [] _) -- can never be 
-updateCtx _ (Hs.InstDecl sloc _ _ (_:_:_) _) =      
+--updateCtx _ (Hs.InstDecl sloc _ _ _ _ [] _) -- can never be
+updateCtx _ (Hs.InstDecl sloc _ _ _ _ (_:_:_) _) =
hunk ./src/Syntax/Builder.hs 128
-updateCtx spc (Hs.InstDecl sloc assts qname [t] _) = do 
+updateCtx spc (Hs.InstDecl _ _ sloc assts qname [t] _) = do
hunk ./src/Syntax/Builder.hs 155
-unBang :: Hs.BangType -> Hs.Type
-unBang ty = case ty of 
-            (Hs.BangedTy t) -> t 
-            (Hs.UnBangedTy t) -> t
-            
+unBang :: Hs.Type -> Hs.Type
+unBang (Hs.TyBang bang ty) = ty
+unBang ty                  = ty
+
hunk ./src/Syntax/Builder.hs 246
-    toTExp t (Hs.PLit l) = return $ TLitE (toLit l) t
+    toTExp t (Hs.PLit sign l) = liftM (flip TLitE t) (applysign sign (toLit l))
+        where applysign Hs.Signless lit      = return lit
+              applysign Hs.Negative (Int n)  = return $ Int (negate n)
+              applysign Hs.Negative (Frac r) = return $ Frac (negate r)
+              applysign Hs.Negative _        = throwError . strMsg $ "cannot negate char or string literal"