@Kha This commit addresses an issue reported by Kevin. Holes and tactic blocks represent a discontinuity in the elaboration process. By introducing inaccessible variables (or "things" as Kevin calls them), we create error message that are harder to understand (see affected test), and goals where we didn't allow the user to select the variable name and/or eagerly unfolded a definition. BTW, I first considered using "reducible" setting when deciding whether to insert implicit lambdas or not. This is a bad idea. See `monotone.lean` test. The decision should not depend on reducibility status, but whether there is "discontinuity" on the elaboration process or not. As Kevin pointed out, "introducing implicits work great if you finish the job". |
||
|---|---|---|
| .. | ||
| bench | ||
| compiler | ||
| elabissues | ||
| ir | ||
| lean | ||
| leanpkg | ||
| playground | ||
| plugin | ||
| simpperf | ||
| .gitignore | ||
| common.sh | ||