Library FreeSpec.Exec.Eval



From FreeSpec Require Import Core.

Inductive EVAL (a : Type) : Type :=
| Eval (x : a) : EVAL a.

Arguments Eval [a] (x).

Definition eval `{Provide ix EVAL} {a} (x : a) : impure ix a :=
  request (Eval x).

Register EVAL as freespec.exec.eval.type.
Register Eval as freespec.exec.eval.Eval.