Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Various fixes #79
This includes a few things. Some minor (formatting, SwiftCheck update), some
Don't know how I feel about these precedence groups, tbh. I don't think I feel
These remove the need for the explanitory comments about what the specific precedence means. Unfortunately, there's no `equalTo` operator for these, so we can't actually define these as accurately as I'd like. There's also no ability to define multiple `higherThan` or `lowerThan` precedence groups, which means we can't ensure that our `AlternativePrecedence` is positioned correctly above our monadic precedences. All in all, I'm not sure how I feel about this. I'm less confident in the positioning of these groups now and I'm unclear on how changes will affect consuming code.
Using ComparisonPrecedence here didn't actually work the way we wanted. Apparently, ComparisonPrecedence doesn't actually have an associativity defined, so chaining these together doesn't actually work. To fix this we can define our own precedence groups (inspired by those defined in SwiftCheck) and set up a precedence tree. Unfortunately since our tests are broken, it only became apparent when we integrated this lib into Argo.
We need to explicitly put the monadic precedences at the bottom of the stack. I'm unclear on how this will affect things. Also fixing the precedence for Alternative to match the precedence set in Haskell.
@gfontenot I meant to post it earlier, but I ported Runes to beta 6 for my own projects, but didn't open a PR since I couldn't run the tests. Here's my
@jshier Ah interesting. I started running into problems when trying to use this with Argo since I needed to define the precedence of
I think this is hooked up the way we'd expect it to be hooked up now. Argo seems happy, at least.
I'm not too worried about getting this exactly right since we're not exporting it publicly. I just want to make sure it's got the correct precedence for the tests.
They removed their custom operators! Our tests build again (and should be much less fragile moving forward)!