idris-1.3.4: Functional Programming Language with Dependent Types
LicenseBSD3
MaintainerThe Idris Community.
Safe HaskellNone
LanguageHaskell2010

Idris.Core.Unify

Description

Unification is applied inside the theorem prover. We're looking for holes which can be filled in, by matching one term's normal form against another. Returns a list of hole names paired with the term which solves them, and a list of things which need to be injective.

Documentation

unify :: Context -> Env -> (TT Name, Maybe Provenance) -> (TT Name, Maybe Provenance) -> [Name] -> [Name] -> [Name] -> [FailContext] -> TC ([(Name, TT Name)], Fails) #

data FailContext #

Constructors

FailContext 

Instances

Instances details
Show FailContext # 
Instance details

Defined in Idris.Core.Unify

Eq FailContext # 
Instance details

Defined in Idris.Core.Unify

data FailAt #

Constructors

Match 
Unify 

Instances

Instances details
Show FailAt # 
Instance details

Defined in Idris.Core.Unify

Eq FailAt # 
Instance details

Defined in Idris.Core.Unify

Methods

(==) :: FailAt -> FailAt -> Bool #

(/=) :: FailAt -> FailAt -> Bool #