From d38ebcf1b5718ff26ee344da2b0d1072571f19e1 Mon Sep 17 00:00:00 2001 From: milner Date: Fri, 13 Mar 2020 12:00:00 +0000 Subject: [PATCH] render labelled decision trees as graphviz diagrams --- examples/simplify-redundant.tess | 12 ++++++++++++ examples/simplify.tess | 11 +++++++++++ 2 files changed, 23 insertions(+) create mode 100644 examples/simplify-redundant.tess create mode 100644 examples/simplify.tess diff --git a/examples/simplify-redundant.tess b/examples/simplify-redundant.tess new file mode 100644 index 0000000..3197927 --- /dev/null +++ b/examples/simplify-redundant.tess @@ -0,0 +1,12 @@ +data Expr = Lit Int | Add Expr Expr | Mul Expr Expr | Neg Expr + +match simplify (e : Expr) : Expr = + | Add (Lit 0) x -> x + | Add x (Lit 0) -> x + | Mul (Lit 0) x -> Lit 0 + | Mul x (Lit 0) -> Lit 0 + | Mul (Lit 0) (Lit 1) -> Lit 0 + | Mul (Lit 1) x -> x + | Mul x (Lit 1) -> x + | Neg (Neg x) -> x + | e -> e diff --git a/examples/simplify.tess b/examples/simplify.tess new file mode 100644 index 0000000..da1a4be --- /dev/null +++ b/examples/simplify.tess @@ -0,0 +1,11 @@ +data Expr = Lit Int | Add Expr Expr | Mul Expr Expr | Neg Expr + +match simplify (e : Expr) : Expr = + | Add (Lit 0) x -> x + | Add x (Lit 0) -> x + | Mul (Lit 0) x -> Lit 0 + | Mul x (Lit 0) -> Lit 0 + | Mul (Lit 1) x -> x + | Mul x (Lit 1) -> x + | Neg (Neg x) -> x + | e -> e