aboutsummaryrefslogtreecommitdiffhomepage
path: root/library/summary.ml
diff options
context:
space:
mode:
authorGravatar Enrico Tassi <Enrico.Tassi@inria.fr>2016-05-13 17:44:45 +0200
committerGravatar Enrico Tassi <Enrico.Tassi@inria.fr>2016-05-13 17:57:43 +0200
commitbd0befffb80c3086e3b451456cec24f3a12ac1f0 (patch)
tree4cbf3f5189c2b74cab5841f2bc13b23801bbe8d8 /library/summary.ml
parentb679eae9d3588f6cb91be174ab80a64fb5c434a4 (diff)
Dyn: simplify API introducing an Easy submodule
Now the casual Dyn user does not need to be a GADT guru
Diffstat (limited to 'library/summary.ml')
-rw-r--r--library/summary.ml13
1 files changed, 1 insertions, 12 deletions
diff --git a/library/summary.ml b/library/summary.ml
index 19e7e5fd9..edea7dbe5 100644
--- a/library/summary.ml
+++ b/library/summary.ml
@@ -22,19 +22,8 @@ let summaries = ref Int.Map.empty
let mangle id = id ^ "-SUMMARY"
-let make_dyn (type a) (tag : a Dyn.tag) =
- let infun x = Dyn.Dyn (tag, x) in
- let outfun : (Dyn.t -> a) = fun dyn ->
- let Dyn.Dyn (t, x) = dyn in
- match Dyn.eq t tag with
- | None -> assert false
- | Some Refl -> x
- in
- (infun, outfun)
-
let internal_declare_summary hash sumname sdecl =
- let tag = Dyn.create (mangle sumname) in
- let (infun, outfun) = make_dyn tag in
+ let (infun, outfun) = Dyn.Easy.make_dyn (mangle sumname) in
let dyn_freeze b = infun (sdecl.freeze_function b)
and dyn_unfreeze sum = sdecl.unfreeze_function (outfun sum)
and dyn_init = sdecl.init_function in