mirror of
https://github.com/edwinb/Idris2-boot.git
synced 2024-11-28 05:32:03 +03:00
ed5b53d97f
Sorry for the less than informative title :). Lots going on here. It started as an attempt to fix unification to deal with laziness coercions in trickier places, but unearthed a couple of tricky and interconnected issues that are hard to unpick into a single patch. So, this fixes a few things: - default hints should only be resolved on the current elaboration (e.g. nested function definitions, not the outer definition which might not yet be complete) - delayed elaborators should be allowed to have nested delayed elaborators, which means disambiguation is a little bit better - we should delay elaborating arguments where the type isn't known yet, because later arguments may resolve the type, and we can use this to help with disambiguation/laziness coercions - other bits and pieces arising
7 lines
475 B
Plaintext
7 lines
475 B
Plaintext
Processing as TTImp
|
|
Written TTC
|
|
Yaffle> ((Main.Just [Just a = ((Main.Vect.Vect (Main.S Main.Z)) Integer)]) ((((Main.Vect.Cons [Just k = Main.Z]) [Just a = Integer]) 1) (Main.Vect.Nil [Just a = Integer])))
|
|
Yaffle> ((Main.MkInfer [Just a = (Main.List.List Integer)]) (((Main.List.Cons [Just a = Integer]) 1) (Main.List.Nil [Just a = Integer])))
|
|
Yaffle> (repl):1:9--1:12:Ambiguous elaboration [($resolved117 ?Main.{a:59}_[]), ($resolved98 ?Main.{a:59}_[])]
|
|
Yaffle> Bye for now!
|