Research papers/Domain specific languages

From HaskellWiki

Domain specific languages[edit]

Implementation of an Embedded Hardware Description Language Using Haskell
Nelio Muniz Mendes Alves and Sergio de Mello Schneider, 2003
Domain Specific Embedded Compilers
Daan Leijen and Erik Meijer. 2nd USENIX Conference on Domain-Specific Languages (DSL'99), Austin, Texas, October 1999. Also appeared in ACM SIGPLAN Notices 35, 1, January 2000.
Compiling Embedded Languages
Conal Elliott, Sigbjorn Finne, Oege de Moor. Journal of Functional Programming, 13(2), 2003.
Modular Domain Specific Languages and Tools
Hudak (1998) (cited by 92)
Building Domain-Specific Embedded Languages (citeseer link)
Paul Hudak (cited by 102)
Domain Specific Embedded Compilers
D Leijen, E Meijer (cited by 88)
How to build a monadic interpreter in one day (pdf)
By Dan Popa. A small tutorial on how to build a language in one day, using the Parser Monad in the front end and a monad with state and I/O string in the back end.
Haskell and XML: generic combinators or type-based translation?
M Wallace, C Runciman - ACM SIGPLAN Notices, 1999
Modeling HTML in Haskell
P Thiemann - Practical Applications of Declarative Languages, 2000 (cited by 24)
DSL implementation using staging and monads
T Sheard, E Pasalic - Proceedings of the 2nd conference on Domain-specific languages, 1999
Programmable type systems for domain specific languages
P Thiemann Electronic Notes in Theoretical Computer Science, 2002
An embedded domain-specific language for type-safe server-side web scripting
P Thiemann, ACM Transactions on Internet Technology (TOIT), 2005
A typed representation for HTML and XML documents in Haskell
P Thiemann, Journal of Functional Programming, 2003 (cited by 38)
Adaptable Software - Modular Extensible Monadic Entry-pointless Type Checker in Haskell
Ro/Haskell Group, Univ. “V.Alecsandri”, Bacau, Romania, 2011
Monadic robotics
J Peterson, G Hager.
Defining and Implementing Closed, Domain-Specific Languages
RB Kieburtz - Invited talk, 2000
Combining Deep and Shallow Embedding for EDSL
J Svenningsson and E Axelsson, Trends in Functional Programming, 2013. A simple design pattern for making pure functional embedded DSLs.

Rapid prototyping[edit]

Prototyping Real-Time Vision Systems: An Experiment in DSL Design
A. Reid, J. Peterson, G. Hager and P. Hudak, In Proceedings of International Conference on Software Engineering (ICSE'99), Los Angeles, CA. 16-22 May, 1999.
FVision: A Declarative Language for Visual Tracking
J. Peterson, P. Hudak, A. Reid and G. Hager. In Proceedings of Third International Symposium on Practical Applications of Declarative Languages PADL'01, March 2001.

Graphics[edit]

An Embedded Modeling Language Approach to Interactive 3D and Multimedia Animation
Conal Elliott. IEEE Transactions on Software Engineering, May/June 1999.
Programming Graphics Processors Functionally
Conal Elliott. Proceedings of the 2004 Haskell Workshop.
Functional Images
Conal Elliott. In The Fun of Programming, March 2003.
Tangible Functional Programming
Conal Elliott, ICFP 07

Hardware design[edit]

Haskell as a higher order structural hardware description language
Kooijman, M. (2009); master's thesis.
CλasH : from Haskell to hardware
Baaij, C. (2009); master's thesis.
The Design and Verification of a Sorter Core
Koen Claessen, Mary Sheeran, and Satnam Singh. In Proc. of Conference on Correct Hardware Design and Verification Methods (CHARME), Lecture Notes in Computer Science, Springer Verlag, 2001.
An Embedded Language Approach to Hardware Description and Verification
Koen Claessen. Dept. of Computer Science and Engineering, Chalmers University of Technology, Lic. thesis, August 2000.
Embedded Languages for Describing and Verifying Hardware
Koen Claessen. Dept. of Computer Science and Engineering, Chalmers University of Technology, Ph.D. thesis, April 2001.
An Embedded Language Approach to Teaching Hardware Compilation
Koen Claessen and Gordon Pace. In Proc. of Workshop on Functional and Declarative Programming in Education (FDPE), 2002.
Safety Property Verification of Cyclic Circuits
Koen Claessen. June 2002.
Verification of Hardware Systems with First-Order Logic
Koen Claessen, Reiner Hähnle, Johan Mårtensson. PaPS 2002. 2002.
An Embedded Language Framework for Hardware Compilation
Koen Claessen, Gordon Pace. DCC 2002. 2002.
Observable Sharing for Functional Circuit Description
Koen Claessen and David Sands. ASIAN '99. 1999.
Automatic Verification of Combinational and Pipelined FFT Circuits
Per Bjesse. CAV. 1999
Algebraic Specification and Verification of Processor Microarchitectures
John Matthews. PhD. Thesis. Oregon Graduate Institute. 2000.
Symbolic Simulation of Microprocessor Models using Type Classes in Haskell
Nancy A. Day, Jeffrey R. Lewis and Byron Cook. CHARME'99. September 1999.
On Embedding a Microarchitectural Design Language within Haskell
John Launchbury, Jeff Lewis and Byron Cook. ICFP'99. 1999.
Elementary Microarchitecture Algebra
John Matthews and John Launchbury. CAV '99. 1999.
Specifying Superscalar Microprocessors with Hawk
Byron Cook, John Launchbury and John Matthews. FTH '98. 1998.
Microprocessor Specification in Hawk
John Matthews, John Launchbury and Byron Cook. ICCL '98. 1998.

Lava[edit]

Lava: Hardware Design in Haskell
Per Bjesse, Koen Claessen, Mary Sheeran, Satnam Singh
Using Lava to Design and Verify Recursive and Periodic Sorters
Koen Claessen, Mary Sheeran, and Satnam Singh. In International Journal on Software Tools for Technology Transfer, vol. 4 (3), pp. 349--358, Springer Verlag, 2003.
Functional Hardware Description in Lava
Koen Claessen, Mary Sheeran, and Satnam Singh. In Jeremy Gibbons and Oege de Moor (eds.), The Fun of Programming, Cornerstones of Computing, pp. 151--176, Palgrave, 2003.
A Lava Tutorial
Koen Claessen, Mary Sheeran. April 2000.

Network programming[edit]

A Network Programming Framework in Haskell Based on Asynchronous Localized pi-calculus
Keigo Imai ,Shoji Yuen ,Kiyoshi Agusa. Graduate School of Information Science, Nagoya University Journal ref: IPSJ Transactions on Programming, Vol.47, No.16 pp. 10-28, 2006

Logic and constraint programming[edit]

Typed Logical Variables in Haskell
Koen Claessen and Peter Ljunglöf. In Proc. of Haskell Workshop, ACM SIGPLAN, 2000. 1999
Prolog's control constructs in a functional setting - Axioms and implementation
Ralf Hinze. International Journal of Foundations of Computer Science. 12 (2). 2001.
Monadic Constraint Programming
Tom Schrijvers, Peter Stuckey and Phil Wadler. Journal of Functional Programming, 2009.