(* Preterms are not terms *)
Fail Notation"[ x ]" := $x.
Section Foo.
Notation"[ x ]" := ltac2:(Control.refine (fun _ => Constr.pretype x)).
Goal [ True ]. Proof.
constructor. Qed.
End Foo.
Section Bar.
(* Have fun with context capture *) Notation"[ x ]" := ltac2:( let c () := Constr.pretype x in
refine constr:(forall n : nat, n = ltac2:(Notations.exact0 true c))
).
Goalforall n : nat, [ n ]. Proof. reflexivity. Qed.
(* This fails currently, which is arguably a bug *)
Fail Goal [ n ].
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.