skip to main content
research-article

SML# in industry: a practical ERP system development

Published:19 August 2014Publication History
Skip Abstract Section

Abstract

This paper reports on our industry-academia project of using a functional language in business software production. The general motivation behind the project is our ultimate goal of adopting an ML-style higher-order typed functional language in a wide range of ordinary software development in industry. To probe the feasibility and identify various practical problems and needs, we have conducted a 15 month pilot project for developing an enterprise resource planning (ERP) system in SML#. The project has successfully completed as we have planned, demonstrating the feasibility of SML#. In particular, seamless integration of SQL and direct C language interface are shown to be useful in reliable and efficient development of a data intensive business application. During the program development, we have found several useful functional programming patterns and a number of possible extensions of an ML-style language with records. This paper reports on the project details and the lessons learned from the project.

References

  1. G. Barthe. A computational view of implicit coercions in type theory. Mathematical. Structures in Comp. Sci., 15(5):839--874, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. P. Buneman, A. Jung, and A. Ohori. Using powerdomains to generalize relational databases. Theoretical Computer Science, 91(1):23--56, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. P. Buneman and A. Ohori. Polymorphism and type inference in database programming. ACM Transactions on Database Systems, 21(1):30--74, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. Cheney. S. Lindley, and P. Wadler. A practical theory of language-integrated query. In Proc. ACM International Conference on Functional Programming, 403--416, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. R. Di Cosmo. A short survey of isomorphisms of types. Mathematical. Structures in Comp. Sci., 15(5):825--838, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. G. E. Krasner and S. T. Pope. A cookbook for using the model-view controller user interface paradigm in smalltalk-80. J. Object Oriented Program., 1(3):26--49, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Maier. The Theory of Relational Databases. Computer Science Press, 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. The MIT Press, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. Ohori. Semantics of types for database objects. Theoretical Computer Science, 76:53--91, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Ohori and P. Buneman. Type inference in a database programming language. In Proc. ACM Conference on LISP and Functional Programming, pages 174--183, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. Ohori, P. Buneman, and V. Breazu-Tannen. Database programming in Machiavelli - a polymorphic language with static type inference. In Proc. the ACM SIGMOD conference, pages 46--57, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. Ohori and K. Ueno. Making Standard ML a practical database programming language. In Proc. ACM ICFP, pages 307--319, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. SML#. http://www.riec.tohoku.ac.jp/smlsharp/, 2006 - 2014.Google ScholarGoogle Scholar
  14. Fieldslib. https://github.com/janestreet/fieldslibGoogle ScholarGoogle Scholar

Index Terms

  1. SML# in industry: a practical ERP system development

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!