-
Notifications
You must be signed in to change notification settings - Fork 50
Latest attempt to get this working on 0.7 #65
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
Conversation
This breaks 0.6, but the point of pushing this now is that it reveals a segfault in Julia master
With proposed PRs for TiledIterations this gets through the test suite. A tricky bounds violation and some inference failures remain.
A few more patches for v0.7
Minor adjustments for 0.7
Codecov Report
@@ Coverage Diff @@
## master #65 +/- ##
==========================================
+ Coverage 91.51% 94.49% +2.97%
==========================================
Files 8 8
Lines 1096 690 -406
==========================================
- Hits 1003 652 -351
+ Misses 93 38 -55
Continue to review full report at Codecov.
|
@timholy I wasn't sure whether you meant to just merge into this branch or fully into master. |
Earlier versions of Julia supported two types of lispy tuple programming: one in which arguments shrink (e.g., via Base.tail) and the output gets appended, and the other in which the result is appended to one of the arguments (and therefore grows). For 0.7, inference has prioritized either (1) proving that inference will converge or (2) exiting quickly. Proving convergence is apparently much harder if some of the arguments grow in size, so inference doesn't try very hard to get the right ansswer anymore. Consequently inference was broken in our previous implementation. This slight disadvantage is more than compensated by the fact that we can now do inferrable arithmetic on type parameters, as exemplified here by `ReshapedOneD{N,N-M}(arg)`.
Woot! Thanks to all who helped this happen. |
This incorporates #41 and #64. As I am rushing to leave town for two weeks, most likely without any internet whatsoever, this is quick.
Most of the tests are working on 0.7. You need a fresh build of Julia and you also want JuliaLang/julia#28100 and JuliaLang/julia#28084. While I am gone I would urge members of the Images community to keep trying to get the JuliaImages packages working on 0.7: porting these has shaken out something like a dozen critical bugs in Base Julia and its stdlibs. Having put so much work into Julia and JuliaImages so far, it would be something of a shame if 1.0 got released and we couldn't really run JuliaImages packages.
Discourse advertised a slack channel on Fridays to help people port packages. Good luck!