Make `fmap` left associative.
This follows the associativity in Haskell. So, something like
f <$> g <$> h
Is now parsed as:
(f <$> g) <$> h
Since the functor is a generalized form of function application, this also now also corresponds with the associativity of function application, which is also left associative.
Todo
What should be the level? It used to be at level 60, which was already an arbitrary choice. However, this has to be changed since that level (60) is right associative. I tentatively put it at level 61, which is totally arbitrary too.
Clearly, the level should be above list append and cons (++
and ::
, which are both at level 60). Things like f <$> xs ++ ys
should be parsed as f <$> (xs ++ ys)
, similarly to what happens in Haskell. Are there other constraints? How should it interact with the monad notations (>>=
, do notation, ...).
Merge request reports
Activity
added 6 commits
-
2d92df09...58e2c608 - 5 commits from branch
master
-
12e701ca - Make
fmap
left associative.
-
2d92df09...58e2c608 - 5 commits from branch
mentioned in commit d253d8a1