Lambda's printing result cannot be parsed
The documentation for the Printer.string_of_ss
function states that the output is a valid skel program:
val string_of_ss : TypedAST.t -> string
(** Prints a whole skeletal semantics.
- The output obviously contains line breaks.
- The resulting string can be parsed to an equivalent skeletal semantics. <-
- The syntactic sugar are used as much as possible. *)
But lambdas are printed like this:
let f x = x
Which is not a valid syntax, we must write let f = \x:t -> x
because f x
is not a ppattern
.