Skip to main content

Overview of the Mathemagix Type System

  • Conference paper
  • First Online:
  • 705 Accesses

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD   109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Baumgartner, G., Russo, V.F.: Implementing signatures for C++. ACM Trans. Program. Lang. Syst. 19(1), 153–187 (1997)

    Article  Google Scholar 

  2. 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)

    Google Scholar 

  3. Coquand, T., et al.: The coq proof assistant. http://coq.inria.fr/ (1984)

  4. Coquand, T., Huet, G.: The calculus of constructions. Inf. Comput. 76(2–3), 95–120 (1988)

    Google Scholar 

  5. Dos Reis, G., Stroustrup, B.: Specifying C++ concepts. SIGPLAN Not. 41(1), 295–308 (2006)

    Google Scholar 

  6. Eisenbud, D., Grayson, D.R., Stillman, M.E., Sturmfels, B. (eds.): Computations in Algebraic Geometry With Macaulay 2. Springer, London (2002)

    MATH  Google Scholar 

  7. 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)

    Google Scholar 

  8. 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”)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. 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)

    Google Scholar 

  11. Geddes, K., Gonnet, G.: Maplesoft. Maple. http://www.maplesoft.com/products/maple/ (1980)

  12. 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)

    Google Scholar 

  13. Granlund, T., et al.: GMP, the GNU multiple precision arithmetic library. http://www.swox.com/gmp (1991)

  14. Grayson, D.R., Stillman, M.E.: Macaulay2, a software system for research in algebraic geometry. http://www.math.uiuc.edu/Macaulay2/

  15. Griesmer, J.H., Jenks, R.D., Yun, D.Y.Y.: SCRATCHPAD User’s Manual. Computer Science Department Monograph Series, IBM Research Division (1975)

    Google Scholar 

  16. 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)

  17. 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)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. Jenks, R.D., Sutor, R.: AXIOM: The Scientific Computation System. Springer, New York (1992)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. Jenks, R.D., et al.: The SCRATCHPAD language. SIGPLAN Not. 9(4), 101–111 (1974)

    Article  Google Scholar 

  22. Jenks, R.D.: A language for computational algebra. SIGPLAN Not. 16(11), 22–29 (1981)

    Article  Google Scholar 

  23. 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/)

  24. 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

    Google Scholar 

  25. Leroy, X., et al.: OCaml. http://caml.inria.fr/ocaml/ (1996)

  26. 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)

    Google Scholar 

  27. Martin-Löf, P.: Constructive mathematics and computer programming. Log. Methodol. Philos. Sci. VI, 153–175 (1979)

    Google Scholar 

  28. Milner, R.: A theory of type polymorphism in programming. J. Comput. Syst. Sci. 17, 348–375 (1978)

    Article  MathSciNet  MATH  Google Scholar 

  29. Moses, J.: Macsyma: A personal history. J. Symb. Comput. 47(2), 123–130 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  30. Nipkow, T., Paulson, L., Wenzel, M.: Isabelle/Hol. http://www.cl.cam.ac.uk/research/hvg/Isabelle/ (1993)

  31. Stein, W.A., et al.: Sage mathematics software. The sage development team, 2004. http://www.sagemath.org

  32. Stroustrup, B.: The C++ Programming Language, 2nd edn. Addison-Wesley, Reading (1995)

    Google Scholar 

  33. Sutor, R.S., Jenks, R.D.: The type inference and coercion facilities in the scratchpad ii interpreter. SIGPLAN Not. 22(7), 56–63 (1987)

    Google Scholar 

  34. The Axiom computer algebra system. http://wiki.axiom-developer.org/FrontPage

  35. The Maxima computer algebra system (free version). http://maxima.sourceforge.net/ (1998)

  36. van der Hoeven, J., Lecerf, G., Mourain, B., et al.: Mathemagix. http://www.mathemagix.org (2002)

  37. 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)

    Google Scholar 

  38. 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)

    Google Scholar 

  39. Watt, S., et al.: Aldor programming language. http://www.aldor.org/ (1994)

  40. Wolfram Research. Mathematica. http://www.wolfram.com/mathematica/ (1988)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Joris van der Hoeven .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics