-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | get stuff out of stuff -- -- Please see the README on Github at -- https://github.com/MarisaKirisame/Get#readme @package Get @version 0.2018.1.10 module Control.Get data And x y And :: x -> y -> And x y data Or x y OrLeft :: x -> Or x y OrRight :: y -> Or x y data Bottom fromBot :: Bottom -> a data Top Top :: Top fromVal :: a -> Proxy a class TryGet as from self ok | as from self -> ok tryGetSing :: TryGet as from self ok => Proxy self -> Proxy from -> Proxy as -> Sing ok tryGetVal :: TryGet as from self ok => self -> from -> Proxy as -> If ok as () tryGet :: TryGet as from self ok => self -> from -> Proxy as -> (If ok as (), Sing ok) class TryGet as from from True => Get as from get :: Get as from => from -> as andLeftP :: Proxy (And l r) -> Proxy l andRightP :: Proxy (And l r) -> Proxy r class TryGetAndL a b from self (aOK :: Bool) (andOK :: Bool) | b from self aOK -> andOK tryGetAndLVal :: TryGetAndL a b from self aOK andOK => self -> from -> (If aOK a (), Sing aOK) -> Proxy (And a b) -> If andOK (And a b) () tryGetAndLSing :: TryGetAndL a b from self aOK andOK => Proxy self -> Proxy from -> Sing aOK -> Proxy (And a b) -> Sing andOK class TryGetAndR as b self (aOK :: Bool) (andOK :: Bool) | as b self aOK -> andOK tryGetAndRVal :: TryGetAndR as b self aOK andOK => self -> (If aOK as (), Sing aOK) -> b -> Proxy as -> If andOK as () tryGetAndRSing :: TryGetAndR as b self aOK andOK => Proxy self -> Sing aOK -> Proxy b -> Proxy as -> Sing andOK orLeftP :: Proxy (Or l r) -> Proxy l orRightP :: Proxy (Or l r) -> Proxy r class TryGetOrL a b from self (aOK :: Bool) (orOK :: Bool) | b from self aOK -> orOK tryGetOrLVal :: TryGetOrL a b from self aOK orOK => self -> from -> (If aOK a (), Sing aOK) -> Proxy (Or a b) -> If orOK (Or a b) () tryGetOrLSing :: TryGetOrL a b from self aOK orOK => Proxy self -> Proxy from -> Sing aOK -> Proxy (Or a b) -> Sing orOK class TryGetOrR as b self (aOK :: Bool) orOK | as b self aOK -> orOK tryGetOrRVal :: TryGetOrR as b self aOK orOK => self -> b -> Sing aOK -> Proxy as -> If orOK as () tryGetOrRSing :: TryGetOrR as b self aOK orOK => Proxy self -> Proxy b -> Sing aOK -> Proxy as -> Sing orOK tryGetOrRUnify :: TryGetOrR as b self aOK orOK => Proxy self -> Proxy b -> Sing aOK -> Proxy as -> Dict (orOK ~ True) -> Dict (aOK ~ True) newtype Protected x Protected :: x -> Protected x [runProtected] :: Protected x -> x unProtectedP :: Proxy (Protected x) -> Proxy x instance Control.Get.TryGet as from from ok => Control.Get.TryGet as (Control.Get.Protected from) self ok instance Control.Get.TryGetOrR as b self 'GHC.Types.False 'GHC.Types.False instance Control.Get.TryGet as b self orOK => Control.Get.TryGetOrR as b self 'GHC.Types.True orOK instance (Control.Get.TryGet as a self aOK, Control.Get.TryGetOrR as b self aOK orOK) => Control.Get.TryGet as (Control.Get.Or a b) self orOK instance Control.Get.TryGetOrL a b from self 'GHC.Types.True 'GHC.Types.True instance Control.Get.TryGet b from self orOK => Control.Get.TryGetOrL a b from self 'GHC.Types.False orOK instance (Control.Get.TryGet a from self aOK, Control.Get.TryGetOrL a b from self aOK orOK) => Control.Get.TryGet (Control.Get.Or a b) from self orOK instance Control.Get.TryGetAndR as b self 'GHC.Types.True 'GHC.Types.True instance Control.Get.TryGet as b self andOK => Control.Get.TryGetAndR as b self 'GHC.Types.False andOK instance (Control.Get.TryGet as a self aOK, Control.Get.TryGetAndR as b self aOK andOK) => Control.Get.TryGet as (Control.Get.And a b) self andOK instance Control.Get.TryGetAndL a b from self 'GHC.Types.False 'GHC.Types.False instance Control.Get.TryGet b from self andOK => Control.Get.TryGetAndL a b from self 'GHC.Types.True andOK instance (Control.Get.TryGet a from self aOK, Control.Get.TryGetAndL a b from self aOK andOK) => Control.Get.TryGet (Control.Get.And a b) from self andOK instance Control.Get.TryGet as from from 'GHC.Types.True => Control.Get.Get as from instance Control.Get.TryGet Control.Get.Top from self 'GHC.Types.True instance ok ~ 'GHC.Types.False => Control.Get.TryGet as Control.Get.Top self ok instance Control.Get.TryGet as Control.Get.Bottom self 'GHC.Types.True instance ok ~ 'GHC.Types.True => Control.Get.TryGet a a self ok