Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class Lookup a where
- 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
- class GLookup f where
Documentation
Things which you can make a tree of labeled getters for. You should derive this using GHC.Generics.
toAccessorTree :: Lens' b a -> AccessorTree b Source #
toAccessorTree :: (Generic a, GLookup (Rep a)) => Lens' b a -> AccessorTree b Source #
data GAConstructor a Source #
GAConstructor String [(Maybe String, AccessorTree a)] | |
GASum (GASimpleEnum a) |
data GASimpleEnum a Source #
GASimpleEnum | |
|
FieldDouble (Lens' a Double) | |
FieldFloat (Lens' a Float) | |
FieldInt (Lens' a Int) | |
FieldString (Lens' a String) | |
FieldSorry | a field which is not yet supported |
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.
showFlat :: forall a. AccessorTree a -> Bool -> (Double -> String) -> a -> String Source #
Show a list of values . True --> align the colums, False --> total mayhem
class GLookup f where Source #
gtoAccessorTree :: Lens' b (f a) -> AccessorTree b Source #