summaryrefslogtreecommitdiff
path: root/compiler/PrintPure.ml
diff options
context:
space:
mode:
authorSon Ho2023-12-15 18:14:12 +0100
committerSon Ho2023-12-15 18:14:12 +0100
commit955fdab55304979ba2d61432ea654241f20abaa4 (patch)
treefcf1cd7dc3257e0c9242f5ec2eb79ee3bf2f49fb /compiler/PrintPure.ml
parent5fa83883b4d573cfd252478f7937c8bde0ec01f6 (diff)
Make progress on propagating the changes
Diffstat (limited to '')
-rw-r--r--compiler/PrintPure.ml16
1 files changed, 4 insertions, 12 deletions
diff --git a/compiler/PrintPure.ml b/compiler/PrintPure.ml
index 3a5ce513..79506c04 100644
--- a/compiler/PrintPure.ml
+++ b/compiler/PrintPure.ml
@@ -543,9 +543,9 @@ let rec texpression_to_string (env : fmt_env) (inside : bool) (indent : string)
let app, args = destruct_apps e in
(* Convert to string *)
app_to_string env inside indent indent_incr app args
- | Abs _ ->
- let xl, e = destruct_abs_list e in
- let e = abs_to_string env indent indent_incr xl e in
+ | Lambda _ ->
+ let xl, e = destruct_lambdas e in
+ let e = lambda_to_string env indent indent_incr xl e in
if inside then "(" ^ e ^ ")" else e
| Qualif _ ->
(* Qualifier without arguments *)
@@ -592,14 +592,6 @@ let rec texpression_to_string (env : fmt_env) (inside : bool) (indent : string)
in
"[ " ^ String.concat ", " fields ^ " ]"
| _ -> raise (Failure "Unexpected"))
- | Lambda _ ->
- let pats, e = destruct_lambdas e in
- let vars =
- String.concat " " (List.map (typed_pattern_to_string env) pats)
- in
- let e = texpression_to_string env false indent indent_incr e in
- let s = "λ " ^ vars ^ " => " ^ e in
- if inside then "(" ^ s ^ ")" else s
| Meta (meta, e) -> (
let meta_s = emeta_to_string env meta in
let e = texpression_to_string env inside indent indent_incr e in
@@ -668,7 +660,7 @@ and app_to_string (env : fmt_env) (inside : bool) (indent : string)
(* Add parentheses *)
if all_args <> [] && inside then "(" ^ e ^ ")" else e
-and abs_to_string (env : fmt_env) (indent : string) (indent_incr : string)
+and lambda_to_string (env : fmt_env) (indent : string) (indent_incr : string)
(xl : typed_pattern list) (e : texpression) : string =
let xl = List.map (typed_pattern_to_string env) xl in
let e = texpression_to_string env false indent indent_incr e in