Safe Haskell | None |
---|---|
Language | Haskell2010 |
Accessors
- class Lookup a where
- toAccessorTree :: Lens' b a -> AccessorTree b
- type AccessorTree a = Either (GAField a) (GAData a)
- data GAData a = GAData String (GAConstructor a)
- data GAConstructor a
- = GAConstructor String [(Maybe String, AccessorTree a)]
- | GASum (GASimpleEnum a)
- data GASimpleEnum a = GASimpleEnum {
- eConstructors :: [String]
- eToString :: a -> String
- eToIndex :: a -> Int
- eFromString :: a -> String -> Either String a
- eFromIndex :: a -> Int -> Either String a
- data GAField a
- = FieldDouble (Lens' a Double)
- | FieldFloat (Lens' a Float)
- | FieldInt (Lens' a Int)
- | FieldString (Lens' a String)
- | FieldSorry
- data GATip a
- = GATipSimpleEnum (GASimpleEnum a)
- | GATipField (GAField a)
- accessors :: Lookup a => AccessorTree a
- describeGAField :: GAField a -> String
- sameFieldType :: GAField a -> GAField b -> Bool
- flatten :: AccessorTree a -> [(String, GATip a)]
- flatten' :: AccessorTree a -> [([Maybe String], GATip a)]
- showTree :: AccessorTree a -> (Double -> String) -> a -> String
- showFlat :: forall a. AccessorTree a -> Bool -> (Double -> String) -> a -> String
Documentation
Things which you can make a tree of labeled getters for. You should derive this using GHC.Generics.
Minimal complete definition
Nothing
Methods
toAccessorTree :: Lens' b a -> AccessorTree b Source
type AccessorTree a = Either (GAField a) (GAData a) Source
data GAConstructor a Source
Constructors
GAConstructor String [(Maybe String, AccessorTree a)] | |
GASum (GASimpleEnum a) |
data GASimpleEnum a Source
Constructors
GASimpleEnum | |
Fields
|
Constructors
FieldDouble (Lens' a Double) | |
FieldFloat (Lens' a Float) | |
FieldInt (Lens' a Int) | |
FieldString (Lens' a String) | |
FieldSorry | a field which is not yet supported |
Constructors
GATipSimpleEnum (GASimpleEnum a) | |
GATipField (GAField a) |
accessors :: Lookup a => AccessorTree a Source
describeGAField :: GAField a -> String Source
sameFieldType :: GAField a -> GAField b -> Bool Source
Returns True if the type of fields is the same.
flatten :: AccessorTree a -> [(String, GATip a)] Source