diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/loc.ml | 5 | ||||
| -rw-r--r-- | lib/loc.mli | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/lib/loc.ml b/lib/loc.ml index 39f2d7dfba..8ae8fe25d0 100644 --- a/lib/loc.ml +++ b/lib/loc.ml @@ -63,6 +63,11 @@ type 'a located = t * 'a let to_pair x = x let tag ?loc x = Option.default ghost loc, x +let with_loc f (loc, x) = f ~loc x + +let map f (l,x) = (l, f x) +let map_with_loc f (loc, x) = (loc, f ~loc x) + let located_fold_left f x (_,a) = f x a let located_iter2 f (_,a) (_,b) = f a b let down_located f (_,a) = f a diff --git a/lib/loc.mli b/lib/loc.mli index fef1d89388..7fc8efaa89 100644 --- a/lib/loc.mli +++ b/lib/loc.mli @@ -61,6 +61,11 @@ type 'a located = t * 'a val to_pair : 'a located -> t * 'a val tag : ?loc:t -> 'a -> 'a located +val with_loc : (loc:t -> 'a -> 'b) -> 'a located -> 'b + +val map : ('a -> 'b) -> 'a located -> 'b located +val map_with_loc : (loc:t -> 'a -> 'b) -> 'a located -> 'b located + val located_fold_left : ('a -> 'b -> 'a) -> 'a -> 'b located -> 'a val down_located : ('a -> 'b) -> 'a located -> 'b |
