Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion compiler/lib/varPrinter.ml
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,14 @@ let name t v nm_orig =
else pending := true
done;
let str = Buffer.contents buf in
if String.length str > 0 then name_raw t v str)
let str =
match str, nm_orig with
| "", ">>=" -> "symbol_bind"
| "", ">>|" -> "symbol_map"
| "", _ -> "symbol"
| str, _ -> str
in
name_raw t v str)

let get_name t v = try Some (Hashtbl.find t.names v) with Not_found -> None

Expand Down
11 changes: 8 additions & 3 deletions compiler/tests/variable_declaration_output.ml
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,20 @@ let%expect_test _ =
let ax = [|1;2;3;4|] ;;
let bx = [|1.0;2.0;3.0;4.0|] ;;
let cx = [|0./.0.;-0./.0.;1./.0.;-1./.0.;0.;-0.|] ;;
let (>>=) a b = a * b
let (>>|) a b = a + b
let (>>?=) a b = a / b
let symbol_op = (>>=), (>>|), (>>?=);;
|}
in
print_var_decl program "ex";
print_var_decl program "ax";
print_var_decl program "bx";
print_var_decl program "cx";
[%expect
{|
print_var_decl program "symbol_op";
[%expect{|
var ex = [0,5,runtime.caml_new_string("hello")];
var ax = [0,1,2,3,4];
var bx = [254,1.,2.,3.,4.];
var cx = [254,NaN,NaN,Infinity,- Infinity,0.,- 0.]; |}]
var cx = [254,NaN,NaN,Infinity,- Infinity,0.,- 0.];
var symbol_op = [0,symbol_bind,symbol_map,symbol]; |}]