aboutsummaryrefslogtreecommitdiff
path: root/Logic.icl
diff options
context:
space:
mode:
Diffstat (limited to 'Logic.icl')
-rw-r--r--Logic.icl11
1 files changed, 10 insertions, 1 deletions
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