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 |

Warning: This is an unstable interface.

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)

ghciStepIO :: m a -> IO a Source #

#### Instances

GHCiSandboxIO NoIO | @since base-4.4.0.0 |

Defined in GHC.Internal.GHCi ghciStepIO :: NoIO a -> IO a Source # | |

GHCiSandboxIO IO | @since base-4.4.0.0 |

Defined in GHC.Internal.GHCi ghciStepIO :: IO a -> IO a Source # |

A monad that doesn't allow any IO.

#### Instances

Applicative NoIO | @since base-4.8.0.0 |

Functor NoIO | @since base-4.8.0.0 |

Monad NoIO | @since base-4.4.0.0 |

GHCiSandboxIO NoIO | @since base-4.4.0.0 |

Defined in GHC.Internal.GHCi ghciStepIO :: NoIO a -> IO a Source # |