aboutsummaryrefslogtreecommitdiff
path: root/pf.icl
diff options
context:
space:
mode:
Diffstat (limited to 'pf.icl')
-rw-r--r--pf.icl3
1 files changed, 2 insertions, 1 deletions
diff --git a/pf.icl b/pf.icl
index 76a54f9..342ee82 100644
--- a/pf.icl
+++ b/pf.icl
@@ -145,7 +145,8 @@ where
a -> Ident "const" @ a
optim (f @ x) = case optim f @ optim x of
Ident "flip" @ Ident "ap" @ Ident "id" -> Ident "join"
- Ident "ap" @ f @ Ident "id" -> Ident "join" @ f
+ Ident "ap" @ f @ Ident "id" -> optim (Ident "join" @ f)
+ Ident "join" @ (Ident "(o)" @ f @ g) -> optim (Ident "(>>=)" @ f @ g)
e -> e
optim e = e