-
Notifications
You must be signed in to change notification settings - Fork 114
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
Migrate to Expronicon.jl v0.8 from Unityper.jl #611
Comments
Well I do realize it's a bad idea overloading getproperty to provide namespace syntax. So I'm still working on a refactor of Expronicon sum type. I have a working version inside Liang.jl but still WIP splitting that out and stabilizing. |
I'm running into an issue with using parametric types like
Error:
Is there a workaround for this, or is support for parametric types planned for a future release? Thanks! |
Yes it doesn't support such for the same reason as Unityper - if we obey C tagged union convention this will require Julia compiler to support generated struct (as pointed out in a previous discussion under JuliaLang/julia) However, Mason have demonstrated that without this convention we can achieve better performance by just using julia's Union type in SumTypes.jl. I'm planning to adopt this solution and rewrite MLStyle on top of this. The new package is named Moshi.jl stands for the name pattern in Chinese. But as you may know I just graduated recently so I will be in vacation and moving for the summer. So I'm not sure how much time I have to push this forward this year. |
@YingboMa |
Since struct BasicSymbolic{T}
x::BasicSymbolicImpl
end and use |
@YingboMa |
Ok well, good but maybe also bad news: I got bored with vacationing and decided to code up this. I just released a version of Moshi.jl with new pattern matching and ADT support (with generics) and should have no invalidation anymore. The interface will be a bit breaking in order to fix the invalidation issue. And bonus is now many methods are generated by derive macro optional upon your choice instead of automatically (e.g equivalence and show). It's still experimental and in early stages but please feel free to try it out! |
Unityper.jl doesn't support recursive type and it also doesn't support powerful pattern matching with MLStyle.jl.
Note that we have to use Expronicon.jl v0.8 and not any other release because later version cause massive invalidations.
CC: @Roger-luo
The text was updated successfully, but these errors were encountered: