th-desugar 1.5.1 → 1.5.2
raw patch · 3 files changed
+22/−15 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGES.md +4/−0
- Language/Haskell/TH/Desugar/Sweeten.hs +16/−13
- th-desugar.cabal +2/−2
CHANGES.md view
@@ -1,3 +1,7 @@+Version 1.5.2+-------------+* Sweeten kinds more, too.+ Version 1.5.1 ------------- * Thanks to David Fox (@ddssff), sweetening now tries to use more of TH's `Type`
Language/Haskell/TH/Desugar/Sweeten.hs view
@@ -174,18 +174,7 @@ typeToTH (DAppT t1 t2) = AppT (typeToTH t1) (typeToTH t2) typeToTH (DSigT ty ki) = SigT (typeToTH ty) (kindToTH ki) typeToTH (DVarT n) = VarT n-typeToTH (DConT n)- | n == ''[] = ListT-#if __GLASGOW_HASKELL__ >= 709- | n == ''(~) = EqualityT-#endif- | n == '[] = PromotedNilT- | n == '(:) = PromotedConsT- | Just deg <- tupleNameDegree_maybe n = if isDataName n- then PromotedTupleT deg- else TupleT deg- | Just deg <- unboxedTupleNameDegree_maybe n = UnboxedTupleT deg- | otherwise = ConT n+typeToTH (DConT n) = tyconToTH n typeToTH DArrowT = ArrowT typeToTH (DLitT lit) = LitT lit @@ -220,6 +209,20 @@ kindToTH :: DKind -> Kind kindToTH (DForallK names ki) = ForallT (map PlainTV names) [] (kindToTH ki) kindToTH (DVarK n) = VarT n-kindToTH (DConK n kis) = foldl AppT (ConT n) (map kindToTH kis)+kindToTH (DConK n kis) = foldl AppT (tyconToTH n) (map kindToTH kis) kindToTH (DArrowK k1 k2) = AppT (AppT ArrowT (kindToTH k1)) (kindToTH k2) kindToTH DStarK = StarT++tyconToTH :: Name -> Type+tyconToTH n+ | n == ''[] = ListT+#if __GLASGOW_HASKELL__ >= 709+ | n == ''(~) = EqualityT+#endif+ | n == '[] = PromotedNilT+ | n == '(:) = PromotedConsT+ | Just deg <- tupleNameDegree_maybe n = if isDataName n+ then PromotedTupleT deg+ else TupleT deg+ | Just deg <- unboxedTupleNameDegree_maybe n = UnboxedTupleT deg+ | otherwise = ConT n
th-desugar.cabal view
@@ -1,5 +1,5 @@ name: th-desugar-version: 1.5.1+version: 1.5.2 cabal-version: >= 1.10 synopsis: Functions to desugar Template Haskell homepage: http://www.cis.upenn.edu/~eir/packages/th-desugar@@ -26,7 +26,7 @@ source-repository this type: git location: https://github.com/goldfirere/th-desugar.git- tag: v1.5.1+ tag: v1.5.2 library build-depends: