Copyright | (C) 2018 Murat Kasimov |
---|---|

License | BSD-style (see the file LICENSE) |

Maintainer | Murat Kasimov <iokasimov.m@gmail.com> |

Stability | experimental |

Portability | non-portable |

Safe Haskell | Safe |

Language | Haskell2010 |

Get all your structure and rip it apart.

The main idea: if you can describe your data structure via Cofree, with apart you can serialize, persistent or hash a segment of your structure!

A simple introduction to this library can be found here: https://iokasimov.github.io/posts/2018/05/cofree-will-tear-us-apart

# Documentation

newtype Apart t raw value Source #

Structure with scattered segments.

## Instances

Traversable t => Bitraversable (Apart t) Source # | |

Defined in Data.Apart bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Apart t a b -> f (Apart t c d) # | |

Foldable t => Bifoldable (Apart t) Source # | |

Functor t => Bifunctor (Apart t) Source # | |

Functor t => Functor (Apart t raw) Source # | |

Apply t => Apply (Apart t raw) Source # | |