5 ms·
That makes sense. Maybe I was used to R (CRAN) where uploaded packages are actually tested against the version they declare to support.
by LittlePeter 8y ago
That makes sense. Maybe I was used to R (CRAN) where uploaded packages are actually tested against the version they declare to support.
- candhee 8y agoJuliaDB declares support for 0.6 not 1.0 - http://juliadb.org/latest/ http://juliadb.org/latest/ Which package declared support for 1.0.0 and didn’t compile?
- kgwgk 8y agoA binary package will be available in CRAN for a given platform/version only if it works (it passes all the tests). It seems that Julia lets you install a non-working package without any warning (you will probably get errors when you run it, but I guess it may also fail silently which is worse).
- et2o 8y agoI was excited to try using Julia 1.0.0 today after a couple years since my last try and... couldn’t. None of the packages work with it yet. I guess I could go find an older version, but it seems like a problem that Julia will happily allow you to install a package it isn’t compatible with. What’s the point of the Pkg system then? CRAN’s model makes a lot more sense.
- StefanKarpinski 8y agoMany packages have declared them selves compatible with any future version of Julia... which is clearly a lie. These need upper bounds on their version compatibility, but that will take some time to propagate through the system.
- kwertzzz 8y agoThis is indeed a very good idea. In Julia, the package author defines the range of supported Julia version. Most package actually just say "version 0.6 or later". The JuliaDB package was just been updated preventing the installation on Julia 0.7 or 1.0: https://github.com/JuliaComputing/JuliaDB.jl/commit/8bf3057df154b7d0b592248bb3be98171dd28738 https://github.com/JuliaComputing/JuliaDB.jl/commit/8bf3057d... A automatic check as in R would indeed a better choice.
- tavert 8y agoThat will only prevent installation of master of the package or the immediate next few versions on 0.7. The old package versions without a julia upper bound remain available so users on 0.7 or 1.0 will just be held back to old versions of JuliaDB until a new release without an upper bound gets made.
- celrod 8y agoOn each packages GitHub page, there should be unit test info, including badges that link to Travis and/or Appveyor, indicating where they were treated and whether they passed. If the tests haven't run in a while, they wouldn't have been tested on 1.0. Waiting a month may be a good bet.
- disgruntledphd2 8y agoThat probably didn't happen at R 1.0.0. (Release notes: ftp://cran.r-project.org/pub/R/R-release-1.0.0.html). More informative wikipedia page: https://en.wikipedia.org/wiki/R_(programming_language)#CRAN https://en.wikipedia.org/wiki/R_(programming_language)#CRAN That being said, R was GNU S once upon a time, so they didn't really build a new language, rather an open source clone of a popular proprietary tool. (In case it wasn't clear I both love R and am madly excited that Julia has finally hit 1.0.0).
- currymj 8y agoCRAN has extremely strong requirements around testing, compatibility, documentation, all aggressively enforced by the maintainers of the repository. The Julia package ecosystem is much more anarchic, like npm. You basically just have to have a public git repository with certain files in place, and a cursory review from the managers of the package metadata. There are tradeoffs. I'm honestly not sure which one is the right way. I really appreciate how much I can trust that a CRAN package works, but there's a reason so many R devs are using devtools to do an end-run around it.