14
$\begingroup$

I am looking for a list of changes to how core functions work (documented or undocumented), which happened during the 10.x series, along with the version in which the change happened.

Uses for this information:

  • Ensuring package compatibility.

  • Possible implementation of a linter tool.

$\endgroup$
9
$\begingroup$

This is an incomplete list, please add more entries. Please help in finding out the version where the change happened.

Except with named patterns

Except accepts named patterns: MatchQ[f[x,y], f[z_, Except[z_]]]

Mentions: Bug: With[] pattern-variable renaming misses symbols within `Except`

Documented: No.

Since version: 10.1 or 10.2 (please update)

Table with integer repetition

Table[expr, n] replaced Table[expr, {n}] as the documented syntax.

Mentions: Unexpected behaviour from Table[]

Documented: Yes

Since version: 10.2 (per documentation)

Pattern with non-matching default value (Optional)

Pattern matching with default value succeeds even if the default value (Optional) doesn't match the pattern. Example: f[val_List : All] := "match". f[] evaluates in later versions but not in 10.0.

Mentions: Version inconsistency with optional arguments: what if the default value doesn't match the pattern?

Documented: No.

Since version: 10.1 or 10.2 (please update)

AssociateTo with association as 2nd argument

AssociateTo can take an association as its second argument.

Documented: The fact is mentioned in a documentation example. The version when the change took placed is not documented.

Since version: between 10.1–10.3

Nothing removed from associations

In versions 10.2 and 10.3, -> Nothing is removed from associations, but not :> Nothing.

Since version 10.4, it isn't.

Documented: Yes. Version where change occurred is documented. What the change was is not mention in later version documentations, so it is necessary to manually compare doc pages.

Sequential With

Multi-definition form for With is allowed:

With[{a = 0}, {a = a + 1}, {a = a + 1}, a]

Mentions: https://mathematica.stackexchange.com/a/121173/12

Since version: 10.2 or later

Documented: This form of With is not officially documented as of version 11.0

$\endgroup$
  • 1
    $\begingroup$ I know that there are many more undocumented small changes, so please add to the list! $\endgroup$ – Szabolcs Sep 2 '16 at 13:17
  • $\begingroup$ Iterated With[list1,list2,...,body] I think is in that time range. $\endgroup$ – Daniel Lichtblau Sep 2 '16 at 14:33
  • $\begingroup$ Operator forms, e.g. Cases[pattern][list]. $\endgroup$ – Daniel Lichtblau Sep 2 '16 at 14:33
  • $\begingroup$ @Daniel Do you know which operator forms were added after 10.0 for functions that were already present in 10.0? I'm looking mostly for stuff that's not easy to notice and which potentially impacts compatibility. $\endgroup$ – Szabolcs Sep 6 '16 at 20:28
  • 1
    $\begingroup$ Quantities can be specified in several *Distribution symbols (depending on the UnitDimensions of the quantity, this can change the distribution to a QuantityDistribution). $\endgroup$ – user31159 Sep 6 '16 at 21:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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