on master help sign in
Add a top-level Data.Generics.Sum module.
1a87a90Will Jones
generic-lens.cabal+1
@@ -24,6 +24,7 @@ library
24 , Data.Generics.Product.Positions
24 , Data.Generics.Product.Positions
25 , Data.Generics.Product.Subtype
25 , Data.Generics.Product.Subtype
26 , Data.Generics.Product.Typed
26 , Data.Generics.Product.Typed
27+ , Data.Generics.Sum
27 , Data.Generics.Sum.Any
28 , Data.Generics.Sum.Any
28 , Data.Generics.Sum.Constructors
29 , Data.Generics.Sum.Constructors
29 , Data.Generics.Sum.Typed
30 , Data.Generics.Sum.Typed
src/Data/Generics/Product.hs+4−4
@@ -14,21 +14,21 @@
14-- be derived (see examples).
14-- be derived (see examples).
15--
15--
16-----------------------------------------------------------------------------
16-----------------------------------------------------------------------------
17+
17module Data.Generics.Product
18module Data.Generics.Product
18− ( -- * Lenses
19+ ( -- *Lenses
19 HasAny (..)
20 HasAny (..)
20
21
21 , HasField (..)
22 , HasField (..)
22 , HasPosition (..)
23 , HasPosition (..)
23 , HasType (..)
24 , HasType (..)
24
25
25− -- * Subtype relationship
26+ -- *Subtype relationships
26 , Subtype (..)
27 , Subtype (..)
27−
28 ) where
28 ) where
29
29
30import Data.Generics.Product.Any
30import Data.Generics.Product.Any
31import Data.Generics.Product.Fields
31import Data.Generics.Product.Fields
32import Data.Generics.Product.Positions
32import Data.Generics.Product.Positions
33−import Data.Generics.Product.Typed
34import Data.Generics.Product.Subtype
33import Data.Generics.Product.Subtype
34+import Data.Generics.Product.Typed
src/Data/Generics/Sum.hs+25−2
@@ -1,5 +1,28 @@
1+-----------------------------------------------------------------------------
2+-- |
3+-- Module : Data.Generics.Product
4+-- Copyright : (C) 2017 Csongor Kiss
5+-- License : BSD3
6+-- Maintainer : Csongor Kiss <kiss.csongor.kiss@gmail.com>
7+-- Stability : experimental
8+-- Portability : non-portable
9+--
10+-- Magic sum operations using Generics
11+--
12+-- These classes need not be instantiated manually, as GHC can automatically
13+-- prove valid instances via Generics. Only the `Generic` class needs to
14+-- be derived (see examples).
15+--
16+-----------------------------------------------------------------------------
17+
1module Data.Generics.Sum
18module Data.Generics.Sum
2− ( module HasConstructor
19+ ( -- *Prisms
20+ AsAny (..)
21+
22+ , AsConstructor (..)
23+ , AsType (..)
3 ) where
24 ) where
4
25
5−import Data.Generics.Sum.HasConstructor as HasConstructor
26+import Data.Generics.Sum.Any
27+import Data.Generics.Sum.Constructors
28+import Data.Generics.Sum.Typed