The Big Sleep
Pre-release
Pre-release
Package Updates
All major packages that Mathics needs have been updated for more recent
releases. Specifically These include:
- Python: Python 3.6-3.9 are now supported.
- cython >= 0.15.1
- Django 3.1.x
- mpmath >= 1.1.0
- sympy 1.6.2
New features (50+ builtins):
Association,AssociationQ,FirstPostion,LeafCountAssociation,AssociationQ,Keys,Values#705BarChart[],PieChart,Histogram,DensityPlot#499BooleanQ,DigitQandLetterQCharacterEncodingoption forImport[]Coefficient[],Coefficient[x * y, z, 0],Coefficient*[],DiscreteLimit#922Environment- File read operations from URLs
FirstPostions,Integers,PrePendTo[]GetEnvironment# 938Integers,PrependToandContainsOnlyImportsupport for WL packagesIterationLimitLoadModuleMantissaExponent[],FractionalPart[],CubeRoot[]PolynomialQ[],MinimalPolynomial[]Quit[],Exit[]#523, #814,RealDigits#891, #691,Interrupt,UniqueRemoveDiacritics[],Transliterate[]#617Root#806Sign[],Exponent,Divisors,QuotientRemainder,
FactorTermsListSpeedups by avoiding inner classes, #616StringRiffle[],StringFreeQ[],StringContainsQ[],
StringInsertSubsetQandDelete[]#688, #784,Subsets#685SystemTimeZoneand correctTimeZone#924System\`ByteorderingandSystem\`Environemnt#859$UseSansSerif#908randchoiceoption forNoNumPyRandomEnv#820- support for
MATHICS_MAX_RECURSION_DEPTH - option
--full-form(-F) onmathicsto parsedFullFormof
input expressions
Ehancements and Bug fixes:
- speed up leading-blank patterns #625, #933
- support for iteration over Sequence objects in Table, Sum, and
Product - fixes for option handling
- fixes for
Manipulate[x,{x,{a,b}}] - fixes rule -> rule case for
Nearest - fixes and enhancements to
WordCloud - added
StringTrim[] - fixes
URLFetchoptions - fixes
XMLGetStringand parse error - fixes
LanguageIdentify - fixes 2 <= base <= 36 in number parsing
- improved error messages
- fixes
Check,Interrupt, andUnique#696 - fixes
Eigenvalues,Eigenvectors#804 - fixes
Solve#806 - proper sympolic expantion for
ReandIm - fixes a bug in the evaluation of
SympyPrime#827 - clean up
ColorData - fixes unicode characters in TeX document
- update Django gallery examples
- fixes
SumandProduct#869, #873 - warn when using options not supported by a Builtin #898, #645
Mathematica tracking changes:
- renamed
FetchURLtoURLFetch(according to the WL standard) - renamed
SymbolLookuptoLookup
Performance improvements:
- Speed up pattern matching for large lists
- Quadraditc speed improvement in pattern matching. #619 and see the
graph comparisons there - In-memory sessions #623
Other Changes:
- bump
RecursionLimit - blacken (format) a number of Python files and remove blanks at the
end of lines - Adding several CI tests
- Remove various deprecation warnings
- Change shbang from
pythontopython3 - Update docs
Backward incompatablities:
- Support for Python 3.5 and earlier, and in particular Python 2.7,
has dropped - The
graphsmodule (for Graphs) has been pulled until Mathics
supports pymathics and graphics using networkx better. It will
reappear as a pymathics module. - The
natlang(for Natural Language processing) has also been
pulled. The problem here too is that the pymathics mechanism needs a
small amount of work to make it scalable, and in 1.0 these were hard
coded. Also, both this module andgraphspulled in some
potentially hard-to-satisfy non-Python dependencies such as
matplotlib, or NLP libraries, and word lists. All of this made
installation of mathics harder, and the import of these libraries,
natlangin particular took some time. All of this points to having
these live in their own repositories and get imported on laziliy on
demand