diff options
| author | Thomas Bauereiss | 2018-05-08 18:48:18 +0100 |
|---|---|---|
| committer | Thomas Bauereiss | 2018-05-09 14:40:30 +0100 |
| commit | 972d349919fc5ebe911604330ea3c80e70fdcfad (patch) | |
| tree | 4307d3580852321185337e41ebe77307f746e6e2 /src/gen_lib/state_monad.lem | |
| parent | b6b46102fc49eae53c27d5d6540d41981c75da0c (diff) | |
Add tests for Isabelle->OCaml generation for CHERI and AArch64
Diffstat (limited to 'src/gen_lib/state_monad.lem')
| -rw-r--r-- | src/gen_lib/state_monad.lem | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gen_lib/state_monad.lem b/src/gen_lib/state_monad.lem index 8253b800..a2919762 100644 --- a/src/gen_lib/state_monad.lem +++ b/src/gen_lib/state_monad.lem @@ -265,3 +265,16 @@ let update_reg_field_bit regfield i reg_val bit = let new_field_value = set_bit (regfield.field_is_inc) current_field_value i (to_bitU bit) in regfield.set_field reg_val new_field_value let write_reg_field_bit reg regfield i = update_reg reg (update_reg_field_bit regfield i)*) + +(* TODO Add Show typeclass for value and exception type *) +val show_result : forall 'a 'e. result 'a 'e -> string +let show_result = function + | Value _ -> "Value ()" + | Ex (Failure msg) -> "Failure " ^ msg + | Ex (Throw _) -> "Throw" +end + +val prerr_results : forall 'a 'e 's. SetType 's => set (result 'a 'e * 's) -> unit +let prerr_results rs = + let _ = Set.map (fun (r, _) -> let _ = prerr_endline (show_result r) in ()) rs in + () |
