diff --git a/clangml-transforms/dune b/clangml-transforms/dune index 9ec6bb5035d63d01854df1b1d7f341f9a78da686..1adf5147c6d24c97194a794111b1409cedc351c0 100644 --- a/clangml-transforms/dune +++ b/clangml-transforms/dune @@ -3,4 +3,4 @@ (public_name clangml-transforms) (preprocess (pps refl.ppx)) (wrapped false) - (libraries clangml refl dolog)) + (libraries clangml refl dolog traverse)) diff --git a/clangml-transforms/for_memcad.ml b/clangml-transforms/for_memcad.ml index b1f08d3d21898f861fe6b2e4c3c8dbb240ce9969..0d841f04e57240b55bef4cf17f26f572a60ac891 100644 --- a/clangml-transforms/for_memcad.ml +++ b/clangml-transforms/for_memcad.ml @@ -167,14 +167,16 @@ let plus_with_warning (a : accu) (b : accu) : accu = Free_monoid.plus a b module Applicative = - Refl.Visit.EnvT (struct type t = env end) - (Refl.Visit.ReduceT (struct - type t = accu + Traverse.Applicative.Env (struct type t = env end) + (Traverse.Applicative.Pair + (Traverse.Applicative.Map) + (Traverse.Applicative.Reduce (struct + type t = accu - let zero = Free_monoid.zero + let zero = Free_monoid.zero - let ( + ) = plus_with_warning - end) (Refl.Visit.Map)) + let ( + ) = plus_with_warning + end))) module rec Visitor : Refl.Visit.VisitorS with type 'a Applicative.t = 'a Applicative.t = struct diff --git a/dune-project b/dune-project index 39ccdc4b71305f4c2a172f09876449b455df19ba..b908bf2f1a3358d7efbb14ebc371666f0ad348d2 100644 --- a/dune-project +++ b/dune-project @@ -18,4 +18,5 @@ (ocaml (and (>= 4.03.0) (< 4.11.0))) (dune (>= 2.2.0)) (clangml (>= 4.1.0)) - (dolog (>= 4.0.0)))) + (dolog (>= 4.0.0)) + (traverse (>= 0.1.0))))