-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Roadmap for 0.3 #4853
Comments
Add C struct passing from #3466? |
Seamless access to help from unloaded packages. |
Furthering @davidssmith's comment, I think there have been several issues discussed/opened about the help system in general; specifically addressing the "we need more" discussions (i.e. examples + links + etc. in addition to simple text descriptions), and probably more urgently, the need for packages to be able to integrate into the help system. I would also add the discussion at quinnj/Datetime.jl#12 about datetime support in Base. I've got a wonderfully long holiday break coming up and this is near the top of my to do list. |
Faster sparse matrix vector products (#4707). |
+1 datetime support in Base
|
This is what the 0.3 milestone is for. We don't need an issue listing other issues. |
It is kind of nice to see it all in one place, honestly. And the combination of linking with checkmarks is effective. |
The one place is the 0.3 milestone, and the checking is closing issues. |
This is useful because it can eventually become the release notes. |
Isn't this just an extra thing to keep in sync? IIUC, changes for 0.3 will now need to update the relevant issue, the NEWS file, and this issue. Are all new 0.3 issues also supposed to be added to this one? And then when we close an issue we also check it off here? Why bother? |
@JeffBezanson I think the idea was that we would be used to generate a time-table / prioritization listing |
I'm ok if the work item here is to decide on the scope of 0.3 --- in other words, make sure issues are open for everything we want in 0.3, and then close this when we're satisfied with the set of issues. I just prefer issues to have clear criteria for what it takes to close them. And I prefer for issues not to merely ask that certain other issues be fixed. That is just redundant. If people somehow prefer the UX of a checklist inside this issue to milestones, then I suppose we could switch over. I just don't want two copies of the issue list. Which one is authoritative? |
From my perspective, the sooner we get to #3701, the better. I'm not aware of any comparably breaking change we have planned. |
@JeffBezanson I agree. I had intended to better define this issue a bit more, but RL intervened as it is wont to do. My intention here was to initiate discussion of what should make it into 0.3. I do not intend for this to be a wishlist or forum for feature suggestions, rather it should be a place for issues that have already been proposed (by that I mean a separate issue was opened discussing the idea) to be formally itemized as "things that we're actively working on for 0.3". I suppose this makes it easier to generate a NEWS.md for 0.3, but I just don't really find the 0.3 milestone marker as helpful as a checklist. It IS still helpful, and I think we should continue to tag things for milestones, but it's less organized, issues often have titles that aren't quite what is being discussed within them and I like being able to hierarchically order the issues in the rough outline I have above. |
I really don't see any problem with having both a milestone and an umbrella issue. |
I saw in a previous issue that a metadata field for function expression objects was being considered. Is this still planned? I really like this clojure feature as it is nice for macro writing / metaprogramming as well as tooling support. |
Oh, one more thing: the syntax sugar from #1255 ( |
How about, install with Anaconda? Surprisingly -- or maybe not -- the hardest platform to install Julia on is non-Ubuntu (or non-root-access, or slightly-out-of-date) Linux. Julia includes a lot of hard-to-build dependencies -- much as Scipy once did. There's a lot of similar dependancies between Julia and Anaconda. Would be nice to type "conda install julia". |
+1 to synergy with Anaconda. |
I would very much like to see #552 happen. |
The thing that I have been looking forward to for a long time is to allow specializing/inlining function arguments. Currently, I have to avoid using higher-level functions (such as @JeffBezanson listed this in #3440. I do hope this to be implemented before 0.3 is release. This would greatly simplify the implementation of many functions in Base, e.g. you can write exp(x::AbstractArray) = map(exp, x)
sum(x::AbstractArray) = reduce(+, 0, x)
... This also makes functional programing a truly feasible solution even in the context where performance is important. |
Dahua's request would be really great if it's not too ambitious. |
I do think this should be a really high priority at this point. It could be a pure performance optimization, which is nice. |
Wait a minute... |
We were discussing the release cycle off-line a bit, and decided we'd like a faster cycle for 0.3. There are already some nice changes like the faster startup time and a couple big performance improvements, and we don't want to hold those up. The list above has a couple big-ticket items that we're not going to get to. Ideally we'd like to declare a feature freeze at the end of January, let everything stabilize over February, and release 0.3 in early March. |
Sounds reasonable to me. Especially if we are planning on keeping up the pace. There's a few issues that need to be addressed too: #5142 and making make the sys.so image redistributable |
I guess that MCJIT also means that we should be updating to LLVM 3.4? It's best to do this as soon as we can, to give adequate time for wide testing. IIRC, the AVX2 also works in 3.4, and perhaps the autovectorization stuff can also make an appearance in 0.3. |
We can upgrade to LLVM 3.4 in any case. I don't think we should switch to MCJIT for 0.3 unless it fixes something important. We can switch to it at the beginning of 0.4. |
I thought that 3.4 dropped support for the old JIT, or does that happen in 3.5? If we can upgrade to 3.4, let's do it. |
I'm pretty sure 3.4 still has the legacy JIT, but it will be gone for sure by 3.6. |
I don't mean that we have to enable the MCJIT, just merge the code so it is available. |
@vtjnash, probably this is more long-term than 0.3, but what are your thoughts on integration of Gtk? Do you see it migrating to base, or will package pre-compilation (=fast loading of graphics) make that unnecessary? |
@timholy, do you have some experience how good Gtk works on OSX and Windows? GTK seems to be the perfect fit to me as it is a C library which makes integration with Julia a lot easier than for the other C++ libraries out there. Furthermore GTK is quite modern as it allows to define the GUI declarative using xml and glade. |
@vtjnash, @timholy I am currently trying out Gtk.jl for the first time (on Windows) =>
Seriously, having a high-quality GUI toolkit available for Julia is a very big deal. |
@tknopp definitely hoping for some more speed improvements in the package loading area. not sure what will get into 0.3, but it's a known issue |
@tknopp, no, I have no personal experience with the cross-platform issues. I've previously lobbied for Qt, in large measure because they were so astonishingly slow to port GTK+3 to other platforms; fortunately, it appears that very recently the situation has gotten a lot better. Now (1) Gtk.jl is awesome 😄 and keeps getting better, (2) C++ is indeed challenging, and (3) it would be great to pick one toolkit to rule them all. So I vote enthusiastically for Gtk. If going into base helps standardize on it, I could imagine it being a good thing. On the other hand, you probably can't "force" these things no matter how hard you try, so there may be no point. Certainly, fast package-loading would take away the pain. |
@timholy: After playing a little bit my impression is that Gtk is quite stable on Windows (on linux anyway). OSX seems worse. I still did not get Gtk3 compiled using homebrew. I don't think privileging a package is really a problem. Currently, Julia is outstanding for doing command line stuff. But looking at Gtk.jl one can imagine that Julia could also get an excellent GUI building language. And while I really like Qt, one should begin the Qt vs Gtk discussion when someone has a good idea how to interface with Qt from Julia. |
Why was this closed? |
At this point we've decided the scope of 0.3. We did a quick triage session at MIT and you'll notice a bunch of issues were closed or moved out of the 0.3 milestone. Everybody should feel free to keep discussing, but the milestone will serve as the official to-do list for the release. If something doesn't seem right, relabel and discuss in the relevant issues. |
It is nice to have that note for those of us not present. |
In general, it's good to give a brief reason when closing an issue unless it's obvious. |
You |
Maybe should is a better word choice than shall? |
3.4 is in a weird in-between state that is unfortunately not usable for us. We can easily patch llvm to make this work and upgrade to 3.5 once that's released. |
@johnmyleswhite yes, sorry about it. I wanted to say simply that I;ve found worrisome that LLVM3.3 is no more updated, and maybe one should start to think about moving to a different version. @Keno I see, I was not aware of it, thanks for the clarification. |
We are, I'm afraid, acutely aware of the status of various LLVM versions. As @Keno said, we cannot use 3.4 since both of LLVM's JITs are in an unusable state for Julia in that version. LLVM 3.5 has not yet been released. So we're stuck on 3.3 with patches. The notion that LLVM is just a system library that you can just link against some arbitrary version of, although widespread, is completely misguided. |
The julia source tree can download and build its own LLVM. Upstream is no longer maintaining 3.3 which is why distros are moving away, not wanting to maintain 3 toolchain releases as 3.5 is around the corner. We should be OK with 3.5, hopefully. |
This is meant to be a general roadmap issue for things that we'd like to shoot for inclusion into 0.3. Feel free to edit this post to get the list in one place, and try to link to specific issues as much as possible. For those of you without edit access, I suppose you can post your additions as comments and I (or someone else who happens to have edit access) will incorporate your changes into this top post.
Please note that this isn't a wishlist, new features that are being proposed or asking to be added into 0.3 should be opened as their separate issues, this list is for issues that we already know we want to be in 0.3.
Usability Improvements
Base Julia Improvements
a.b
(allow overloading of a.b field access syntax #1974, note this is marked as 1.0 right now)Standard Library Improvements
Distribution
The text was updated successfully, but these errors were encountered: