singletons-2.6: A framework for generating singleton types

Copyright | (C) 2019 Ryan Scott
License | BSD-style (see LICENSE)
Maintainer | Ryan Scott
Stability | experimental
Portability | non-portable
Safe Haskell | None
Language | Haskell2010

Data.Singletons.Prelude.Monad.Fail

Contents

- Defunctionalization symbols

Description

Defines the promoted and singled versions of the `MonadFail` type class.

Synopsis

- class PMonadFail (m :: Type -> Type) where
  - type Fail (arg :: [Char]) :: m a
- class SMonad m => SMonadFail (m :: Type -> Type) where
  - sFail :: forall a (t :: [Char]). Sing t -> Sing (Apply FailSym0 t :: m a)
- data FailSym0 :: forall m6989586621679735037 a6989586621679735038. (~>) [Char] (m6989586621679735037 a6989586621679735038)
- type FailSym1 (arg6989586621679735057 :: [Char]) = Fail arg6989586621679735057

# Documentation

class PMonadFail (m :: Type -> Type) Source #

Associated Types

type Fail (arg :: [Char]) :: m a Source #

#### Instances

Instances details

PMonadFail [] Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Fail Associated Types type Fail arg :: m a Source #
PMonadFail Maybe Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Fail Associated Types type Fail arg :: m a Source #

class SMonad m => SMonadFail (m :: Type -> Type) where Source #

Methods

sFail :: forall a (t :: [Char]). Sing t -> Sing (Apply FailSym0 t :: m a) Source #

#### Instances

Instances details

SMonadFail [] Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Fail Methods sFail :: forall a (t :: [Char]). Sing t -> Sing (Apply FailSym0 t) Source #
SMonadFail Maybe Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Fail Methods sFail :: forall a (t :: [Char]). Sing t -> Sing (Apply FailSym0 t) Source #

# Defunctionalization symbols

data FailSym0 :: forall m6989586621679735037 a6989586621679735038. (~>) [Char] (m6989586621679735037 a6989586621679735038) Source #

#### Instances

Instances details

SMonadFail m => SingI (FailSym0 :: TyFun [Char] (m a) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Fail Methods sing :: Sing FailSym0 Source #
SuppressUnusedWarnings (FailSym0 :: TyFun [Char] (m6989586621679735037 a6989586621679735038) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Fail Methods suppressUnusedWarnings :: () Source #
type Apply (FailSym0 :: TyFun [Char] (m6989586621679735037 a6989586621679735038) -> Type) (arg6989586621679735057 :: [Char]) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Fail type Apply (FailSym0 :: TyFun [Char] (m6989586621679735037 a6989586621679735038) -> Type) (arg6989586621679735057 :: [Char]) = Fail arg6989586621679735057 :: m6989586621679735037 a6989586621679735038

type FailSym1 (arg6989586621679735057 :: [Char]) = Fail arg6989586621679735057 Source #