mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-12-22 19:21:39 +03:00
45fc100f6c
We stored them as equations between terms, I think because terms are easy to re-evaluate with new information, and because I thought we might want to save them out. It's not usually a problem to do that. However... Going back and forth between terms and values can be expensive if we're stuck in the middle of a complicated unification problem, the like of which can turn up a lot if your types are complicated. So, we need to be able to handle this. Now store the postponed problems as NF, rather than Term, and add a fuction to resume evaluating a NF with an updated context.
6 lines
678 B
Plaintext
6 lines
678 B
Plaintext
Processing as TTImp
|
|
Eta.yaff:16:1--17:1:When elaborating right hand side of Main.etaBad:
|
|
Eta.yaff:16:10--17:1:When unifying: (Main.Eq ({arg:10} : Integer) -> ({arg:11} : Integer) -> Main.Test)) ({arg:10} : Integer) -> ({arg:11} : Integer) -> Main.Test)) \(x : Char) => \(y : ?Main.{_:14}_[x[0]]) => (Main.MkTest x[1] y[0]) \(x : Char) => \(y : ?Main.{_:14}_[x[0]]) => (Main.MkTest x[1] y[0])) and (Main.Eq (x : Char) -> (y : ?Main.{_:14}_[x[0]]) -> Main.Test)) ({arg:10} : Integer) -> ({arg:11} : Integer) -> Main.Test)) Main.MkTest \(x : Char) => \(y : ?Main.{_:14}_[x[0]]) => (Main.MkTest x[1] y[0]))
|
|
Eta.yaff:16:10--17:1:Type mismatch: Integer and Char
|
|
Yaffle> Bye for now!
|