Copyright | (c) 2013-2016 Galois Inc. |
---|---|

License | BSD3 |

Maintainer | cryptol@galois.com |

Stability | provisional |

Portability | portable |

Safe Haskell | Safe |

Language | Haskell2010 |

## Synopsis

- splitVarSummands :: Type -> [(TVar, Type)]
- splitVarSummand :: TVar -> Type -> Maybe Type
- splitConstSummand :: Type -> Maybe (Integer, Type)
- splitConstFactor :: Type -> Maybe (Integer, Type)

# Documentation

splitVarSummands :: Type -> [(TVar, Type)] Source #

All ways to split a type in the form: `a + t1`, where `a`

is a variable.

splitVarSummand :: TVar -> Type -> Maybe Type Source #

Check if we can express a type in the form: `a + t1`.