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
,LeafCount
Association
,AssociationQ
,Keys
,Values
#705BarChart[]
,PieChart
,Histogram
,DensityPlot
#499BooleanQ
,DigitQ
andLetterQ
CharacterEncoding
option forImport[]
Coefficient[]
,Coefficient[x * y, z, 0]
,Coefficient*[]
,DiscreteLimit
#922Environment
- File read operations from URLs
FirstPostions
,Integers
,PrePendTo[]
GetEnvironment
# 938Integers
,PrependTo
andContainsOnly
Import
support for WL packagesIterationLimit
LoadModule
MantissaExponent[]
,FractionalPart[]
,CubeRoot[]
PolynomialQ[]
,MinimalPolynomial[]
Quit[]
,Exit[]
#523, #814,RealDigits
#891, #691,Interrupt
,Unique
RemoveDiacritics[]
,Transliterate[]
#617Root
#806Sign[]
,Exponent
,Divisors
,QuotientRemainder
,
FactorTermsList
Speedups by avoiding inner classes
, #616StringRiffle[]
,StringFreeQ[]
,StringContainsQ[]
,
StringInsert
SubsetQ
andDelete[]
#688, #784,Subsets
#685SystemTimeZone
and correctTimeZone
#924System\`Byteordering
andSystem\`Environemnt
#859$UseSansSerif
#908randchoice
option forNoNumPyRandomEnv
#820- support for
MATHICS_MAX_RECURSION_DEPTH
- option
--full-form
(-F
) onmathics
to parsedFullForm
of
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
URLFetch
options - fixes
XMLGetString
and 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
Re
andIm
- fixes a bug in the evaluation of
SympyPrime
#827 - clean up
ColorData
- fixes unicode characters in TeX document
- update Django gallery examples
- fixes
Sum
andProduct
#869, #873 - warn when using options not supported by a Builtin #898, #645
Mathematica tracking changes:
- renamed
FetchURL
toURLFetch
(according to the WL standard) - renamed
SymbolLookup
toLookup
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
python
topython3
- Update docs
Backward incompatablities:
- Support for Python 3.5 and earlier, and in particular Python 2.7,
has dropped - The
graphs
module (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 andgraphs
pulled 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,
natlang
in particular took some time. All of this points to having
these live in their own repositories and get imported on laziliy on
demand