@@ -19,8 +19,8 @@ def generalIdent : Parser :=
1919 withAntiquot (mkAntiquot "generalIdent" `generalIdent) {
2020 fn := fun c s =>
2121 let startPos := s.pos
22- let s := takeWhile1Fn (fun c => !("(){}[]. " .contains c) ∧ !c.isWhitespace) "expected generalized identifier" c s
23- mkNodeToken `generalIdent startPos c s }
22+ let s := takeWhile1Fn (fun c => !("(){}⦃⦄ " .contains c) ∧ !c.isWhitespace) "expected generalized identifier" c s
23+ mkNodeToken `generalIdent startPos true c s }
2424
2525def Lean.TSyntax.getGeneralId : TSyntax `generalIdent → String
2626 | ⟨.node _ `generalIdent args⟩ => args[0 ]!.getAtomVal
@@ -43,18 +43,18 @@ syntax "(" slist ")" : sexp
4343syntax "{" term "}" : sexp
4444
4545syntax sexp : slist
46- syntax "...{ " term "} " : slist
46+ syntax "⦃ " term "⦄ " : slist
4747syntax sexp slist : slist
48- syntax "...{ " term "} " slist : slist
48+ syntax "⦃ " term "⦄ " slist : slist
4949
5050syntax "sexp!{" sexp "}" : term
5151syntax "slist!{" slist "}" : term
5252
5353macro_rules
5454 | `(slist| $s:sexp) => `([sexp!{$s}])
55- | `(slist| ...{ $t:term } ) => `(($t : List Sexp))
55+ | `(slist| ⦃ $t:term ⦄ ) => `(($t : List Sexp))
5656 | `(slist| $s:sexp $ss:slist) => `(sexp!{$s} :: slist!{$ss})
57- | `(slist| ...{ $t:term } $ss:slist) => `(($t : List Sexp) ++ slist!{$ss})
57+ | `(slist| ⦃ $t:term ⦄ $ss:slist) => `(($t : List Sexp) ++ slist!{$ss})
5858
5959macro_rules
6060 | `(sexp| $a:generalIdent) => `(Sexp.atom $(Lean.quote a.getGeneralId))
@@ -91,13 +91,15 @@ instance : Repr Sexp where
9191/-- info: sexp!{(foo bar)} -/
9292#guard_msgs in #eval sexp!{({Sexp.atom "foo" } bar)}
9393/-- info: sexp!{(foo bar)} -/
94- #guard_msgs in #eval sexp!{(foo ...{ [Sexp.atom "bar" ]} )}
94+ #guard_msgs in #eval sexp!{(foo ⦃ [Sexp.atom "bar" ]⦄ )}
9595/-- info: sexp!{(foo bar)} -/
96- #guard_msgs in #eval sexp!{(...{ [Sexp.atom "foo" ]} bar )}
96+ #guard_msgs in #eval sexp!{(foo ⦃ [Sexp.atom "bar" ]⦄ )}
9797/-- info: sexp!{(foo bar)} -/
98- #guard_msgs in #eval sexp!{(...{ [Sexp.atom "foo" ]} ...{[Sexp.atom " bar" ]} )}
98+ #guard_msgs in #eval sexp!{(⦃ [Sexp.atom "foo" ]⦄ bar)}
9999/-- info: sexp!{(foo bar)} -/
100- #guard_msgs in #eval sexp!{(...{[Sexp.atom "foo" , Sexp.atom "bar" ]})}
100+ #guard_msgs in #eval sexp!{(⦃[Sexp.atom "foo" ]⦄ ⦃[Sexp.atom "bar" ]⦄)}
101+ /-- info: sexp!{(foo bar)} -/
102+ #guard_msgs in #eval sexp!{(⦃[Sexp.atom "foo" , Sexp.atom "bar" ]⦄)}
101103/-- info: sexp!{(foo bar)} -/
102104#guard_msgs in #eval sexp!{{Sexp.expr [Sexp.atom "foo" , Sexp.atom "bar" ]}}
103105/-- info: [] -/
0 commit comments