rec-def-0.1: Recusively defined values
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Recursive.Propagator.Class

Description

This module provides the Propagator and HasPropagator classes.

Synopsis

Documentation

class Propagator p x | p -> x where Source #

The Propagator class defines some functions shared by different propagator implementations. This backs the generic Data.Recursive.R.Internal wrapper.

Methods

newProp :: IO p Source #

The type of values inside the propagator

newConstProp :: x -> IO p Source #

readProp :: p -> IO x Source #

class Propagator (Prop x) x => HasPropagator x Source #

The HasPropagator class is used to pick a propagator implementation for a particular value type.

Associated Types

type Prop x Source #

Instances

Instances details
HasPropagator Bool Source # 
Instance details

Defined in Data.Recursive.Propagator.Class

Associated Types

type Prop Bool Source #

HasPropagator (Dual Bool) Source # 
Instance details

Defined in Data.Recursive.Propagator.Class

Associated Types

type Prop (Dual Bool) Source #

Eq a => HasPropagator (Set a) Source # 
Instance details

Defined in Data.Recursive.Propagator.Class

Associated Types

type Prop (Set a) Source #