21 lines
276 B
Text
21 lines
276 B
Text
import Lean
|
|
|
|
namespace Foo
|
|
|
|
syntax (name := foo) "bla!" term : term
|
|
|
|
macro_rules (kind := foo)
|
|
| `(bla! $x) => pure x
|
|
|
|
#check bla! 10
|
|
|
|
macro "foo!" x:term : term => pure x
|
|
|
|
#check foo! 10
|
|
|
|
elab "boo!" x:term : term =>
|
|
Lean.Elab.Term.elabTerm x none
|
|
|
|
#check boo! 20
|
|
|
|
end Foo
|