cubix-compdata-1.0.1: Compositional Data Types for Cubix
Copyright(c) 2020 James Koppel
LicenseBSD3
Safe HaskellNone
LanguageHaskell98

Data.Comp.Multi.Mutable

Description

Experimental module for mutable terms.

Documentation

type Label = Int Source #

data Mut a Source #

Instances

Instances details
Monad Mut Source # 
Instance details

Defined in Data.Comp.Multi.Mutable

Methods

(>>=) :: Mut a -> (a -> Mut b) -> Mut b #

(>>) :: Mut a -> Mut b -> Mut b #

return :: a -> Mut a #

Functor Mut Source # 
Instance details

Defined in Data.Comp.Multi.Mutable

Methods

fmap :: (a -> b) -> Mut a -> Mut b #

(<$) :: a -> Mut b -> Mut a #

Applicative Mut Source # 
Instance details

Defined in Data.Comp.Multi.Mutable

Methods

pure :: a -> Mut a #

(<*>) :: Mut (a -> b) -> Mut a -> Mut b #

liftA2 :: (a -> b -> c) -> Mut a -> Mut b -> Mut c #

(*>) :: Mut a -> Mut b -> Mut b #

(<*) :: Mut a -> Mut b -> Mut a #

MonadIO Mut Source # 
Instance details

Defined in Data.Comp.Multi.Mutable

Methods

liftIO :: IO a -> Mut a #

data Cell f g i Source #

Constructors

Cell 

Fields

type MutCxt h f = Cxt h (Cell f) Source #

type MutTerm f = MutCxt NoHole f (K ()) Source #