skip to main content
research-article

Paradise: a two-stage DSL embedded in Haskell

Published: 20 September 2008 Publication History

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.

Supplementary Material

JPG File (1411236.jpg)
index.html (index.html)
Slides from the presentation
ZIP File (p225-slides.zip)
Supplemental material for: Paradise: a two-stage DSL embedded in Haskell
Audio only (1411236.mp3)
Video (1411236.mp4)

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.
[2]
C. Elliott, S. Finne, and O. de Moor. Compiling embedded languages. Journal of Functional Programming, 13(2), 2003.
[3]
S. Kamin. Standard ML as a meta-programming language. Technical report, University of Illinois at Urbana-Champaign, 1996.
[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.
[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.
[6]
F. Pfenning and C. Elliott. Higher-order abstract syntax. In Proc. PLDI '88, pages 199--208. ACM Press, 1988.
[7]
T. Sheard and S. Peyton Jones. Template metaprogramming for Haskell. In Proc. Haskell Workshop '02, pages 1--16. ACM Press, 2002.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

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
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 September 2008
Published in SIGPLAN Volume 43, Issue 9

Check for updates

Author Tags

  1. Haskell
  2. dsels
  3. metaprogramming
  4. paradise

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 18 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2015)From APIs to languages: generalising method namesACM SIGPLAN Notices10.1145/2936313.281670851:2(1-12)Online publication date: 21-Oct-2015
  • (2015)From APIs to languages: generalising method namesProceedings of the 11th Symposium on Dynamic Languages10.1145/2816707.2816708(1-12)Online publication date: 21-Oct-2015
  • (2014)Design Patterns and Design Principles for Internal Domain-Specific LanguagesComputational Linguistics10.4018/978-1-4666-6042-7.ch017(352-410)Online publication date: 2014
  • (2014)User–Defined Rules Made Simple with Functional ProgrammingBusiness Information Systems10.1007/978-3-319-06695-0_20(229-240)Online publication date: 2014
  • (2013)Design Patterns and Design Principles for Internal Domain-Specific LanguagesFormal and Practical Aspects of Domain-Specific Languages10.4018/978-1-4666-2092-6.ch007(156-214)Online publication date: 2013
  • (2023)Fluent APIs in Functional LanguagesProceedings of the ACM on Programming Languages10.1145/35860577:OOPSLA1(876-901)Online publication date: 6-Apr-2023
  • (2019)A vision of miking: interactive programmatic modeling, sound language composition, and self-learning compilationProceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3357766.3359531(55-60)Online publication date: 20-Oct-2019
  • (2018)Gradually typed symbolic expressionsProceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation - PEPM '1810.1145/3175493.3162068(15-29)Online publication date: 2018
  • (2018)Creating Domain-Specific Languages by Composing Syntactical ConstructsPractical Aspects of Declarative Languages10.1007/978-3-030-05998-9_12(187-203)Online publication date: 19-Dec-2018
  • (2017)Gradually typed symbolic expressionsProceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation10.1145/3162068(15-29)Online publication date: 25-Dec-2017
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media