From 32a6fcb12814550633261960b540ffeb8a0fcab5 Mon Sep 17 00:00:00 2001 From: varobert Date: Wed, 4 Apr 2012 11:59:40 +0000 Subject: Added safety to potentially overflowing arithmetics git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1872 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- checklink/Frameworks.ml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'checklink/Frameworks.ml') diff --git a/checklink/Frameworks.ml b/checklink/Frameworks.ml index fdd0769..f35672d 100644 --- a/checklink/Frameworks.ml +++ b/checklink/Frameworks.ml @@ -138,18 +138,18 @@ let add_range (start: int32) (length: int32) (align: int) (bcd: byte_chunk_desc) (* external ( >>> ) : 'a -> ('a -> 'b) -> 'b = "%revapply" *) let ( >>> ) (a: 'a) (f: 'a -> 'b): 'b = f a -let ( >>? ) (a: 'a on_success) (f: 'a -> 'b): 'b on_success = +let ( >>? ) (a: 'a or_err) (f: 'a -> 'b): 'b or_err = match a with | ERR(s) -> ERR(s) | OK(x) -> OK(f x) -let ( >>= ) (a: 'a on_success) (f: 'a -> 'b on_success): 'b on_success = +let ( >>= ) (a: 'a or_err) (f: 'a -> 'b or_err): 'b or_err = match a with | ERR(s) -> ERR(s) | OK(x) -> f x -let ( ^%=? ) (lens: ('a, 'b) Lens.t) (transf: 'b -> 'b on_success) - (arg: 'a): 'a on_success = +let ( ^%=? ) (lens: ('a, 'b) Lens.t) (transf: 'b -> 'b or_err) + (arg: 'a): 'a or_err = let focus = arg |. lens in match transf focus with | OK(res) -> OK((lens ^= res) arg) -- cgit v1.2.3