skip to main content
research-article

Paradise: a two-stage DSL embedded in Haskell

Published:20 September 2008Publication History
Skip Abstract Section

Abstract

We have implemented a two-stage language, Paradise, for building reusable components which are used to price financial products. Paradise is embedded in Haskell and makes heavy use of type-class based overloading, allowing the second stage to be compiled into a variety of backend platforms.

Paradise has enabled us to begin moving away from implementation directly in monolithic Excel spreadsheets and towards a more modular and retargetable approach.

Skip Supplemental Material Section

Supplemental Material

Video

References

  1. P. Bjesse, K. Claessen, M. Sheeran, and S. Singh. Lava: Hardware design in Haskell. In Proc. ICFP '98, pages 174--184. ACM Press, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. C. Elliott, S. Finne, and O. de Moor. Compiling embedded languages. Journal of Functional Programming, 13(2), 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Kamin. Standard ML as a meta-programming language. Technical report, University of Illinois at Urbana-Champaign, 1996.Google ScholarGoogle Scholar
  4. D. Leijen and E. Meijer. Domain specific embedded compilers. In Proc. 2nd USENIX Conference on Domain Specific Languages (DSL'99), pages 109--122, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Peyton Jones, D. Vytiniotis, S. Weirich, and G. Washburn. Simple unification-based type inference for GADTs. In Proc. ICFP '06, pages 50--61. ACM Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. F. Pfenning and C. Elliott. Higher-order abstract syntax. In Proc. PLDI '88, pages 199--208. ACM Press, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. T. Sheard and S. Peyton Jones. Template metaprogramming for Haskell. In Proc. Haskell Workshop '02, pages 1--16. ACM Press, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Paradise: a two-stage DSL embedded in Haskell

        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

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 43, Issue 9
          ICFP '08
          September 2008
          399 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/1411203
          Issue’s Table of Contents
          • cover image ACM Conferences
            ICFP '08: Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
            September 2008
            422 pages
            ISBN:9781595939197
            DOI:10.1145/1411204

          Copyright © 2008 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 20 September 2008

          Check for updates

          Qualifiers

          • research-article

        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!