cryptol-2.2.6: Cryptol: The Language of Cryptography

Copyright | (c) 2013-2015 Galois, Inc.
License | BSD3
Maintainer | cryptol@galois.com
Stability | provisional
Portability | portable
Safe Haskell | Safe
Language | Haskell98

Cryptol.TypeCheck.TypeMap

Description

# Documentation

data TypeMap a Source

Constructors

TM |

Fields

tvar :: Map TVar a
tcon :: Map TCon (List TypeMap a)
trec :: Map [Name] (List TypeMap a)

Instances

Functor TypeMap Source |
TrieMap TypeMap Type Source |
Show a => Show (TypeMap a) Source |
TVars a => TVars (TypeMap a) Source |

type TypesMap = List TypeMap Source

class TrieMap m k | m -> k where Source

Methods

emptyTM :: m a Source

nullTM :: m a -> Bool Source

lookupTM :: k -> m a -> Maybe a Source

alterTM :: k -> (Maybe a -> Maybe a) -> m a -> m a Source

unionTM :: (a -> a -> a) -> m a -> m a -> m a Source

toListTM :: m a -> [(k, a)] Source

mapMaybeWithKeyTM :: (k -> a -> Maybe b) -> m a -> m b Source

Instances

TrieMap TypeMap Type Source |
Ord a => TrieMap (Map a) a Source |
TrieMap m a => TrieMap (List m) [a] Source |

insertTM :: TrieMap m k => k -> a -> m a -> m a Source

insertWithTM :: TrieMap m k => (a -> a -> a) -> k -> a -> m a -> m a Source

membersTM :: TrieMap m k => m a -> [a] Source

mapTM :: TrieMap m k => (a -> b) -> m a -> m b Source

mapWithKeyTM :: TrieMap m k => (k -> a -> b) -> m a -> m b Source

mapMaybeTM :: TrieMap m k => (a -> Maybe b) -> m a -> m b Source

data List m a Source

Constructors

L |

Fields

nil :: Maybe a
cons :: m (List m a)

Instances

Functor m => Functor (List m) Source |
TrieMap m a => TrieMap (List m) [a] Source |
(Functor m, TVars a) => TVars (List m a) Source |