lean4-htt/tests/lean/beginEndAsMacro.lean
Sebastian Ullrich 5673702687 doc: fix
2020-12-09 19:03:35 +01:00

19 lines
510 B
Text

open Lean in
macro "begin " ts:tactic,*,? "end" : term => do
let stx ← getRef
let ts := ts.getSepArgs.map (mkNullNode #[·, mkNullNode])
let tseq := mkNode `Lean.Parser.Tactic.tacticSeqBracketed #[
mkAtomFrom stx "{", mkNullNode ts, mkAtomFrom stx[2] "}"
]
`(by $tseq:tacticSeqBracketed)
theorem ex1 (x : Nat) : x + 0 = 0 + x :=
begin
rw Nat.zeroAdd,
rw Nat.addZero,
end
theorem ex2 (x : Nat) : x + 0 = 0 + x :=
begin
rw Nat.zeroAdd
end -- error should be shown here