This core functionality includes arithmetic on rings, modules, and matrices, as well as algorithms for Gröbner bases, free resolutions, Hilbert series, determinants and Pfaffians, factoring, and similar.
[1] The Journal of Software for Algebra and Geometry has published numerous packages and programs for Macaulay2.
The interpreter itself is written in a custom type safety layer over C.[4] Both the system and the programming language are published under the GNU General Public License version 2 or 3.
The Macaulay system showed that it was possible to solve actual problems in algebraic geometry using Gröbner basis techniques, but by the early 1990s, limitations in its architecture were becoming an obstruction.
The Macaulay2 language and design has a number of improvements over that of Macaulay, allowing for infinite coefficient rings, new data types, and other useful features.
In a 2006 interview, Andrei Okounkov cited Macaulay2 along with TeX as a successful open-source project used in mathematics and suggested that funding agencies look into and learn from these examples.