From af7f0d6b8103dbfa46b8d159be9c70e8db51e810 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Sat, 4 Jul 2015 19:53:55 +0200 Subject: Fix show for expressions (parentheses); allow parentheses in input --- Logic.icl | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'Logic.icl') diff --git a/Logic.icl b/Logic.icl index 97d8df5..c678248 100644 --- a/Logic.icl +++ b/Logic.icl @@ -117,7 +117,16 @@ where show opt (B b) = show opt b show opt (Atom a) = show opt a show opt (App1 op e) = show opt op +++ show opt e - show opt (App2 e1 op e2) = show opt e1 +++ " " +++ show opt op +++ " " +++ show opt e2 + show opt (App2 e1 op e2) = if needs_l "(" "" +++ + show opt e1 +++ + if needs_l ")" "" +++ + " " +++ show opt op +++ " " +++ + if needs_r "(" "" +++ + show opt e2 +++ + if needs_r ")" "" + where + needs_l = needs_parentheses_left (App2 e1 op e2) + needs_r = needs_parentheses_right (App2 e1 op e2) instance == Op1 where -- cgit v1.2.3