Difference between revisions of "Embedded domain specific language"

From HaskellWiki
Jump to navigation Jump to search
(Added links for the Functional MetaPost library and recursion)
(new paper: "Type-Safe Observable Sharing")
Line 9: Line 9:
 
* Oleg in Haskell-Cafe about [http://www.haskell.org/pipermail/haskell-cafe/2008-February/039639.html Designing DSL with explicit sharing (was: I love purity, but it's killing me)]
 
* Oleg in Haskell-Cafe about [http://www.haskell.org/pipermail/haskell-cafe/2008-February/039639.html Designing DSL with explicit sharing (was: I love purity, but it's killing me)]
 
* Koen Classen: [http://www.cs.chalmers.se/~koen/pubs/entry-asian99-lava.html Observable Sharing for Functional Circuit Description]
 
* Koen Classen: [http://www.cs.chalmers.se/~koen/pubs/entry-asian99-lava.html Observable Sharing for Functional Circuit Description]
  +
* Andy Gill: [http://www.ittc.ku.edu/~andygill/paper.php?label=DSLExtract09 Type-Safe Observable Sharing]
   
 
[[Category:Glossary]]
 
[[Category:Glossary]]

Revision as of 17:30, 15 June 2009

Embedded Domain Specific Language means that you embed a Domain specific language in a language like Haskell. E.g. using the Functional MetaPost library you can write Haskell expressions, which are then translated to MetaPost, MetaPost is run on the generated code and the result of MetaPost can be post-processed in Haskell.

Discussion of common problems

Sharing and recursion are common problems when implementing DSLs. Often some kind of observable sharing is requested.