Abstract
The goal of the Mathemagix project is to develop a new and freesoftware for computer algebra and computer analysis, based on a strongly typed and compiled language. In this paper, we focus on the underlying type system of this language, which allows for heavy overloading, including parameterized overloading with parameters in so called “categories.” The exposition is informal and aims at giving the reader an overview of the main concepts, ideas and differences with existing languages. In a forthcoming paper, we intend to describe the formal semantics of the type system in more detail.
Note This work has been supported by the ANR-09-JCJC-0098-01 MaGiX project, as well as the Digiteo 2009-36HD grant and Région Ile-de-France.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Baumgartner, G., Russo, V.F.: Implementing signatures for C++. ACM Trans. Program. Lang. Syst. 19(1), 153–187 (1997)
Bond, E., Auslander, M., Grisoff, S., Kenney, R., Myszewski, M., Sammet, J., Tobey, R., Zilles, S.: FORMAC an experimental formula manipulation compiler. In: Proceedings of the 1964 19th ACM National Conference, ACM’64, pp. 112–101. ACM, New York (1964)
Coquand, T., et al.: The coq proof assistant. http://coq.inria.fr/ (1984)
Coquand, T., Huet, G.: The calculus of constructions. Inf. Comput. 76(2–3), 95–120 (1988)
Dos Reis, G., Stroustrup, B.: Specifying C++ concepts. SIGPLAN Not. 41(1), 295–308 (2006)
Eisenbud, D., Grayson, D.R., Stillman, M.E., Sturmfels, B. (eds.): Computations in Algebraic Geometry With Macaulay 2. Springer, London (2002)
Faugère., J.-C., FGb: a library for computing gröbner bases. In: Fukuda, K., Hoeven, J., Joswig, M., Takayama, N. (eds.) Mathematical Software - ICMS’10, Volume 6327 of Lecture Notes in Computer Science, pp. 84–87. Springer, Heidelberg (2010)
Frigo, M., Johnson, S.G.: The design and implementation of FFTW3. Proc. IEEE, 93(2), 216–231 (2005) (Special issue on “Program Generation, Optimization, and Platform Adaptation”)
Frigo, M.: A fast Fourier transform compiler. In: Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation, vol. 34, pp. 169–180. ACM (1999)
Garcia, R., Järvi, J., Lumsdaine, A., Siek, J.G., Willcock, J.: A comparative study of language support for generic programming. In: Proceedings of the 2003 ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and AppLications (OOPSLA’03) (2003)
Geddes, K., Gonnet, G.: Maplesoft. Maple. http://www.maplesoft.com/products/maple/ (1980)
Girard, J.Y.: Une extension de l’interprétation de Gödel à l’analyse, et son application à l’élimination de coupures dans l’analyse et la théorie des types. In: Fenstad, J.E. (eds.) Proceedings of the Second Scandinavian Logic Symposium, pp. 63–92. North-Holland Publishing Co. (1971)
Granlund, T., et al.: GMP, the GNU multiple precision arithmetic library. http://www.swox.com/gmp (1991)
Grayson, D.R., Stillman, M.E.: Macaulay2, a software system for research in algebraic geometry. http://www.math.uiuc.edu/Macaulay2/
Griesmer, J.H., Jenks, R.D., Yun, D.Y.Y.: SCRATCHPAD User’s Manual. Computer Science Department Monograph Series, IBM Research Division (1975)
Hanrot, G., Lefèvre, V., Ryde K., Zimmermann, P.: MPFR, a C library for multiple-precision floating-point computations with exact rounding. http://www.mpfr.org (2000)
Hart, W.: An introduction to Flint. In: Fukuda, K., van der Hoeven, J., Joswig, M., Takayama, N. (eds.) Mathematical Software - ICMS’10, Third International Congress on Mathematical Software, Kobe, Japan, 13–17 Sept, 2010, Volume 6327 of Lecture Notes in Computer Science, pp. 88–91. Springer (2010)
Hudak, P., Hughes, J., Jones S.P., Wadler, P.: A history of haskell: being lazy with class. In: Proceedings of the Third ACM SIGPLAN Conference on History of Programming Languages, HOPL III, pp. 12–1. ACM, New York (2007)
Jenks, R.D., Sutor, R.: AXIOM: The Scientific Computation System. Springer, New York (1992)
Jenks, R.D.: Modlisp - an introduction (invited). In: Proceedings of the International Symposiumon on Symbolic and Algebraic Computation, EUROSAM’79, pp. 466–480. Springer, London (1979)
Jenks, R.D., et al.: The SCRATCHPAD language. SIGPLAN Not. 9(4), 101–111 (1974)
Jenks, R.D.: A language for computational algebra. SIGPLAN Not. 16(11), 22–29 (1981)
Jones, S.P., et al.: The Haskell 98 language and libraries: the revised report. J. Funct. Program. 13(1), 0–255 (2003) (http://www.haskell.org/definition/)
Lecerf, G.: Mathemagix: towards large scale programming for symbolic and certified numeric computations. In: Fukuda, K., van der Hoeven, J., Joswig, M., Takayama, N., (eds.) Mathematical Software - ICMS’10, Third International Congress on Mathematical Software, Kobe, Japan, 13–17 Sept 2010, Volume 6327 of Lecture Notes in Computer Science, pp. 329–332. Springer, 2010
Leroy, X., et al.: OCaml. http://caml.inria.fr/ocaml/ (1996)
Martin, W.A., Fateman, R.J.: The MACSYMA system. In: Proceedings of the Second ACM Symposium on Symbolic And Algebraic Manipulation, SYMSAC’71, pp. 59–75. ACM, New York (1971)
Martin-Löf, P.: Constructive mathematics and computer programming. Log. Methodol. Philos. Sci. VI, 153–175 (1979)
Milner, R.: A theory of type polymorphism in programming. J. Comput. Syst. Sci. 17, 348–375 (1978)
Moses, J.: Macsyma: A personal history. J. Symb. Comput. 47(2), 123–130 (2012)
Nipkow, T., Paulson, L., Wenzel, M.: Isabelle/Hol. http://www.cl.cam.ac.uk/research/hvg/Isabelle/ (1993)
Stein, W.A., et al.: Sage mathematics software. The sage development team, 2004. http://www.sagemath.org
Stroustrup, B.: The C++ Programming Language, 2nd edn. Addison-Wesley, Reading (1995)
Sutor, R.S., Jenks, R.D.: The type inference and coercion facilities in the scratchpad ii interpreter. SIGPLAN Not. 22(7), 56–63 (1987)
The Axiom computer algebra system. http://wiki.axiom-developer.org/FrontPage
The Maxima computer algebra system (free version). http://maxima.sourceforge.net/ (1998)
van der Hoeven, J., Lecerf, G., Mourain, B., et al.: Mathemagix. http://www.mathemagix.org (2002)
van der Hoeven, J., Lecerf, G., Mourrain, B., Trébuchet, P., Berthomieu, J., Diatta, D., Manzaflaris, A.: Mathemagix, the quest of modularity and efficiency for symbolic and certified numeric computation. ACM Commun. Comput. Algebra 45(3/4), 186–188 (2012)
Watt,S., Broadbery, P.A., Dooley, S.S., Iglio, P., Morrison, S.C., Steinbach, J.M., Sutor, R.S.: A first report on the A# compiler. In: Proceedings of the International Symposium on Symbolic and Algebraic Computation, ISSAC’94, pp. 25–31. ACM, New York (1994)
Watt, S., et al.: Aldor programming language. http://www.aldor.org/ (1994)
Wolfram Research. Mathematica. http://www.wolfram.com/mathematica/ (1988)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
van der Hoeven, J. (2014). Overview of the Mathemagix Type System. In: Feng, R., Lee, Ws., Sato, Y. (eds) Computer Mathematics. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-43799-5_27
Download citation
DOI: https://doi.org/10.1007/978-3-662-43799-5_27
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-43798-8
Online ISBN: 978-3-662-43799-5
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)