| Safe Haskell | Safe-Inferred |
|---|---|
| Language | GHC2021 |
Effectful.Globus
Synopsis
- data Globus :: Effect where
- AuthUrl :: Uri Redirect -> NonEmpty Scope -> State -> Globus m (Uri Authorization)
- GetUserInfo :: Token OpenId -> Globus m UserInfoResponse
- GetAccessTokens :: Token Exchange -> Uri Redirect -> Globus m (NonEmpty TokenItem)
- SubmissionId :: Token Access -> Globus m (Id Submission)
- Transfer :: Token Access -> TransferRequest -> Globus m TransferResponse
- StatusTask :: Token Access -> Id Task -> Globus m Task
- StatusTasks :: Token Access -> TaskFilters -> Globus m TaskList
- data GlobusClient = GlobusClient {}
- runGlobus :: IOE :> es => GlobusClient -> Eff (Globus : es) a -> Eff es a
- newtype State = State Text
- newtype Tagged (s :: k) b = Tagged {
- unTagged :: b
- data TransferRequest = TransferRequest {
- data_type :: DataType "transfer"
- submission_id :: Id Submission
- label :: Maybe Text
- source_endpoint :: Id Collection
- destination_endpoint :: Id Collection
- data_ :: [TransferItem]
- sync_level :: SyncLevel
- store_base_path_info :: Bool
- data TransferResponse = TransferResponse {
- task_id :: Id Task
- submission_id :: Token Submission
- message :: Text
- resource :: Text
- request_id :: Token Request
- data TransferItem = TransferItem {
- data_type :: DataType "transfer_item"
- source_path :: FilePath
- destination_path :: FilePath
- recursive :: Bool
- data SyncLevel
- data Task = Task {
- status :: TaskStatus
- task_id :: Id Task
- label :: Text
- files :: Int
- directories :: Int
- files_skipped :: Int
- files_transferred :: Int
- bytes_transferred :: Int
- bytes_checksummed :: Int
- effective_bytes_per_second :: Int
- nice_status :: Maybe Text
- source_endpoint_id :: Id Collection
- destination_endpoint_id :: Id Collection
- data TaskStatus
- newtype TaskFilters = TaskFilters {
- status :: [TaskStatus]
- data TaskList = TaskList {}
- module Network.Globus.Types
- data Scheme
Documentation
data Globus :: Effect where Source #
Constructors
| AuthUrl :: Uri Redirect -> NonEmpty Scope -> State -> Globus m (Uri Authorization) | |
| GetUserInfo :: Token OpenId -> Globus m UserInfoResponse | |
| GetAccessTokens :: Token Exchange -> Uri Redirect -> Globus m (NonEmpty TokenItem) | |
| SubmissionId :: Token Access -> Globus m (Id Submission) | |
| Transfer :: Token Access -> TransferRequest -> Globus m TransferResponse | |
| StatusTask :: Token Access -> Id Task -> Globus m Task | |
| StatusTasks :: Token Access -> TaskFilters -> Globus m TaskList |
Instances
| type DispatchOf Globus Source # | |
Defined in Effectful.Globus | |
data GlobusClient Source #
Constructors
| GlobusClient | |
Fields | |
Opaque secret identifying the user. Validate on redirect
A value is a value Tagged s bb with an attached phantom type s.
This can be used in place of the more traditional but less safe idiom of
passing in an undefined value with the type, because unlike an (s -> b),
a can't try to use the argument Tagged s bs as a real value.
Moreover, you don't have to rely on the compiler to inline away the extra argument, because the newtype is "free"
Tagged has kind k -> * -> * if the compiler supports PolyKinds, therefore
there is an extra k showing in the instance haddocks that may cause confusion.
Instances
| Generic1 (Tagged s :: Type -> Type) | |
| FromJSON2 (Tagged :: Type -> Type -> Type) | |
Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON2 :: Maybe a -> (Value -> Parser a) -> (Value -> Parser [a]) -> Maybe b -> (Value -> Parser b) -> (Value -> Parser [b]) -> Value -> Parser (Tagged a b) # liftParseJSONList2 :: Maybe a -> (Value -> Parser a) -> (Value -> Parser [a]) -> Maybe b -> (Value -> Parser b) -> (Value -> Parser [b]) -> Value -> Parser [Tagged a b] # liftOmittedField2 :: Maybe a -> Maybe b -> Maybe (Tagged a b) # | |
| ToJSON2 (Tagged :: Type -> Type -> Type) | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON2 :: (a -> Bool) -> (a -> Value) -> ([a] -> Value) -> (b -> Bool) -> (b -> Value) -> ([b] -> Value) -> Tagged a b -> Value # liftToJSONList2 :: (a -> Bool) -> (a -> Value) -> ([a] -> Value) -> (b -> Bool) -> (b -> Value) -> ([b] -> Value) -> [Tagged a b] -> Value # liftToEncoding2 :: (a -> Bool) -> (a -> Encoding) -> ([a] -> Encoding) -> (b -> Bool) -> (b -> Encoding) -> ([b] -> Encoding) -> Tagged a b -> Encoding # liftToEncodingList2 :: (a -> Bool) -> (a -> Encoding) -> ([a] -> Encoding) -> (b -> Bool) -> (b -> Encoding) -> ([b] -> Encoding) -> [Tagged a b] -> Encoding # liftOmitField2 :: (a -> Bool) -> (b -> Bool) -> Tagged a b -> Bool # | |
| Bifoldable (Tagged :: Type -> Type -> Type) | |
| Bifoldable1 (Tagged :: Type -> Type -> Type) | |
Defined in Data.Tagged | |
| Bifunctor (Tagged :: Type -> Type -> Type) | |
| Bitraversable (Tagged :: Type -> Type -> Type) | |
Defined in Data.Tagged Methods bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Tagged a b -> f (Tagged c d) # | |
| Eq2 (Tagged :: Type -> Type -> Type) | |
| Ord2 (Tagged :: Type -> Type -> Type) | |
Defined in Data.Tagged | |
| Read2 (Tagged :: Type -> Type -> Type) | |
Defined in Data.Tagged Methods liftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (Tagged a b) # liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [Tagged a b] # liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (Tagged a b) # liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [Tagged a b] # | |
| Show2 (Tagged :: Type -> Type -> Type) | |
| FromJSON1 (Tagged a) | |
Defined in Data.Aeson.Types.FromJSON | |
| ToJSON1 (Tagged a) | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a0 -> Bool) -> (a0 -> Value) -> ([a0] -> Value) -> Tagged a a0 -> Value # liftToJSONList :: (a0 -> Bool) -> (a0 -> Value) -> ([a0] -> Value) -> [Tagged a a0] -> Value # liftToEncoding :: (a0 -> Bool) -> (a0 -> Encoding) -> ([a0] -> Encoding) -> Tagged a a0 -> Encoding # liftToEncodingList :: (a0 -> Bool) -> (a0 -> Encoding) -> ([a0] -> Encoding) -> [Tagged a a0] -> Encoding # liftOmitField :: (a0 -> Bool) -> Tagged a a0 -> Bool # | |
| Foldable (Tagged s) | |
Defined in Data.Tagged Methods fold :: Monoid m => Tagged s m -> m # foldMap :: Monoid m => (a -> m) -> Tagged s a -> m # foldMap' :: Monoid m => (a -> m) -> Tagged s a -> m # foldr :: (a -> b -> b) -> b -> Tagged s a -> b # foldr' :: (a -> b -> b) -> b -> Tagged s a -> b # foldl :: (b -> a -> b) -> b -> Tagged s a -> b # foldl' :: (b -> a -> b) -> b -> Tagged s a -> b # foldr1 :: (a -> a -> a) -> Tagged s a -> a # foldl1 :: (a -> a -> a) -> Tagged s a -> a # elem :: Eq a => a -> Tagged s a -> Bool # maximum :: Ord a => Tagged s a -> a # minimum :: Ord a => Tagged s a -> a # | |
| Foldable1 (Tagged a) | |
Defined in Data.Tagged Methods fold1 :: Semigroup m => Tagged a m -> m # foldMap1 :: Semigroup m => (a0 -> m) -> Tagged a a0 -> m # foldMap1' :: Semigroup m => (a0 -> m) -> Tagged a a0 -> m # toNonEmpty :: Tagged a a0 -> NonEmpty a0 # maximum :: Ord a0 => Tagged a a0 -> a0 # minimum :: Ord a0 => Tagged a a0 -> a0 # foldrMap1 :: (a0 -> b) -> (a0 -> b -> b) -> Tagged a a0 -> b # foldlMap1' :: (a0 -> b) -> (b -> a0 -> b) -> Tagged a a0 -> b # foldlMap1 :: (a0 -> b) -> (b -> a0 -> b) -> Tagged a a0 -> b # foldrMap1' :: (a0 -> b) -> (a0 -> b -> b) -> Tagged a a0 -> b # | |
| Eq1 (Tagged s) | |
| Ord1 (Tagged s) | |
Defined in Data.Tagged | |
| Read1 (Tagged s) | |
Defined in Data.Tagged | |
| Show1 (Tagged s) | |
| Traversable (Tagged s) | |
| Applicative (Tagged s) | |
| Functor (Tagged s) | |
| Monad (Tagged s) | |
| FromJSON b => FromJSON (Tagged a b) | |
Defined in Data.Aeson.Types.FromJSON | |
| FromJSONKey b => FromJSONKey (Tagged a b) | |
Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction (Tagged a b) # fromJSONKeyList :: FromJSONKeyFunction [Tagged a b] # | |
| ToJSON b => ToJSON (Tagged a b) | |
| ToJSONKey b => ToJSONKey (Tagged a b) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction (Tagged a b) # toJSONKeyList :: ToJSONKeyFunction [Tagged a b] # | |
| (Data s, Data b) => Data (Tagged s b) | |
Defined in Data.Tagged Methods gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> Tagged s b -> c (Tagged s b) # gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Tagged s b) # toConstr :: Tagged s b -> Constr # dataTypeOf :: Tagged s b -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Tagged s b)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Tagged s b)) # gmapT :: (forall b0. Data b0 => b0 -> b0) -> Tagged s b -> Tagged s b # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Tagged s b -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Tagged s b -> r # gmapQ :: (forall d. Data d => d -> u) -> Tagged s b -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Tagged s b -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Tagged s b -> m (Tagged s b) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Tagged s b -> m (Tagged s b) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Tagged s b -> m (Tagged s b) # | |
| IsString a => IsString (Tagged s a) | |
Defined in Data.Tagged Methods fromString :: String -> Tagged s a # | |
| Storable a => Storable (Tagged s a) | |
Defined in Data.Tagged Methods alignment :: Tagged s a -> Int # peekElemOff :: Ptr (Tagged s a) -> Int -> IO (Tagged s a) # pokeElemOff :: Ptr (Tagged s a) -> Int -> Tagged s a -> IO () # peekByteOff :: Ptr b -> Int -> IO (Tagged s a) # pokeByteOff :: Ptr b -> Int -> Tagged s a -> IO () # | |
| (Semigroup a, Monoid a) => Monoid (Tagged s a) | |
| Semigroup a => Semigroup (Tagged s a) | |
| Bits a => Bits (Tagged s a) | |
Defined in Data.Tagged Methods (.&.) :: Tagged s a -> Tagged s a -> Tagged s a # (.|.) :: Tagged s a -> Tagged s a -> Tagged s a # xor :: Tagged s a -> Tagged s a -> Tagged s a # complement :: Tagged s a -> Tagged s a # shift :: Tagged s a -> Int -> Tagged s a # rotate :: Tagged s a -> Int -> Tagged s a # setBit :: Tagged s a -> Int -> Tagged s a # clearBit :: Tagged s a -> Int -> Tagged s a # complementBit :: Tagged s a -> Int -> Tagged s a # testBit :: Tagged s a -> Int -> Bool # bitSizeMaybe :: Tagged s a -> Maybe Int # bitSize :: Tagged s a -> Int # isSigned :: Tagged s a -> Bool # shiftL :: Tagged s a -> Int -> Tagged s a # unsafeShiftL :: Tagged s a -> Int -> Tagged s a # shiftR :: Tagged s a -> Int -> Tagged s a # unsafeShiftR :: Tagged s a -> Int -> Tagged s a # rotateL :: Tagged s a -> Int -> Tagged s a # | |
| FiniteBits a => FiniteBits (Tagged s a) | |
Defined in Data.Tagged Methods finiteBitSize :: Tagged s a -> Int # countLeadingZeros :: Tagged s a -> Int # countTrailingZeros :: Tagged s a -> Int # | |
| Bounded b => Bounded (Tagged s b) | |
| Enum a => Enum (Tagged s a) | |
Defined in Data.Tagged Methods succ :: Tagged s a -> Tagged s a # pred :: Tagged s a -> Tagged s a # fromEnum :: Tagged s a -> Int # enumFrom :: Tagged s a -> [Tagged s a] # enumFromThen :: Tagged s a -> Tagged s a -> [Tagged s a] # enumFromTo :: Tagged s a -> Tagged s a -> [Tagged s a] # enumFromThenTo :: Tagged s a -> Tagged s a -> Tagged s a -> [Tagged s a] # | |
| Floating a => Floating (Tagged s a) | |
Defined in Data.Tagged Methods exp :: Tagged s a -> Tagged s a # log :: Tagged s a -> Tagged s a # sqrt :: Tagged s a -> Tagged s a # (**) :: Tagged s a -> Tagged s a -> Tagged s a # logBase :: Tagged s a -> Tagged s a -> Tagged s a # sin :: Tagged s a -> Tagged s a # cos :: Tagged s a -> Tagged s a # tan :: Tagged s a -> Tagged s a # asin :: Tagged s a -> Tagged s a # acos :: Tagged s a -> Tagged s a # atan :: Tagged s a -> Tagged s a # sinh :: Tagged s a -> Tagged s a # cosh :: Tagged s a -> Tagged s a # tanh :: Tagged s a -> Tagged s a # asinh :: Tagged s a -> Tagged s a # acosh :: Tagged s a -> Tagged s a # atanh :: Tagged s a -> Tagged s a # log1p :: Tagged s a -> Tagged s a # expm1 :: Tagged s a -> Tagged s a # | |
| RealFloat a => RealFloat (Tagged s a) | |
Defined in Data.Tagged Methods floatRadix :: Tagged s a -> Integer # floatDigits :: Tagged s a -> Int # floatRange :: Tagged s a -> (Int, Int) # decodeFloat :: Tagged s a -> (Integer, Int) # encodeFloat :: Integer -> Int -> Tagged s a # exponent :: Tagged s a -> Int # significand :: Tagged s a -> Tagged s a # scaleFloat :: Int -> Tagged s a -> Tagged s a # isInfinite :: Tagged s a -> Bool # isDenormalized :: Tagged s a -> Bool # isNegativeZero :: Tagged s a -> Bool # | |
| Generic (Tagged s b) | |
| Ix b => Ix (Tagged s b) | |
Defined in Data.Tagged Methods range :: (Tagged s b, Tagged s b) -> [Tagged s b] # index :: (Tagged s b, Tagged s b) -> Tagged s b -> Int # unsafeIndex :: (Tagged s b, Tagged s b) -> Tagged s b -> Int # inRange :: (Tagged s b, Tagged s b) -> Tagged s b -> Bool # rangeSize :: (Tagged s b, Tagged s b) -> Int # unsafeRangeSize :: (Tagged s b, Tagged s b) -> Int # | |
| Num a => Num (Tagged s a) | |
Defined in Data.Tagged | |
| Read b => Read (Tagged s b) | |
| Fractional a => Fractional (Tagged s a) | |
| Integral a => Integral (Tagged s a) | |
Defined in Data.Tagged Methods quot :: Tagged s a -> Tagged s a -> Tagged s a # rem :: Tagged s a -> Tagged s a -> Tagged s a # div :: Tagged s a -> Tagged s a -> Tagged s a # mod :: Tagged s a -> Tagged s a -> Tagged s a # quotRem :: Tagged s a -> Tagged s a -> (Tagged s a, Tagged s a) # divMod :: Tagged s a -> Tagged s a -> (Tagged s a, Tagged s a) # | |
| Real a => Real (Tagged s a) | |
Defined in Data.Tagged Methods toRational :: Tagged s a -> Rational # | |
| RealFrac a => RealFrac (Tagged s a) | |
| Show b => Show (Tagged s b) | |
| NFData b => NFData (Tagged s b) | |
Defined in Data.Tagged | |
| Eq b => Eq (Tagged s b) | |
| Ord b => Ord (Tagged s b) | |
| FromFormKey a => FromFormKey (Tagged b a) | |
Defined in Web.Internal.FormUrlEncoded | |
| ToFormKey a => ToFormKey (Tagged b a) | |
Defined in Web.Internal.FormUrlEncoded | |
| FromHttpApiData a => FromHttpApiData (Tagged b a) | Note: this instance is not polykinded |
Defined in Web.Internal.HttpApiData Methods parseUrlPiece :: Text -> Either Text (Tagged b a) # parseHeader :: ByteString -> Either Text (Tagged b a) # | |
| ToHttpApiData a => ToHttpApiData (Tagged b a) | Note: this instance is not polykinded |
Defined in Web.Internal.HttpApiData Methods toUrlPiece :: Tagged b a -> Text # toEncodedUrlPiece :: Tagged b a -> Builder # toHeader :: Tagged b a -> ByteString # toQueryParam :: Tagged b a -> Text # toEncodedQueryParam :: Tagged b a -> Builder # | |
| type Rep1 (Tagged s :: Type -> Type) | |
Defined in Data.Tagged | |
| type Rep (Tagged s b) | |
Defined in Data.Tagged | |
data TransferRequest Source #
Constructors
| TransferRequest | |
Fields
| |
Instances
data TransferResponse Source #
Constructors
| TransferResponse | |
Fields
| |
Instances
data TransferItem Source #
Constructors
| TransferItem | |
Fields
| |
Instances
Constructors
| SyncExists | |
| SyncSize | |
| SyncTimestamp | |
| SyncChecksum |
Constructors
| Task | |
Fields
| |
Instances
data TaskStatus Source #
Instances
| FromJSON TaskStatus Source # | |
Defined in Network.Globus.Transfer | |
| Generic TaskStatus Source # | |
Defined in Network.Globus.Transfer Associated Types type Rep TaskStatus :: Type -> Type # | |
| Show TaskStatus Source # | |
Defined in Network.Globus.Transfer Methods showsPrec :: Int -> TaskStatus -> ShowS # show :: TaskStatus -> String # showList :: [TaskStatus] -> ShowS # | |
| Eq TaskStatus Source # | |
Defined in Network.Globus.Transfer | |
| type Rep TaskStatus Source # | |
Defined in Network.Globus.Transfer type Rep TaskStatus = D1 ('MetaData "TaskStatus" "Network.Globus.Transfer" "globus-0.1.3-717zbk1pF7jBkH3Wb8XUPf" 'False) ((C1 ('MetaCons "Active" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Inactive" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Succeeded" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Failed" 'PrefixI 'False) (U1 :: Type -> Type))) | |
newtype TaskFilters Source #
Constructors
| TaskFilters | |
Fields
| |
Instances
| Monoid TaskFilters Source # | |
Defined in Network.Globus.Transfer Methods mempty :: TaskFilters # mappend :: TaskFilters -> TaskFilters -> TaskFilters # mconcat :: [TaskFilters] -> TaskFilters # | |
| Semigroup TaskFilters Source # | |
Defined in Network.Globus.Transfer Methods (<>) :: TaskFilters -> TaskFilters -> TaskFilters # sconcat :: NonEmpty TaskFilters -> TaskFilters # stimes :: Integral b => b -> TaskFilters -> TaskFilters # | |
| Show TaskFilters Source # | |
Defined in Network.Globus.Transfer Methods showsPrec :: Int -> TaskFilters -> ShowS # show :: TaskFilters -> String # showList :: [TaskFilters] -> ShowS # | |
| Eq TaskFilters Source # | |
Defined in Network.Globus.Transfer | |
Instances
| FromJSON TaskList Source # | |
Defined in Network.Globus.Transfer | |
| Generic TaskList Source # | |
| Show TaskList Source # | |
| type Rep TaskList Source # | |
Defined in Network.Globus.Transfer type Rep TaskList = D1 ('MetaData "TaskList" "Network.Globus.Transfer" "globus-0.1.3-717zbk1pF7jBkH3Wb8XUPf" 'False) (C1 ('MetaCons "TaskList" 'PrefixI 'True) ((S1 ('MetaSel ('Just "length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "limit") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "offset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: (S1 ('MetaSel ('Just "total") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Task]))))) | |
module Network.Globus.Types
A type-level tag that specifies URL scheme used (and thus if HTTPS is
enabled). This is used to force TLS requirement for some authentication
Options.
Instances
| Data Scheme | |
Defined in Network.HTTP.Req Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Scheme -> c Scheme # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Scheme # toConstr :: Scheme -> Constr # dataTypeOf :: Scheme -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Scheme) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Scheme) # gmapT :: (forall b. Data b => b -> b) -> Scheme -> Scheme # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Scheme -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Scheme -> r # gmapQ :: (forall d. Data d => d -> u) -> Scheme -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Scheme -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Scheme -> m Scheme # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Scheme -> m Scheme # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Scheme -> m Scheme # | |
| Generic Scheme | |
| Show Scheme | |
| Eq Scheme | |
| Ord Scheme | |
| Lift Scheme | |
| type Rep Scheme | |