idris-1.0: Functional Programming Language with Dependent Types

Copyright | License : BSD3
Maintainer | The Idris Community.
Safe Haskell | None
Language | Haskell98

Idris.Core.Typecheck

Description

# Documentation

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

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

isHole :: (t2, t1, Binder t) -> Bool #

errEnv :: [(t2, t, Binder t1)] -> [(t2, t1)] #

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

Eq UniqueUse # |
Methods (==) :: UniqueUse -> UniqueUse -> Bool # (/=) :: UniqueUse -> UniqueUse -> Bool #

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