From ddd6c830ea4a3a1219e17ce3536100fe46f48223 Mon Sep 17 00:00:00 2001 From: Son Ho Date: Thu, 27 Jan 2022 12:40:22 +0100 Subject: Implement inst_fun_sig_to_string --- src/PrintPure.ml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/PrintPure.ml b/src/PrintPure.ml index 8e19238c..8d07e5b1 100644 --- a/src/PrintPure.ml +++ b/src/PrintPure.ml @@ -264,3 +264,16 @@ let fun_sig_to_string (fmt : ast_formatter) (sg : fun_sig) : string = in let all_types = List.concat [ type_params; inputs; [ outputs ] ] in String.concat " -> " all_types + +let inst_fun_sig_to_string (fmt : ast_formatter) (sg : inst_fun_sig) : string = + let ty_fmt = ast_to_type_formatter fmt in + let inputs = List.map (ty_to_string ty_fmt) sg.inputs in + let outputs = List.map (ty_to_string ty_fmt) sg.outputs in + let outputs = + match outputs with + | [] -> "()" + | [ out ] -> out + | outputs -> "(" ^ String.concat " * " outputs ^ ")" + in + let all_types = List.append inputs [ outputs ] in + String.concat " -> " all_types -- cgit v1.2.3