Commit c962a588 authored by POTTIER Francois's avatar POTTIER Francois

Plug [BindingCombinators] instead of [BindingFormsUnbound].

parent 7772ceb8
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
- [BindingFormsAbs], which provides abstractions of one name in one term; - [BindingFormsAbs], which provides abstractions of one name in one term;
- [BindingFormsUnbound], which provides a much richer combinator language - [BindingCombinators], which provides a combinator language for defining
for defining complex binding constructs. complex binding constructs.
This module also defines dummy [visit_'bn] methods, which are never called This module also defines dummy [visit_'bn] methods, which are never called
but must exist (because we expect the user-defined type of terms to be but must exist (because we expect the user-defined type of terms to be
...@@ -16,31 +16,25 @@ ...@@ -16,31 +16,25 @@
type ('bn, 't) abs = type ('bn, 't) abs =
('bn, 't) BindingFormsAbs.abs ('bn, 't) BindingFormsAbs.abs
(* Import the type definitions in [BindingFormsUnbound]. *) (* Import the type definitions in [BindingCombinators]. *)
type 'p abstraction = type 'p abstraction =
'p BindingFormsUnbound.abstraction 'p BindingCombinators.abstraction
type 'bn binder = type 'bn binder =
'bn BindingFormsUnbound.binder 'bn BindingCombinators.binder
type 't inner = type 't inner =
't BindingFormsUnbound.inner 't BindingCombinators.inner
type 't outer = type 't outer =
't BindingFormsUnbound.outer 't BindingCombinators.outer
type 'p rebind = type 'p rebind =
'p BindingFormsUnbound.rebind 'p BindingCombinators.rebind
type 'p repeat =
'p BindingFormsUnbound.repeat
type 'p recursive =
'p BindingFormsUnbound.recursive
type ('p, 't) bind = type ('p, 't) bind =
('p, 't) BindingFormsUnbound.bind ('p, 't) BindingCombinators.bind
(* -------------------------------------------------------------------------- *) (* -------------------------------------------------------------------------- *)
...@@ -60,7 +54,7 @@ class virtual ['self] iter = object (_ : 'self) ...@@ -60,7 +54,7 @@ class virtual ['self] iter = object (_ : 'self)
= fun _ _ -> assert false = fun _ _ -> assert false
inherit [_] BindingFormsAbs.iter inherit [_] BindingFormsAbs.iter
inherit [_] BindingFormsUnbound.iter inherit [_] BindingCombinators.iter
end end
...@@ -74,6 +68,7 @@ class virtual ['self] iter2 = object (_ : 'self) ...@@ -74,6 +68,7 @@ class virtual ['self] iter2 = object (_ : 'self)
= fun _ _ _ -> assert false = fun _ _ _ -> assert false
inherit [_] BindingFormsAbs.iter2 inherit [_] BindingFormsAbs.iter2
inherit [_] BindingCombinators.iter2
end end
...@@ -87,7 +82,7 @@ class virtual ['self] map = object (_ : 'self) ...@@ -87,7 +82,7 @@ class virtual ['self] map = object (_ : 'self)
= fun _ _ -> assert false = fun _ _ -> assert false
inherit [_] BindingFormsAbs.map inherit [_] BindingFormsAbs.map
inherit [_] BindingFormsUnbound.map inherit [_] BindingCombinators.map
end end
...@@ -101,5 +96,6 @@ class virtual ['self] endo = object (_ : 'self) ...@@ -101,5 +96,6 @@ class virtual ['self] endo = object (_ : 'self)
= fun _ _ -> assert false = fun _ _ -> assert false
inherit [_] BindingFormsAbs.endo inherit [_] BindingFormsAbs.endo
inherit [_] BindingCombinators.map (* intentional *)
end end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment