Lijo Joseph
Lijo Joseph

Reputation: 4692

Where can I find Missing Functions in Julia?

Please mark the list of removed functions in the current version documents. New aspirants like myself will find it difficult to trace deprecated or modified functions!!! What happened to functions like dec, chr2ind and ind2chr etc? Is there any doc on deprecated functions??

Upvotes: 1

Views: 202

Answers (1)

Bogumił Kamiński
Bogumił Kamiński

Reputation: 69839

Up till Julia 1.0 the policy was that if function were to be removed in version 0.X, then it was deprecated in version 0.X-1.

After Julia 1.0 you can expect that breaking changes like function removal will not happen till Julia 2.0.

A practical advice is twofold:

  • strict: if you have a program or manual written for Julia 0.X you should install this version to run it (this is probably an advice that is the same as for any other software product)
  • loose: Julia 0.7 has the same functionality as Julia 1.0 but it prints deprecation warnings for functions that were removed/renamed from Julia 0.6.

Now regarding your specific questions I relate to changes between Julia 0.6 and 1.0 (as you have not specified for which Julia version you had your program/manual):

  • instead of dec(10, 3) use string(10, pad=3)
  • instead of chr2ind("αβγdef", 2) use nextind("αβγdef", 0, 2)
  • instead of ind2chr("αβγdef", 2) use length("αβγdef", 1, 2)

(note, however, that regarding string handling Julia 1.0 introduced some breaking changes in the infrastructure - in particular you can ingest and work with even invalid UTF-8 strings so in some cases these functions might not have exactly identical behavior)

Now regarding finding removals. What I typically do is search a Julia GitHub repo for a given function. Most of the time it is easy to find a commit that deprecates it. For example here is a commit deprecating chr2ind and ind2chr: https://github.com/JuliaLang/julia/commit/dcf9552ace3331cbd5426f91a5c84c8e810f9a91. The additional benefit from this approach is that you can get the understanding of the reason that lead to the change (as you have reference back to a specific issues/PRs). In this case you can see that the specific functions got deprecated over one year ago, which means that your sources are probably relatively old and one year in pre Julia 1.0 world was a lot of time as it was evolving very fast back then.

Upvotes: 2

Related Questions