-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Create strippable HKD via TH -- -- Please see Data.Barbie.TH @package barbies-th @version 0 module Data.Barbie.TH -- | barbies doesn't care about field names, but they are useful in many -- use cases class FieldNamesB b -- | A collection of field names. bfieldNames :: (FieldNamesB b, IsString a) => b (Const a) -- | Transform a regular Haskell record declaration into HKD form. -- BareB, FieldNamesB, FunctorB, -- TraversableB, ProductB, ConstraintsB and -- ProductBC instances are derived. -- -- For example, -- --
-- declareBareB [d|data User = User { uid :: Int, name :: String}|]
--
--
-- becomes
--
--
-- data User t f = User { uid :: Wear t f Int, name :: Wear t f String }
--
declareBareB :: DecsQ -> DecsQ