GHC.Internal.GHCi

ghc-internal-9.1001.0: Basic libraries

Copyright | (c) The University of Glasgow 2012
License | see libraries/base/LICENSE
Maintainer | ghc-devs@haskell.org
Stability | internal
Portability | non-portable (GHC Extensions)
Safe Haskell | None
Language | Haskell2010

GHC.Internal.GHCi

Description

The GHCi Monad lifting interface.

EXPERIMENTAL! DON'T USE.

The API of this module is unstable and not meant to be consumed by the general public. If you absolutely must depend on it, make sure to use a tight upper bound, e.g., `base < 4.X` rather than `base < 5`, because the interface can change rapidly without much warning.

Synopsis

- class Monad m => GHCiSandboxIO (m :: Type -> Type) where
  - ghciStepIO :: m a -> IO a
- data NoIO a

# Documentation

class Monad m => GHCiSandboxIO (m :: Type -> Type) where Source #

A monad that can execute GHCi statements by lifting them out of m into the IO monad. (e.g state monads)

Methods

ghciStepIO :: m a -> IO a Source #

#### Instances

Instances details

GHCiSandboxIO NoIO Source # | @since base-4.4.0.0
Instance details Defined in GHC.Internal.GHCi Methods ghciStepIO :: NoIO a -> IO a Source #
GHCiSandboxIO IO Source # | @since base-4.4.0.0
Instance details Defined in GHC.Internal.GHCi Methods ghciStepIO :: IO a -> IO a Source #

data NoIO a Source #

A monad that doesn't allow any IO.

#### Instances

Instances details

Applicative NoIO Source # | @since base-4.8.0.0
Instance details Defined in GHC.Internal.GHCi Methods pure :: a -> NoIO a Source # (<*>) :: NoIO (a -> b) -> NoIO a -> NoIO b Source # liftA2 :: (a -> b -> c) -> NoIO a -> NoIO b -> NoIO c Source # (*>) :: NoIO a -> NoIO b -> NoIO b Source # (<*) :: NoIO a -> NoIO b -> NoIO a Source #
Functor NoIO Source # | @since base-4.8.0.0
Instance details Defined in GHC.Internal.GHCi Methods fmap :: (a -> b) -> NoIO a -> NoIO b Source # (<$) :: a -> NoIO b -> NoIO a Source #
Monad NoIO Source # | @since base-4.4.0.0
Instance details Defined in GHC.Internal.GHCi Methods (>>=) :: NoIO a -> (a -> NoIO b) -> NoIO b Source # (>>) :: NoIO a -> NoIO b -> NoIO b Source # return :: a -> NoIO a Source #
GHCiSandboxIO NoIO Source # | @since base-4.4.0.0
Instance details Defined in GHC.Internal.GHCi Methods ghciStepIO :: NoIO a -> IO a Source #