diff options
author | Son HO | 2024-04-04 14:31:03 +0200 |
---|---|---|
committer | GitHub | 2024-04-04 14:31:03 +0200 |
commit | b4f5719a10427dfc168f1210b05397599e761f9a (patch) | |
tree | 55906070f19df2a3185250df2aef36f47669842a /compiler/PureUtils.ml | |
parent | 88cb18c614819f4abba1e0dfdb80c455d334d595 (diff) | |
parent | 0c3be2a82205d2737546c7ce8b15b6ad07f34095 (diff) |
Merge pull request #111 from AeneasVerif/son/names
Improve the names used for the variables in the generated code
Diffstat (limited to '')
-rw-r--r-- | compiler/PureUtils.ml | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/compiler/PureUtils.ml b/compiler/PureUtils.ml index 4bc90872..6f44bb74 100644 --- a/compiler/PureUtils.ml +++ b/compiler/PureUtils.ml @@ -75,10 +75,15 @@ let inputs_info_is_wf (info : inputs_info) : bool = let fun_sig_info_is_wf (info : fun_sig_info) : bool = inputs_info_is_wf info.fwd_info +let opt_dest_arrow_ty (ty : ty) : (ty * ty) option = + match ty with TArrow (arg_ty, ret_ty) -> Some (arg_ty, ret_ty) | _ -> None + +let is_arrow_ty (ty : ty) : bool = Option.is_some (opt_dest_arrow_ty ty) + let dest_arrow_ty (meta : Meta.meta) (ty : ty) : ty * ty = - match ty with - | TArrow (arg_ty, ret_ty) -> (arg_ty, ret_ty) - | _ -> craise __FILE__ __LINE__ meta "Not an arrow type" + match opt_dest_arrow_ty ty with + | Some (arg_ty, ret_ty) -> (arg_ty, ret_ty) + | None -> craise __FILE__ __LINE__ meta "Not an arrow type" let compute_literal_type (cv : literal) : literal_type = match cv with |