-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Advantages over MLStyle.jl? #27
Comments
I'm not sure. I believe our use of Match.jl predates MLStyle, or at the very least, predates our having learned about MLStyle. I've also suggested in the past that we need to do an investigation to see whether our use cases are entirely covered by either package, and consolidate on one of them. None of us seem particularly enthused about supporting this package, so converging on MLStyle sounds great to me if it hits all of our use cases! :) For more context, there's this open issue to consolidate this package and |
Thanks Nathan. MLStyle seems maybe a bit more advanced in some ways, because it matches according to Julia's AST structure. Or at least, that's how I always use it. I really like this, but for Julia newcomers it may be harder to use |
That sounds appealing! |
MLStyle also provides extensible pattern matching so that you can define patterns/deconstructors for free. I'm now unsatisfied with MLStyle because I want to make pattern matching libraries as develop time only frameworks. And I now think comparing to mlstyle, rematch is more lightweighted and more friendly to get integrated into projects. However I'd say using rematch is now suffering from some issues. The match failure error reporting can be confusuing, and it doesn't point to the position of errors occurred. The I hereby think the major problems of Julia pattern matching are these, and I hope the Julia community can work together to end them:
|
The
@match
calls in our code led me to assume we were using MLStyle. I've never usedMatch.jl
; does this approach have any advantages over MLStyle?The text was updated successfully, but these errors were encountered: