summaryrefslogtreecommitdiff
path: root/src/rewriter.mli
diff options
context:
space:
mode:
authorThomas Bauereiss2017-11-02 14:10:28 +0000
committerThomas Bauereiss2017-11-02 14:10:28 +0000
commit28d471755b0882c5c069a95e07ce6bb9352f06b9 (patch)
tree61caea55cea5c3c53b63427fc4ac04d82423d7f8 /src/rewriter.mli
parentaa35f90fe4e7da4a6bbbe1396c23f9a5795b6909 (diff)
parentf8107b6b4dc4738d57a1a0c367de72a6d811f4cb (diff)
Merge branch 'experiments'
Diffstat (limited to 'src/rewriter.mli')
-rw-r--r--src/rewriter.mli12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/rewriter.mli b/src/rewriter.mli
index 3125c410..3f375e25 100644
--- a/src/rewriter.mli
+++ b/src/rewriter.mli
@@ -151,12 +151,24 @@ type ('a,'exp,'exp_aux,'lexp,'lexp_aux,'fexp,'fexp_aux,'fexps,'fexps_aux,
; pat_alg : ('a,'pat,'pat_aux,'fpat,'fpat_aux) pat_alg
}
+(* fold over patterns *)
+val fold_pat : ('a,'pat,'pat_aux,'fpat,'fpat_aux) pat_alg -> 'a pat -> 'pat
+
(* fold over expressions *)
val fold_exp : ('a,'exp,'exp_aux,'lexp,'lexp_aux,'fexp,'fexp_aux,'fexps,'fexps_aux,
'opt_default_aux,'opt_default,'pexp,'pexp_aux,'letbind_aux,'letbind,
'pat,'pat_aux,'fpat,'fpat_aux) exp_alg -> 'a exp -> 'exp
val id_pat_alg : ('a,'a pat, 'a pat_aux, 'a fpat, 'a fpat_aux) pat_alg
+val id_exp_alg :
+ ('a,'a exp,'a exp_aux,'a lexp,'a lexp_aux,'a fexp,
+ 'a fexp_aux,'a fexps,'a fexps_aux,
+ 'a opt_default_aux,'a opt_default,'a pexp,'a pexp_aux,
+ 'a letbind_aux,'a letbind,
+ 'a pat,'a pat_aux,'a fpat,'a fpat_aux) exp_alg
+
+val compute_pat_alg : 'b -> ('b -> 'b -> 'b) ->
+ ('a,('b * 'a pat),('b * 'a pat_aux),('b * 'a fpat),('b * 'a fpat_aux)) pat_alg
val compute_exp_alg : 'b -> ('b -> 'b -> 'b) ->
('a,('b * 'a exp),('b * 'a exp_aux),('b * 'a lexp),('b * 'a lexp_aux),('b * 'a fexp),