summaryrefslogtreecommitdiff
path: root/compiler/PrintPure.ml
diff options
context:
space:
mode:
authorSon Ho2023-12-15 17:20:30 +0100
committerSon Ho2023-12-15 17:20:30 +0100
commitea583d9f0f5e4a1a687b70f0e04e875969462157 (patch)
tree6afa76ace8e4771c6757d2ae8b65e2493b6660e6 /compiler/PrintPure.ml
parent62cb926e76ef0c9fb048b0e340bdae5b9dd76a84 (diff)
Make good progress on updating SymbolicToPure
Diffstat (limited to 'compiler/PrintPure.ml')
-rw-r--r--compiler/PrintPure.ml8
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/PrintPure.ml b/compiler/PrintPure.ml
index 2fe5843e..3a5ce513 100644
--- a/compiler/PrintPure.ml
+++ b/compiler/PrintPure.ml
@@ -592,6 +592,14 @@ 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