-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A variant data type, useful for modeling dynamically-typed programming languages -- -- Implements a variant data type that can hold the usual -- suspects: scalars (integers, floats, strings), lists, association -- lists, booleans, null, and first-class functions. @package data-variant @version 0.28.0.3 module Data.Variant data Variant Null :: Variant Integer :: Integer -> Variant Double :: Double -> Variant String :: String -> Variant Bool :: Bool -> Variant List :: [Variant] -> Variant AList :: [(Variant, Variant)] -> Variant Function :: ([Variant] -> Variant) -> Variant flatten :: Variant -> String toInteger :: Variant -> Integer toDouble :: Variant -> Double toBool :: Variant -> Bool toAList :: Variant -> [(Variant, Variant)] (~==) :: Variant -> Variant -> Bool (~/=) :: Variant -> Variant -> Bool lookup :: Variant -> Variant -> Variant elem :: Variant -> Variant -> Variant keyExists :: Variant -> Variant -> Bool merge :: Variant -> Variant -> Variant scopeMerge :: Variant -> Variant -> Variant keys :: Variant -> [Variant] values :: Variant -> [Variant] vmap :: (Variant -> a) -> Variant -> [a] vamap :: ((Variant, Variant) -> a) -> Variant -> [a] wrapf :: ([Variant] -> Variant) -> Variant wrapfs :: (Variant -> [Variant] -> Variant) -> Variant -> Variant wrapf1 :: (Variant -> Variant) -> Variant wrapfs1 :: (Variant -> Variant -> Variant) -> Variant -> Variant call :: Variant -> [Variant] -> Variant callMaybe :: Variant -> [Variant] -> Maybe Variant callDef :: Variant -> [Variant] -> Variant -> Variant instance Show Variant instance Eq Variant instance Num Variant instance Monoid Variant instance Ord Variant instance Eq ([Variant] -> Variant) instance Show ([Variant] -> Variant) module Data.Variant.ToFrom class ToVariant a toVariant :: ToVariant a => a -> Variant class FromVariant a fromVariant :: FromVariant a => Variant -> a instance [incoherent] (FromVariant a, FromVariant b, FromVariant c, ToVariant d) => ToVariant (a -> b -> c -> d) instance [incoherent] (FromVariant a, FromVariant b, ToVariant c) => ToVariant (a -> b -> c) instance [incoherent] (FromVariant a, ToVariant b) => ToVariant (a -> b) instance [incoherent] FromVariant a => FromVariant [a] instance [incoherent] ToVariant a => ToVariant [a] instance [incoherent] (FromVariant a, FromVariant b) => FromVariant [(a, b)] instance [incoherent] (ToVariant a, ToVariant b) => ToVariant [(a, b)] instance [incoherent] FromVariant a => FromVariant (Maybe a) instance [incoherent] ToVariant a => ToVariant (Maybe a) instance [incoherent] FromVariant Int instance [incoherent] ToVariant Int instance [incoherent] FromVariant Integer instance [incoherent] ToVariant Integer instance [incoherent] FromVariant Double instance [incoherent] ToVariant Double instance [incoherent] FromVariant Bool instance [incoherent] ToVariant Bool instance [incoherent] FromVariant String instance [incoherent] ToVariant String instance [incoherent] FromVariant Variant instance [incoherent] ToVariant Variant