Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Free access

Domain-specific languages and code synthesis using Haskell

Published: 01 June 2014 Publication History

Abstract

Looking at embedded DSLs.

References

[1]
Axelsson, E., Claessen, K., Sheeran, M., Svenningsson, J., Engdal, D. and Persson, A. The design and implementation of Feldspar: an embedded language for digital signal processing. In Proceedings of the 22nd International Conference on Implementation and Application of Functional Languages. Springer-Verlag, 2011, 121--136.
[2]
Bellows, P. and Hutchings, B. JHDL---An HDL for reconfigurable systems. Annual IEEE Symposium on Field-Programmable Custom Computing Machines (1998).
[3]
Bracker, J. and Gill, A. Sunroof: A monadic DSL for generating JavaScript. Practical Aspects of Declarative Languages. M. Flatt and H-F Guo, eds. Lecture Notes in Computer Science 8324. Springer International Publishing, 2014, 65--80.
[4]
Claessen, K. and Hughes, J. Quickcheck: A lightweight tool for random testing of Haskell programs. In Proceedings of the 5th ACM SIGPLAN International Conference on Functional Programming (2000), 268--279.
[5]
Claessen, K. and Sands, D. Observable sharing for functional circuit description. In Proceedings of Asian Computer Science Conference, Lecture Notes in Computer Science. Springer Verlag, 1999.
[6]
Elliott, C. Boolean package; hackage.haskell.org.
[7]
Elliott, C. Finne, S. and de Moor, O. Compiling embedded languages. Journal of Functional Programming 13, 2 (2003).
[8]
Erkök, L. and Launchbury, J. Recursive monadic bindings. In Proceedings of the 5th ACM SIGPLAN International Conference on Functional Programming (2000), 174--185.
[9]
Gill, A. Type-safe observable sharing in Haskell. In Proceedings of the 2nd ACM SIGPLAN Haskell Symposium (2009), 117--128.
[10]
Gill, A. Declarative FPGA circuit synthesis using Kansas Lava. The International Conference on Engineering of Reconfigurable Systems and Algorithms (2011).
[11]
Gill, A., Bull, T., Farmer, A., Kimmell, G. and Komp, E. Types and associated type families for hardware simulation and synthesis: the internals and externals of Kansas Lava. Higher-Order and Symbolic Computation, (2013), 1--20.
[12]
Hutton, G. The Ruby interpreter. Research Report 72, (1993). Chalmers University of Technology.
[13]
Jones, G. and Sheeran, M. Circuit design in Ruby. Formal Methods for VLSI Design. Jorgen Staunstrup, ed. Elsevier Science Publications, 1990.
[14]
Mainland, G. and Morrisett, G. Nikola: Embedding compiled GPU functions in Haskell. In Proceedings of the 3rd ACM Haskell Symposium on Haskell, (2010), 67--78.
[15]
Matthews, J., Cook, B. and Launchbury, J. Microprocessor specification in Hawk. In Proceedings of the International Conference on Computer Languages (1998), 90--101.
[16]
Persson, A., Axelsson, E. and Svenningsson, J. Generic monadic constructs for embedded languages. Implementation and Application of Functional Languages, 2012, 85--99. Springer.
[17]
Peyton Jones, S.L., ed. Haskell 98 Language and Libraries---The Revised Report. Cambridge University Press, 2003.
[18]
Peyton Jones, S.L. and Wadler, P. Imperative functional programming. In Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, (1993), 71--84.
[19]
Sculthorpe, N., Bracker, J., Giorgidze, G. and Gill, A. The constrained-monad problem. In Proceedings of the 18th ACM SIGPLAN International Conference on Functional Programming, (2013), 287--298.
[20]
Sheard, T. and Jones, S.P. Template metaprogramming for Haskell. ACM SIGPLAN Haskell Workshop 02. M.M.T. Chakravarty, ed. ACM Press, Oct 2002, 1--16.
[21]
Sheeran, M. μFP, a language for VLSI design. In Proceedings of the ACM Symposium on LISP and Functional Programming, (1984), 104--112.
[22]
Svenningsson, J. and Svensson, B.J. Simple and compositional reification of monadic embedded languages. In Proceedings of the Int'l Conference on Functional Programming, (2013), 299--304.

Cited By

View all
  • (2024)eCC++ : A Compiler Construction Framework for Embedded Domain-Specific Languages2024 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)10.1109/IPDPSW63119.2024.00129(667-677)Online publication date: 27-May-2024
  • (2023)Fluent APIs in Functional LanguagesProceedings of the ACM on Programming Languages10.1145/35860577:OOPSLA1(876-901)Online publication date: 6-Apr-2023
  • (2022)Formally verified bundling and appraisal of evidence for layered attestationsInnovations in Systems and Software Engineering10.1007/s11334-022-00475-119:4(411-426)Online publication date: 4-Sep-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Communications of the ACM
Communications of the ACM  Volume 57, Issue 6
June 2014
103 pages
ISSN:0001-0782
EISSN:1557-7317
DOI:10.1145/2602695
  • Editor:
  • Moshe Y. Vardi
Issue’s Table of Contents
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 the author(s) 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: 01 June 2014
Published in CACM Volume 57, Issue 6

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Popular
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)643
  • Downloads (Last 6 weeks)90
Reflects downloads up to 13 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)eCC++ : A Compiler Construction Framework for Embedded Domain-Specific Languages2024 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)10.1109/IPDPSW63119.2024.00129(667-677)Online publication date: 27-May-2024
  • (2023)Fluent APIs in Functional LanguagesProceedings of the ACM on Programming Languages10.1145/35860577:OOPSLA1(876-901)Online publication date: 6-Apr-2023
  • (2022)Formally verified bundling and appraisal of evidence for layered attestationsInnovations in Systems and Software Engineering10.1007/s11334-022-00475-119:4(411-426)Online publication date: 4-Sep-2022
  • (2021)Practical normalization by evaluation for EDSLsProceedings of the 14th ACM SIGPLAN International Symposium on Haskell10.1145/3471874.3472983(56-70)Online publication date: 18-Aug-2021
  • (2021)An Infrastructure for Faithful Execution of Remote Attestation ProtocolsNASA Formal Methods10.1007/978-3-030-76384-8_17(268-286)Online publication date: 19-May-2021
  • (2021)On Adding Pattern Matching to Haskell-Based Deeply Embedded Domain Specific LanguagesPractical Aspects of Declarative Languages10.1007/978-3-030-67438-0_2(20-36)Online publication date: 18-Jan-2021
  • (2020)Declarative Stream Runtime Verification (hLola)Programming Languages and Systems10.1007/978-3-030-64437-6_2(25-43)Online publication date: 30-Nov-2020
  • (2020)Materia: A Data Quality Control Embedded Domain Specific Language in PythonBusiness Information Systems Workshops10.1007/978-3-030-61146-0_23(285-296)Online publication date: 12-Nov-2020
  • (2019)Methodology to develop domain specific modeling languagesProceedings of the 17th ACM SIGPLAN International Workshop on Domain-Specific Modeling10.1145/3358501.3361235(1-10)Online publication date: 20-Oct-2019
  • (2017)Compiling to categoriesProceedings of the ACM on Programming Languages10.1145/31102711:ICFP(1-27)Online publication date: 29-Aug-2017
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Digital Edition

View this article in digital edition.

Digital Edition

Magazine Site

View this article on the magazine site (external)

Magazine Site

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media