License | MIT |
---|---|

Stability | experimental |

Safe Haskell | None |

Language | Haskell2010 |

Domain modelling algebra for polysemy.

## Synopsis

- logMethodologyStart :: forall b c p r a. Members '[Methodology b c, Log p] r => (b -> p) -> Sem r a -> Sem r a
- logMethodologyEnd :: forall b c q r a. Members '[Methodology b c, Log q] r => (c -> q) -> Sem r a -> Sem r a
- logMethodologyAround :: forall b c p q r a. Members '[Methodology b c, Log p, Log q] r => (b -> p) -> (c -> q) -> Sem r a -> Sem r a

# Logging

:: forall b c p r a. Members '[Methodology b c, Log p] r | |

=> (b -> p) | A function from the input type b to an event type p. |

-> Sem r a | |

-> Sem r a |

`Log`

a type based on the input to a `Methodology`

.

*Since: 0.1.0.0*

:: forall b c q r a. Members '[Methodology b c, Log q] r | |

=> (c -> q) | A function from the input type c to an event type q. |

-> Sem r a | |

-> Sem r a |

`Log`

a type based on the output to a `Methodology`

.

*Since: 0.1.0.0*

:: forall b c p q r a. Members '[Methodology b c, Log p, Log q] r | |

=> (b -> p) | A function from the input type b to an event type p. |

-> (c -> q) | A function from the output type b to an event type q, |

-> Sem r a | |

-> Sem r a |

`Log`

both the start and the end of a `Methodology`

.

*Since: 0.1.0.0*