Mathics
Mathics copied to clipboard
Add LanguageLevel package.
Add a mathics package, analygous to packages VectorAnalysis
or DiscreteMath
CombinatoricaV0.9`, which does what it can to provide compatibility with various WL versions.
I the beginning it could be something no more complicated than:
LanguageLevel::usage = "LanguageLevel[v] Set Mathiics to support WL Version $v$";
LanguageLevel[n_Integer] := Unprotect[$VersionNumber];$VersionNumber=n;Protect[$VersionNumber];
Except the above doesn't work. Later on it would include compatibility functions or changes to exisiting functions that support backwards/fowards compatibility.
See also #1131 and https://github.com/mathics/Mathics/pull/1104#issuecomment-767428359
It seems to be an error in the evaluation because ClearAttributes
is doing what it should and when it tries to change the value of $VersionNumber
the attribute Protected
is still there.