I don't see how this enables "extreme performance gains". As have been said, you can already now use slice/sub in base so the only difference is if a slice is default or not for the [:] syntax. I do realize that syntax matters and no one is going to write slice(A, :, 1) everywhere instead of A[:,1].
However, I am a bit wary about it because the vast majority of the hard to track down bugs I've had has been due to some unexpected shared state. Wouldn't it be best if you could opt in to use the [:] syntax as slices somehow and have the default stay as it is? On Tuesday, November 3, 2015 at 8:30:04 AM UTC+1, Tomas Lycken wrote: > > There’s no way this transition is going to be smooth without work from > package devs to ensure compatibility anyway, but recent history (e.g. the > Tuplocalypse) shows that packages recover quite rapidly due to the > automated testing done by PkgEval.jl. Thus, packages with decent test > suites will probably get a heads-up that this change is breaking for them > long before 0.5.0 is released. > > Given that these changes potentially allow quite extreme performance gains > in many applications, I find it unlikely that package devs won’t want to > spend some time fixing any bugs this behavior change introduces, but for > those that just want to pin their package down before fixing it, they can > say julia 0.4 0.4 or similar in their REQUIRE.jl, and not even allow > installation on 0.5 (until they fix the problems, change the REQUIRE.jl and > tag a new version). Note that many (most?) packages won’t even need this - > package testing on the master branch will reveal to devs whether a package > even needs touch-up or not. > > I used from __future__ import print at the top of my python scripts for a > long time, so I’m entirely in favor of something like that. However, I > guess the behavior needs to be implemented and done in the master branch of > Julia before we know exactly how to mimic it in a package (if it’s even > possible). > > // T > > On Tuesday, November 3, 2015 at 7:41:17 AM UTC+1, Christoph Ortner wrote: > > Why not do this via Compat.jl ? >> C >> >> On Tuesday, 3 November 2015 04:28:44 UTC, David Anthoff wrote: >>> >>> No, Compat generall ports the new syntax back to old versions. What I'm >>> suggesting is quite different, namely that in julia 0.5 if you just use >>> `[]` for slicing without anything else, you generate a warning, and then >>> you have to opt-in to the NEW syntax. >>> >>> > -----Original Message----- >>> > From: julia...@googlegroups.com [mailto:julia- >>> > us...@googlegroups.com] On Behalf Of Eric Forgy >>> > Sent: Monday, November 2, 2015 3:30 PM >>> > To: julia-users <julia...@googlegroups.com> >>> > Subject: RE: [julia-users] Re: Re: are array slices views in 0.4? >>> > >>> > Hi David, >>> > >>> > I'm not an expert, i.e. I've never used it, but your idea "using >>> OldArrays" >>> > sounds exactly like the purpose of Compat.jl, which I believe is the >>> > compatibility module referred to. >>> > >>> > Have a look and good luck: >>> > >>> > https://github.com/JuliaLang/Compat.jl >>> >> >