Idris.Core.Typecheck

idris-1.3.4: Functional Programming Language with Dependent Types

License | BSD3
Maintainer | The Idris Community.
Safe Haskell | None
Language | Haskell2010

Idris.Core.Typecheck

Description

# Documentation

convertsC :: Context -> Env -> Term -> Term -> StateT UCs TC () #

converts :: Context -> Env -> Term -> Term -> TC () #

isHole :: (a, b1, Binder b2) -> Bool #

errEnv :: [(a, b1, Binder b2)] -> [(a, b2)] #

isType :: Context -> Env -> Term -> TC () #

convType :: String -> Context -> Env -> Term -> StateT UCs TC () #

recheck :: String -> Context -> Env -> Raw -> Term -> TC (Term, Type, UCs) #

recheck_borrowing :: Bool -> [Name] -> String -> Context -> Env -> Raw -> Term -> TC (Term, Type, UCs) #

check :: Context -> Env -> Raw -> TC (Term, Type) #

check' :: Bool -> String -> Context -> Env -> Raw -> StateT UCs TC (Term, Type) #

data UniqueUse #

Constructors

Never |
Once |
LendOnly |
Many |

#### Instances

Instances details

Eq UniqueUse # |
Instance details Defined in Idris.Core.Typecheck Methods (==) :: UniqueUse -> UniqueUse -> Bool # (/=) :: UniqueUse -> UniqueUse -> Bool #

checkUnique :: [Name] -> Context -> Env -> Term -> TC () #