Improving Your CASH Flow: The Computer Algebra SHell

  • Christopher Brown
  • Hans-Wolfgang Loidl
  • Jost Berthold
  • Kevin Hammond
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6647)


This paper describes CASH (the Computer Algebra SHell), a new interface that allows Haskell programmers to access the complete functionality of a number of computer algebra systems directly and interactively. Using CASH, Haskell programmers can access previously-unavailable mathematical software. Additionally, users of computer algebra systems can exploit the rapidly growing Haskell code base and its rich set of libraries. In particular, CASH provides a simple and effective interface for users of computer algebra systems to parallelise their algorithms using domain-specific skeletons written in Haskell.


Computer Algebra Homomorphic Image Symbolic Computation Computer Algebra System Functional Programming 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Peyton Jones, S., Hammond, K.: Haskell 98 Language and Libraries, the Revised Report. Cambridge University Press, Cambridge (December 2003)Google Scholar
  2. 2.
    The GAP Group: GAP – Groups, Algorithms, and Programming, Version 4.4.12 (2008),
  3. 3.
    Daberkow, M., Fieker, C., Klüners, J., Pohst, M., Roegner, K., Schörnig, M., Wildanger, K.: KANT V4. J. Symb. Comput. 24(3/4), 267–283 (1997)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Morisse, K., Kemper, A.: The Computer Algebra System MuPAD. Euromath Bulletin 1(2), 95–102 (1994)zbMATHGoogle Scholar
  5. 5.
    Char, B.W.: Maple V Lang. Ref. Manual. Maple Publ., Waterloo Canada (1991)CrossRefGoogle Scholar
  6. 6.
    Grayson, D.R., Stillman, M.E.: Macaulay 2, a Software System for Research in Algebraic Geometry,
  7. 7.
    Freundt, S., Horn, P., Konovalov, A., Linton, S., Roozemond, D.: Symbolic Computation Software Composability. In: Autexier, S., Campbell, J., Rubio, J., Sorge, V., Suzuki, M., Wiedijk, F. (eds.) AISC 2008, Calculemus 2008, and MKM 2008. LNCS (LNAI), vol. 5144, pp. 285–295. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  8. 8.
    Abbott, J., Díaz, A., Sutor, R.S.: A Report on OpenMath: a Protocol for the Exchange of Mathematical Information. SIGSAM Bull. 30(1), 21–24 (1996)CrossRefGoogle Scholar
  9. 9.
    Loogen, R., Ortega-Mallén, Y., Peña-Marí, R.: Parallel Functional Programming in Eden. J. Func. Prog. 15(3), 431–475 (2005)CrossRefzbMATHGoogle Scholar
  10. 10.
    Zain, A.A., Hammond, K., Trinder, P., Linton, S., Loidl, H.-W., Costanti, M.: SymGrid-Par: Designing a Framework for Executing Computational Algebra Systems on Computational Grids. In: Shi, Y., van Albada, G.D., Dongarra, J., Sloot, P.M.A. (eds.) ICCS 2007. LNCS, vol. 4488, pp. 617–624. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    Schreiner, W., Loidl, H.W.: The GHC-Maple Interface. On-line Documentation (2000),
  12. 12.
    Martínez, R., Pena, R.: Building an Interface Between Eden and Maple. In: Trinder, P., Michaelson, G.J., Peña, R. (eds.) IFL 2003. LNCS, vol. 3145, pp. 135–151. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  13. 13.
    Lauer, M.: Computing by Homomorphic Images. In: Computer Algebra — Symbolic and Algebraic Computation, pp. 139–168. Springer, Heidelberg (1982)Google Scholar
  14. 14.
    Lipson, J.D.: Chinese Remainder and Interpolation Algorithms. In: Symp. on Symbolic and Algebraic Manipulation, pp. 372–391. Academic Press, London (1971)Google Scholar
  15. 15.
    Klusik, U., Loogen, R., Priebe, S., Rubio, F.: Implementation Skeletons in Eden: Low-Effort Parallel Programming. In: Mohnen, M., Koopman, P. (eds.) IFL 2000. LNCS, vol. 2011, pp. 71–88. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  16. 16.
    Brown, C., Hammond, K.: Ever-Decreasing Circles: a Skeleton for Parallel Orbit Calculations in Eden. In: TFP 2010 – Draft Proceedings, Oklahoma, US (May 2010)Google Scholar
  17. 17.
    SCIEnce Team: SymGrid-Par: Parallel Orchestration of Symbolic Computation Systems. In: ISSAC 2010, Munich, Software Demonstration (July 2010)Google Scholar
  18. 18.
    Siegl, K.: Parallelizing Algorithms for Symbolic Computation Using ||MAPLE||. SIGPLAN Not 28(7), 179–186 (1993)CrossRefGoogle Scholar
  19. 19.
    Schreiner, W., Mittermaier, C., Bosa, K.: Distributed Maple: Parallel Computer Algebra in Networked Environments. J. of Symb. Comp. 35(3), 305–347 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Mechveliani, S.D.: The Haskell Functional Language and Computer Algebra. In: Proc. of Program Systems, pp.56–64 (2003)Google Scholar
  21. 21.
    Cooperman, G.: Parallel GAP: Mature Interactive Parallel groups and Computation. Technical report, College of Comp. Sci., Northeastern Univ., (2001)Google Scholar
  22. 22.
    Thurston, D., Thielemann, H., Johansson, M.: Numeric prelude (0.2) (2010),
  23. 23.
    Linton, S., Hammond, K., Konovalov, A., Al Zain, A., Trinder, P., Horn, P., Roozemond, D.: Easy Composition of Symbolic Computation Software: A New Lingua Franca for Symbolic Computation. In: ISSAC 2010, pp. 339–346. ACM, New York (2010)Google Scholar
  24. 24.
    Jones, I.: The Haskell Cabal: A Common Architecture for Building Applications and Libraries. In: van Eekelen, M. (ed.) TFP 2005, Intellect, pp. 340–354 (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Christopher Brown
    • 1
  • Hans-Wolfgang Loidl
    • 2
  • Jost Berthold
    • 3
  • Kevin Hammond
    • 1
  1. 1.School of Computer ScienceUniversity of St. AndrewsUK
  2. 2.School of Mathematical and Computer SciencesHeriot-Watt UniversityUK
  3. 3.DIKU Department of Computer ScienceUniversity of CopenhagenDenmark

Personalised recommendations