16
$\begingroup$

I have just learned about the new function Splice from this answer. It turns out that this function used to have a completely different usage! (See below.)

To me, this seems dangerous, to deprecate a symbol and then two versions later introduce completely different functionality to that symbol. What other symbols in Mathematica have been deprecated and then used as the name for a new function?


From my copy of Version 11.3:

enter image description here

$\endgroup$
1
  • 3
    $\begingroup$ BTW, the output of WolframLanguageData["Splice"]["Timeline"] seems incomplete. $\endgroup$ Aug 10, 2020 at 16:50

3 Answers 3

12
$\begingroup$

The oldest example I can think of is Medium.

Version 1.x:

Medium usage

It got deprecated after version 2, and was then re-introduced in version 6; that usage persists to this very day.

I suppose Accumulate[] also counts.

Version 1.x:

Accumulate usage

If the usage looks awfully familiar, this is because it now exists as FoldList[], and Accumulate[] was then repurposed in version 6.

$\endgroup$
9
$\begingroup$

The Wolfram Documentation center provides a useful list:

Incompatible Changes since Mathematica Version 1.

It has this to say about Splice:

The symbol Splice has a new definition; its previous functionality can be accessed with FileTemplate.

In addition (another change from 12.0 to 12.1):

CurryApplied and OperatorApplied have superseded the experimental function Curry.

(For historical information on Total (which was called ListSum before release) see this post by Anton Antonov, who developed the function)

$\endgroup$
2
  • 1
    $\begingroup$ This list appears to not be exhaustive, in particular the other answers here mention some names that aren't present in this list. $\endgroup$
    – Ruslan
    Aug 12, 2020 at 15:21
  • 3
    $\begingroup$ I think the change from Curry to OperatorApplied is one of the biggest offenders here. I actually used Curry a lot, since I like to code in the tacit style. I really wish I understood why Wolfram Research decided to replace a five-letter name with a well-known meaning in computer science, with a 15-letter name whose meaning can only be understood by reading the documentation for it. $\endgroup$ Sep 3, 2020 at 22:04
8
$\begingroup$

FindCycle was reused, the output format changed, same for EdgeList.

I think the number of renamed/reused function are quite small (I would guess less than 20), though I can not find a comprehensive list.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.