Add some references to the context chapter.
authorMatthijs Kooijman <matthijs@stdin.nl>
Sat, 5 Dec 2009 20:24:41 +0000 (21:24 +0100)
committerMatthijs Kooijman <matthijs@stdin.nl>
Sat, 5 Dec 2009 20:24:41 +0000 (21:24 +0100)
Chapters/Context.tex
Report.bib

index 3c09d95316e5c9aacd4479be0af9cbc9a77a01c8..1b0268922932952500644424fb3916268881fef6 100644 (file)
@@ -34,7 +34,6 @@
       and ability to abstract away  common patterns.  This is largely enabled
       by features like an advanced type system with polymorphism and higher
       order functions.
       and ability to abstract away  common patterns.  This is largely enabled
       by features like an advanced type system with polymorphism and higher
       order functions.
-      \todo{Does this apply to FHDLs equally?}
       \item Type-safer. Functional programs typically have a highly expressive
       type system, which makes it harder to write incorrect code.
       \item Easy to process. Functional languages have nice properties like
       \item Type-safer. Functional programs typically have a highly expressive
       type system, which makes it harder to write incorrect code.
       \item Easy to process. Functional languages have nice properties like
@@ -51,7 +50,7 @@
       \stopalignment
       \blank[medium]
      
       \stopalignment
       \blank[medium]
      
-      \startcitedquotation[hudak96]
+      \startcitedquotation[deursen00]
       A domain-specific language (\small{DSL}) is a program-
       ming language or executable specification language
       that offers, through appropriate notations and ab-
       A domain-specific language (\small{DSL}) is a program-
       ming language or executable specification language
       that offers, through appropriate notations and ab-
@@ -59,8 +58,6 @@
       ally restricted to, a particular problem domain.
       \stopcitedquotation
 
       ally restricted to, a particular problem domain.
       \stopcitedquotation
 
-      \todo{ref: http://portal.acm.org/citation.cfm?id=352035\&dl=}
-      
       An embedded \small{DSL} is a \small{DSL} that is embedded in
       another language. Haskell is commonly used to embed \small{DSL}s
       in, which typically means a number of Haskell functions and types
       An embedded \small{DSL} is a \small{DSL} that is embedded in
       another language. Haskell is commonly used to embed \small{DSL}s
       in, which typically means a number of Haskell functions and types
@@ -72,7 +69,7 @@
       applicative, subset of Haskell where the library functions are the
       primitives. Sometimes advanced haskell features such as
       polymorphism, higher order values or type classes can be used in
       applicative, subset of Haskell where the library functions are the
       primitives. Sometimes advanced haskell features such as
       polymorphism, higher order values or type classes can be used in
-      the embedded language.
+      the embedded language. \cite[hudak96]
       \stopframedtext
     }
 
       \stopframedtext
     }
 
@@ -89,8 +86,7 @@
       variables (\eg, using the same variable twice while only calculating it
       once) and cycles in circuits are non-trivial to properly and safely
       translate (though there is some work to fix this, but that has not been
       variables (\eg, using the same variable twice while only calculating it
       once) and cycles in circuits are non-trivial to properly and safely
       translate (though there is some work to fix this, but that has not been
-      possible in a completely reliable way yet.  \todo{ref
-      http://www.ittc.ku.edu/~andygill/paper.php?label=DSLExtract09}
+      possible in a completely reliable way yet. \cite[gill09]
       \item Some things are verbose to express. Especially ForSyDe suffers
       from a lot of notational overhead due to the Template Haskell approach
       used. Since conditional statements are not supported, a lot of Haskell's
       \item Some things are verbose to express. Especially ForSyDe suffers
       from a lot of notational overhead due to the Template Haskell approach
       used. Since conditional statements are not supported, a lot of Haskell's
index eecde8e1e257c6c8b7f04038e6b1dbe83250ed72..7e9dd00309622b8d1371af3d82bde81cb8a465e1 100644 (file)
@@ -7,5 +7,27 @@
  doi = {http://doi.acm.org/10.1145/242224.242477},
  publisher = {ACM},
  address = {New York, NY, USA},
  doi = {http://doi.acm.org/10.1145/242224.242477},
  publisher = {ACM},
  address = {New York, NY, USA},
- }
+}
 
 
+@article{deursen00,
+ author = {van Deursen, Arie and Klint, Paul and Visser, Joost},
+ title = {Domain-specific languages: an annotated bibliography},
+ journal = {SIGPLAN Not.},
+ volume = {35},
+ number = {6},
+ year = {2000},
+ issn = {0362-1340},
+ pages = {26--36},
+ doi = {http://doi.acm.org/10.1145/352029.352035},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+}
+
+@inproceedings{gill09,
+  author = {Andy Gill},
+  title = {Type-Safe Observable Sharing in {H}askell},
+  booktitle = {Proceedings of the 2009 {ACM} {SIGPLAN} {H}askell Symposium},
+  year = {2009},
+  month = {Sep},
+  abstract = {Haskell is a great language for writing and supporting embedded Domain Specific Languages (DSLs). Some form of observable sharing is often a critical capability for allowing so-called deep DSLs to be compiled and processed. In this paper, we describe and explore uses of an IO function for reification which allows direct observation of sharing.}
+}