Closed bkonkle closed 8 years ago
It's due to the change in operator sections:
-- this:
interchange y u = (u <*> pure y) == (pure ($ y) <*> u)
-- needs to become:
interchange y u = (u <*> pure y) == (pure (_ $ y) <*> u)
-- from:
associativity f g x = ((f <<=) <<< (g <<=) $ x) == (f <<< (g <<=) <<= x)
-- to:
associativity f g x = ((f <<= _) <<< (g <<= _) $ x) == (f <<< (g <<= _) <<= x)
-- from:
composition f g x = ((<$>) (f <<< g) x) == (((f <$>) <<< (g <$>)) x)
-- to:
composition f g x = ((<$>) (f <<< g) x) == (((f <$> _) <<< (g <$> _)) x)
Basically the (× a)
and (a ×)
form of operator section no longer exist, and now require an underscore placeholder. The change was to make unary negation unambiguous.
Looks like @menelaos beat you to it: #12! Thanks for taking a look though.
I tried to dig in and find out why this isn't working in 0.9.1, but I don't understand what's going wrong. Here's the build output:
It looks like the compiler believes there are mismatched parentheses, but I can't find them.