Stability | experimental |
---|---|
Maintainer | developer@flocc.net |
Safe Haskell | None |
For more information please see http://www.flocc.net/
Documentation
possibleSubs :: Monad m => TyTerm -> IdxMonad m (IntMap [TyTerm])
possibleSubs term. Visits term looking for parts of the type that |are still abstract (type variables) and return possible subsitutions |that would make them concrete. If a term is already concrete returns [].
remRedundantDims :: IntMap TyTerm -> IntMap TyTerm
remRedundantDims types. Finds all redundant mirror dims in |types and replaces then with Null.
getRedundantDims :: [TyTerm] -> ([TyTerm], [TyTerm], [TyTerm])
getRedundantDims types. Returns a list of dim vars that |are only every used as mirror dims, never as part, and so |are redundant i.e. can be replaced with ().
fillGapsInEnv :: Monad m => IntMap TyTerm -> IdxMonad m (IntMap TyTerm)
possibleSubs term. Visits term looking for parts of the type that |are still abstract (type variables) and return possible subsitutions |that would make them concrete. If a term is already concrete returns []. TODO add DMap...
fillGapsInEnv termEnv. Searches the terms in the env, looking for gaps, |finds possible values for each one, groups by term var id, and returns |a map from term var ids to possible lists of values.