summaryrefslogtreecommitdiff
path: root/src/Pure.ml
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/Pure.ml9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/Pure.ml b/src/Pure.ml
index c72f9dd0..2f6ddf0a 100644
--- a/src/Pure.ml
+++ b/src/Pure.ml
@@ -444,7 +444,7 @@ class virtual ['self] mapreduce_expression_base =
more general than the LLBC statements, in a sense.
*)
type expression =
- | Local of var_id * mplace option
+ | Local of var_id
(** Local variable - TODO: we name it "Local" because "Var" is used
in [var_or_dummy]: change the name. Maybe rename `Var` and `Dummy`
in `var_or_dummy` to `PatVar` and `PatDummy`.
@@ -510,7 +510,11 @@ and match_branch = { pat : typed_lvalue; branch : texpression }
and texpression = { e : expression; ty : ty }
and mvalue = (texpression[@opaque])
-(** Meta-value (converted to an expression) *)
+(** Meta-value (converted to an expression). It is important that the content
+ is opaque.
+
+ TODO: is it possible to mark the whole mvalue type as opaque?
+ *)
and meta =
| Assignment of mplace * mvalue * mplace option
@@ -520,6 +524,7 @@ and meta =
The mvalue stores the value which is put in the destination
The second (optional) mplace stores the origin.
*)
+ | MPlace of mplace (** Meta-information about the origin of a value *)
[@@deriving
show,
visitors