Skip to content

Commit

Permalink
Add some reduction notations
Browse files Browse the repository at this point in the history
  • Loading branch information
JasonGross committed Mar 2, 2025
1 parent 847d6a7 commit 2a451ab
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions src/Util/Notations.v
Original file line number Diff line number Diff line change
Expand Up @@ -207,3 +207,11 @@ Reserved Notation "\ x .. y , t" (at level 200, x binder, y binder, right associ
Reserved Notation "( x | ? y )" (format "( x | ? y )").

Notation "'typeof!' x" := (match x with y => ltac:(let T := type of y in exact T) end) (at level 10, only parsing).

Notation "'compute!' x" := (match x with y => ltac:(let z := (eval compute in y) in exact z) end) (at level 10, only parsing).
Notation "'cbv!' x" := (match x with y => ltac:(let z := (eval cbv in y) in exact z) end) (at level 10, only parsing).
Notation "'lazy!' x" := (match x with y => ltac:(let z := (eval lazy in y) in exact z) end) (at level 10, only parsing).
Notation "'cbn!' x" := (match x with y => ltac:(let z := (eval cbn in y) in exact z) end) (at level 10, only parsing).
Notation "'simpl!' x" := (match x with y => ltac:(let z := (eval simpl in y) in exact z) end) (at level 10, only parsing).
Notation "'native_compute!' x" := (match x with y => ltac:(let z := (eval native_compute in y) in exact z) end) (at level 10, only parsing).
Notation "'vm_compute!' x" := (match x with y => ltac:(let z := (eval vm_compute in y) in exact z) end) (at level 10, only parsing).

0 comments on commit 2a451ab

Please sign in to comment.