aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamil Staps2017-11-22 18:15:11 +0100
committerCamil Staps2017-11-22 18:15:11 +0100
commit77bff1a687a4418d1968f49cbbd5b7c19f5eaba8 (patch)
tree0b76780ccbb66b7a9af2ea309b35d9fef6d97c6b
parentMake parsing more robust (diff)
Add join -> >>= optimisationHEADmaster
-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