Description
I'd like to collect a list of things that should be deprecated before 0.6 is released, even if we don't implement the corresponding feature until 1.0. Some examples I can think of:
-
Strings:
"hello".data
access – we need to change the representation of strings to make them more efficient, which is almost certainly not going to allow accessing their underlying bytes like this. So we need to deprecate this and provide an alternative API for this sort of thing. fasterString
allocation #19449. -
Backtick syntax: deprecate using shell-special characters inside of backtick command syntax. At this point we can write most shell constructs in Julia, but it's gotten a bit more verbose and inconvenient than I'd like. So, in 1.0 I'd like to make, e.g.
`echo hello & echo world | sort >> file.txt`
construct a pipeline that runs twoecho
commands in parallel and connects them to the stdin of asort
command and then connects the output ofsort
to the filefile.txt
opened in append mode. deprecate unescaped shell special chars in commands #19786 -
the elementwise meaning of
|
and&
given we're about to have.|
and.&
Deprecate manually vectorized methods in favor of dot syntax, monolithic edition #19791 -
depreaction of
sumabs
,sumabs2
,maxabs
andminabs
which are not necessary with fast function arguments. Deprecate sumabs, sumabs2, minabs, maxabs #19616 -
Array(T, dims...)
(RFC: Deprecate Array(T, dims...) #19989) -
partial linear indexing, done in RFC: Deprecate partial linear indexing #20079
-
produce
/consume
(issue Deprecate produce-consume #17699) -
vectorized
isinteger
, et al. (deprecate array-reducing isinteger #19925) -
vectorized
frexp
(Deprecate frexp{T<:AbstractFloat}(A::Array{T}) in favor of broadcast ? #19817) -
promote_eltype_op
(Remove broadcast_elwise_op and deprecate promote_eltype_op #19814) -
deprecate vectorized ifelse in favor of dot syntax (Deprecate vectorized ifelse in favor of dot syntax #19931)
-
deprecate
_
as a rvalue (Dummy variable _ #9343, deprecate using_
as an rvalue #20328) -
~
macro syntax the overall plan from things we should deprecate, 0.6 edition #19598 (comment):-
change the one user of this as a macro – i.e. StatsModels (WIP: Replace infix ~ for formulas with a model macro JuliaStats/StatsModels.jl#9)
-
update DataFrames to depend on the new version of StatsModels (issue/PR link?)
-
change parsing of
~
in Base from macro to plain infix operator
-
-
Open for read and write: we need to get rid of
readandwrite
so whatever deprecation we need to make there should be made. This may be harder since we may need to implement the change. Change open(cmd) to return Process instead of Tuple #12807 -
Inner constructor syntax, see things we should deprecate, 0.6 edition #19598 (comment)
-
Static parameter syntax, see things we should deprecate, 0.6 edition #19598 (comment)
-
Deprecate reducer form of
@parallel
: RFC: "for-loop" compliant @parallel for.... take 2 #20259, waiting for a review
Probably in 1.0 rather than 0.6:
-
Various special functions, pending Special functions to Base #4301/move special functions out of Base? #8536
-
full
– @Sacha0, how are we on this?