This PR modifies `let` and `have` term syntaxes to be consistent with each other. Adds configuration options; for example, `have` is equivalent to `let +nondep`, for *nondependent* lets. Other options include `+usedOnly` (for `let_tmp`), `+zeta` (for `letI`/`haveI`), and `+postponeValue` (for `let_delayed)`. There is also `let (eq := h) x := v; b` for introducing `h : x = v` when elaborating `b`. The `eq` option works for pattern matching as well, for example `let (eq := h) (x, y) := p; b`. Future PRs will add these options to tactic syntax, once a stage0 update has been done.
8 lines
311 B
Text
8 lines
311 B
Text
some
|
|
{
|
|
range :=
|
|
{ pos := { line := 189, column := 0 }, charUtf16 := 0, endPos := { line := 194, column := 31 },
|
|
endCharUtf16 := 31 },
|
|
selectionRange :=
|
|
{ pos := { line := 189, column := 46 }, charUtf16 := 46, endPos := { line := 189, column := 58 },
|
|
endCharUtf16 := 58 } }
|