packages feed

traverse-code 0.1.1 → 0.1.1.1

raw patch · 3 files changed

+16/−17 lines, 3 files

Files

CHANGELOG.md view
@@ -1,5 +1,13 @@ # Revision history for traverse-code +## 0.1.1.1 -- 2022-01-22++This release mostly exists to try to get Hackage to generate good+documentation links; I couldn't do it building docs myself.++* Remove unnecessary proxy type.+* Remove stale comments.+ ## 0.1.1 -- 2022-01-22  * Lots more instances.
src/Language/Haskell/TH/TraverseCode.hs view
@@ -1,11 +1,8 @@-{-# options_ghc -Wall #-} {-# language TemplateHaskellQuotes #-} {-# language FlexibleContexts #-} {-# language FlexibleInstances #-} {-# language ScopedTypeVariables #-}-{-# language KindSignatures #-} {-# language DataKinds #-}-{-# language TypeApplications #-} {-# language TypeOperators #-} {-# language EmptyCase #-} {-# language DefaultSignatures #-}@@ -21,7 +18,6 @@ import Language.Haskell.TH.Syntax (Code, Lift (..), Exp (..), Quote, Name) import qualified Language.Haskell.TH.Syntax as TH import Language.Haskell.TH.Lib (conE)-import Data.Kind (Type)  -- for instances import qualified Data.Functor.Product as FProd@@ -70,13 +66,11 @@ class GTraverseCode f where   gtraverseCode :: Quote m => (a -> Code m b) -> f a -> m Exp -data Goop (d :: Meta) (f :: Type -> Type) a = Goop- instance (Datatype c, GTraverseCodeCon f) => GTraverseCode (D1 c f) where-  gtraverseCode f (M1 x) = gtraverseCodeCon pkg modl f x+  gtraverseCode f m@(M1 x) = gtraverseCodeCon pkg modl f x     where-      pkg = packageName (Goop @c @f)-      modl = moduleName (Goop @c @f)+      pkg = packageName m+      modl = moduleName m  class GTraverseCodeCon f where   gtraverseCodeCon :: Quote m => String -> String -> (a -> Code m b) -> f a -> m Exp@@ -90,9 +84,9 @@   gtraverseCodeCon pkg modl f (R1 y) = gtraverseCodeCon pkg modl f y  instance (Constructor c, GTraverseCodeFields f) => GTraverseCodeCon (C1 c f) where-  gtraverseCodeCon pkg modl f (M1 x) = gtraverseCodeFields (conE conN) f x+  gtraverseCodeCon pkg modl f m@(M1 x) = gtraverseCodeFields (conE conN) f x     where-      conBase = conName (Goop @c @f)+      conBase = conName m       conN :: Name       conN = TH.mkNameG_d pkg modl conBase 
traverse-code.cabal view
@@ -1,6 +1,6 @@ cabal-version:      2.2 name:               traverse-code-version:            0.1.1+version:            0.1.1.1 synopsis:           General data structure lifting for Template Haskell tested-with:     GHC ==9.0.1 || ==9.2.1@@ -13,14 +13,13 @@ homepage:           https://github.com/treeowl/traverse-code  -- A URL where users can report bugs.--- bug-reports:+bug-reports: https://github.com/treeowl/traverse-code/issues license:            BSD-3-Clause license-file:       LICENSE author:             David Feuer maintainer:         David.Feuer@gmail.com --- A copyright notice.--- copyright:+copyright:          2022 David Feuer category:           Language extra-source-files: CHANGELOG.md @@ -35,8 +34,6 @@     other-extensions:       TemplateHaskellQuotes -    -- TODO: figure out a base version; make things work with-    -- older Template Haskell     build-depends:    base >=4.15.0.0 && < 4.17                     , template-haskell >= 2.16                     , containers