Difference between revisions of "Research papers/Domain specific languages"

From HaskellWiki
Jump to navigation Jump to search
(→‎Graphics: Replaced paper with the version that superceded it.)
(16 intermediate revisions by 6 users not shown)
Line 3: Line 3:
 
==Domain specific languages==
 
==Domain specific languages==
   
  +
;[http://www.jucs.org/jucs_9_8/implementation_of_an_embedded/Alves_N_M_M.html Implementation of an Embedded Hardware Description Language Using Haskell]
;[http://www.cs.uu.nl/~daan/download/papers/dsec.ps Domain Specific Embedded Compilers]
 
  +
:Nelio Muniz Mendes Alves and Sergio de Mello Schneider, 2003
  +
 
;[http://legacy.cs.uu.nl/daan/download/papers/dsec.ps 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.
 
: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.
   
 
;[http://conal.net/papers/jfp-saig/ Compiling Embedded Languages]
 
;[http://conal.net/papers/jfp-saig/ Compiling Embedded Languages]
 
:Conal Elliott, Sigbjorn Finne, Oege de Moor. Journal of Functional Programming, 13(2), 2003.
 
:Conal Elliott, Sigbjorn Finne, Oege de Moor. Journal of Functional Programming, 13(2), 2003.
  +
  +
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.53.5061 Modular Domain Specific Languages and Tools]
  +
:Hudak (1998) (cited by 92)
  +
  +
;[http://www.kestrel.edu/~jullig/rio97/position-papers/ACM-WS.ps Building Domain-Specific Embedded Languages] ([http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.49.6020 citeseer link])
  +
:Paul Hudak (cited by 102)
  +
  +
;[http://www.usenix.org/publications/library/proceedings/dsl99/full_papers/leijen/leijen.ps Domain Specific Embedded Compilers]
  +
:D Leijen, E Meijer (cited by 88)
  +
  +
;[http://www.haskell.org/wikiupload/c/c6/ICMI45-paper-en.pdf 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.
  +
  +
;[http://portal.acm.org/citation.cfm%3Fid%3D317765.317794 Haskell and XML: generic combinators or type-based translation?]
  +
:M Wallace, C Runciman - ACM SIGPLAN Notices, 1999
  +
  +
;[http://www.springerlink.com/index/RPRWGR7LHTXBT2DW.pdf Modeling HTML in Haskell]
  +
:P Thiemann - Practical Applications of Declarative Languages, 2000 (cited by 24)
  +
  +
;[http://portal.acm.org/citation.cfm%3Fcoll%3DGUIDE%26dl%3DGUIDE%26id%3D331975 DSL implementation using staging and monads]
  +
:T Sheard, E Pasalic - Proceedings of the 2nd conference on Domain-specific languages, 1999
  +
  +
;[http://www.informatik.uni-freiburg.de/~thiemann/papers/wflp02.ps.gz Programmable type systems for domain specific languages]
  +
:P Thiemann Electronic Notes in Theoretical Computer Science, 2002
  +
  +
;[http://portal.acm.org/citation.cfm%3Fid%3D1052935 An embedded domain-specific language for type-safe server-side web scripting]
  +
:P Thiemann, ACM Transactions on Internet Technology (TOIT), 2005
  +
  +
;[http://www.informatik.uni-freiburg.de/~thiemann/papers/modeling.ps.gz A typed representation for HTML and XML documents in Haskell]
  +
:P Thiemann, Journal of Functional Programming, 2003 (cited by 38)
  +
  +
;[http://www.haskell.org/wikiupload/f/f5/Types2.pdf.zip Adaptable Software - Modular Extensible Monadic Entry-pointless Type Checker in Haskell]
  +
:Ro/Haskell Group, Univ. “V.Alecsandri”, Bacau, Romania, 2011
  +
  +
;[http://portal.acm.org/citation.cfm%3Fid%3D331963.331976 Monadic robotics]
  +
:J Peterson, G Hager.
  +
  +
;[ftp://cse.ogi.edu/pub/pacsoft/papers/dsl-tools.ps Defining and Implementing Closed, Domain-Specific Languages]
  +
:RB Kieburtz - Invited talk, 2000
   
 
===Rapid prototyping===
 
===Rapid prototyping===
   
;[http://www.reid-consulting-uk.ltd.uk/alastair/publications/icse99/index.html Prototyping Real-Time Vision Systems: An Experiment in DSL Design]
+
;[http://www.haskell.org/frob/icse99/visionpaper.ps 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.
 
: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.
   
;[http://www.reid-consulting-uk.ltd.uk/alastair/publications/padl01/index.html FVision: A Declarative Language for Visual Tracking]
+
;[http://haskell.cs.yale.edu/yale/papers/padl01-vision/index.html 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.
 
: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===
 
===Graphics===
  +
  +
;[http://conal.net/papers/tse-modeled-animation/ An Embedded Modeling Language Approach to Interactive 3D and Multimedia Animation]
  +
:Conal Elliott. IEEE Transactions on Software Engineering, May/June 1999.
   
 
;[http://conal.net/papers/Vertigo/ Programming Graphics Processors Functionally]
 
;[http://conal.net/papers/Vertigo/ Programming Graphics Processors Functionally]
 
:Conal Elliott. Proceedings of the 2004 Haskell Workshop.
 
:Conal Elliott. Proceedings of the 2004 Haskell Workshop.
  +
 
;[http://conal.net/papers/functional-images/ Functional Images]
 
;[http://conal.net/papers/functional-images/ Functional Images]
 
:Conal Elliott. In The Fun of Programming, March 2003.
 
:Conal Elliott. In The Fun of Programming, March 2003.
  +
  +
;[http://conal.net/papers/Eros/ Tangible Functional Programming]
  +
:Conal Elliott, ICFP 07
   
 
===Hardware design===
 
===Hardware design===
  +
  +
;[http://purl.utwente.nl/essays/59381 Haskell as a higher order structural hardware description language]
  +
:Kooijman, M. (2009); master's thesis.
  +
  +
;[http://purl.utwente.nl/essays/59482 CλasH : from Haskell to hardware]
  +
:Baaij, C. (2009); master's thesis.
   
 
;[http://www.cs.chalmers.se/~koen/pubs/charme01-sorter.pdf The Design and Verification of a Sorter Core]
 
;[http://www.cs.chalmers.se/~koen/pubs/charme01-sorter.pdf The Design and Verification of a Sorter Core]
Line 53: Line 108:
 
:Per Bjesse. CAV. 1999
 
:Per Bjesse. CAV. 1999
   
;[http://www.cse.ogi.edu/PacSoft/publications/2000/phd-thesis-matthews.pdf Algebraic Specification and Verification of Processor Microarchitectures]
+
;[http://content.ohsu.edu/cdm4/item_viewer.php?CISOROOT=/etd&CISOPTR=212&CISOBOX=1&REC=9 Algebraic Specification and Verification of Processor Microarchitectures]
 
:John Matthews. PhD. Thesis. Oregon Graduate Institute. 2000.
 
:John Matthews. PhD. Thesis. Oregon Graduate Institute. 2000.
   
;[http://www.cse.ogi.edu/PacSoft/publications/1998/day.pdf Symbolic Simulation of Microprocessor Models using Type Classes in Haskell]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.26.8326 Symbolic Simulation of Microprocessor Models using Type Classes in Haskell]
 
:Nancy A. Day, Jeffrey R. Lewis and Byron Cook. CHARME'99. September 1999.
 
:Nancy A. Day, Jeffrey R. Lewis and Byron Cook. CHARME'99. September 1999.
   
;[http://www.cse.ogi.edu/PacSoft/publications/phaseiiiq9papers/hawk.pdf On Embedding a Microarchitectural Design Language within Haskell]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.4284 On Embedding a Microarchitectural Design Language within Haskell]
 
:John Launchbury, Jeff Lewis and Byron Cook. ICFP'99. 1999.
 
:John Launchbury, Jeff Lewis and Byron Cook. ICFP'99. 1999.
   
;[http://www.cse.ogi.edu/PacSoft/publications/phaseiiiq9papers/algebra.pdf Elementary Microarchitecture Algebra]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.22.5519 Elementary Microarchitecture Algebra]
 
:John Matthews and John Launchbury. CAV '99. 1999.
 
:John Matthews and John Launchbury. CAV '99. 1999.
   
;[http://www.cse.ogi.edu/PacSoft/publications/1998/super.pdf Specifying Superscalar Microprocessors with Hawk]
+
;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.1486 Specifying Superscalar Microprocessors with Hawk]
 
:Byron Cook, John Launchbury and John Matthews. FTH '98. 1998.
 
:Byron Cook, John Launchbury and John Matthews. FTH '98. 1998.
   
;[http://www.cse.ogi.edu/PacSoft/publications/1998/hawkIntro.pdf Microprocessor Specification in Hawk]
+
;[https://wiki.ittc.ku.edu/lambda/Image:Matthews-Microprocessor_Specification_in_HAWK.pdf Microprocessor Specification in Hawk]
 
:John Matthews, John Launchbury and Byron Cook. ICCL '98. 1998.
 
:John Matthews, John Launchbury and Byron Cook. ICCL '98. 1998.
   
Line 85: Line 140:
 
:Koen Claessen, Mary Sheeran. April 2000.
 
:Koen Claessen, Mary Sheeran. April 2000.
   
===Logic programming===
+
===Network programming===
  +
  +
;[http://www.fujipress.jp/finder/xslt.php?mode=present&inputfile=IPSTP004700160002.xml 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===
   
 
;[http://www.cs.chalmers.se/~koen/pubs/haskell00-typedlp.ps Typed Logical Variables in Haskell]
 
;[http://www.cs.chalmers.se/~koen/pubs/haskell00-typedlp.ps Typed Logical Variables in Haskell]
 
:Koen Claessen and Peter Ljunglöf. In Proc. of Haskell Workshop, ACM SIGPLAN, 2000. 1999
 
:Koen Claessen and Peter Ljunglöf. In Proc. of Haskell Workshop, ACM SIGPLAN, 2000. 1999
   
;[http://www.informatik.uni-bonn.de/~ralf/publications/Prolog.ps.gz Prolog's control constructs in a functional setting - Axioms and implementation]
+
;[http://www.comlab.ox.ac.uk/ralf.hinze/publications/Prolog.ps.gz Prolog's control constructs in a functional setting - Axioms and implementation]
 
:Ralf Hinze. International Journal of Foundations of Computer Science. 12 (2). 2001.
 
:Ralf Hinze. International Journal of Foundations of Computer Science. 12 (2). 2001.
  +
  +
;[http://www.cs.kuleuven.be/~toms/Research/papers/modref2009.pdf Monadic Constraint Programming]
  +
:Tom Schrijvers, Peter Stuckey and Phil Wadler. Journal of Functional Programming, 2009.
  +
  +
[[Category:Research]]

Revision as of 23:27, 14 February 2012

Domain specific languages

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

Rapid prototyping

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

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

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

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

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

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.