open Ast open Util let rec dim_reduce = function | node -> transform_children dim_reduce node let rec phase input = prerr_endline "- Array dimension reduction"; match input with | Ast (node, args) -> Ast (dim_reduce node, args) | _ -> raise (InvalidInput "dimension reduction")