Przeglądaj źródła

more references

Jeremy Siek 3 lat temu
rodzic
commit
851cc4d1e5
2 zmienionych plików z 96 dodań i 9 usunięć
  1. 80 0
      book.bib
  2. 16 9
      book.tex

+ 80 - 0
book.bib

@@ -1,3 +1,83 @@
+@inproceedings{Hatcliff:1994ea,
+	address = {New York, NY, USA},
+	author = {John Hatcliff and Olivier Danvy},
+	booktitle = {POPL '94: Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages},
+	date-added = {2005-11-25 10:47:59 -0600},
+	date-modified = {2010-12-17 10:23:11 -0700},
+	isbn = {0-89791-636-0},
+	location = {Portland, Oregon, United States},
+	pages = {458--471},
+	publisher = {ACM Press},
+	title = {A generic account of continuation-passing styles},
+	year = {1994}}
+
+@article{Plotkin:1975,
+	author = {G. D. Plotkin},
+	date-added = {2005-11-25 10:55:03 -0600},
+	date-modified = {2009-08-25 22:28:20 -0600},
+	journal = {Theoretical Computer Science},
+	month = {December},
+	number = {2},
+	pages = {125-159},
+	rating = {5},
+	read = {Yes},
+	title = {Call-by-name, call-by-value and the lambda-calculus},
+	volume = {1},
+	year = {1975}}
+
+@inproceedings{Lawall:1993,
+author = {Lawall, Julia L. and Danvy, Olivier},
+title = {Separating Stages in the Continuation-Passing Style Transformation},
+year = 1993,
+isbn = 0897915607,
+publisher = {Association for Computing Machinery},
+address = {New York, NY, USA},
+url = {https://doi.org/10.1145/158511.158613},
+doi = {10.1145/158511.158613},
+booktitle = {Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
+pages = {124–136},
+numpages = 13,
+location = {Charleston, South Carolina, USA},
+series = {POPL '93}
+}
+
+@book{Friedman:2001,
+  author    = {Daniel P. Friedman and
+               Mitchell Wand and
+               Christopher T. Haynes},
+  title     = {Essentials of programming languages {(2.} ed.)},
+  publisher = {{MIT} Press},
+  year      = 2001,
+  isbn      = {978-0-262-06217-6},
+  timestamp = {Fri, 15 Apr 2011 13:37:34 +0200},
+  biburl    = {https://dblp.org/rec/books/daglib/0017436.bib},
+  bibsource = {dblp computer science bibliography, https://dblp.org}
+}
+
+@inproceedings{Fischer:1972,
+author = {Fischer, Michael J.},
+title = {Lambda Calculus Schemata},
+year = 1972,
+isbn = 9781450378918,
+publisher = {Association for Computing Machinery},
+address = {New York, NY, USA},
+url = {https://doi.org/10.1145/800235.807077},
+doi = {10.1145/800235.807077},
+booktitle = {Proceedings of ACM Conference on Proving Assertions about
+                  Programs},
+pages = {104–109},
+numpages = 6,
+location = {Las Cruces, New Mexico, USA}
+}
+  
+@InProceedings{Wijngaarden:1966,
+  author = 	 {Adriaan {van Wijngaarden}},
+  title = 	 {Recursive definition of syntax and semantics},
+  booktitle = {Formal Language Description Languages for Computer Programming},
+  year = 	 1966,
+  editor = 	 {T. B. Steel, Jr.},
+  pages = 	 {13-24},
+  publisher = {North-Holland}}
 
 @book{Aho:2006wb,
 	address = {USA},

+ 16 - 9
book.tex

@@ -2652,8 +2652,10 @@ Our compiler for \LangVar{} consists of the following passes.
 %
 Our treatment of \code{remove\_complex\_operands} and
 \code{explicate\_control} as separate passes is an example of the
-nanopass approach. The traditional approach is to combine them into a
-single step~\citep{Aho:2006wb}.
+nanopass approach\footnote{For analogous decompositions of the
+  translation into continuation passing style, see the work of
+  \citet{Lawall:1993} and \citet{Hatcliff:1994ea}.}.  The traditional
+approach is to combine them into a single step~\citep{Aho:2006wb}.
 %  
 \fi}
 
@@ -9302,13 +9304,18 @@ blocks on several test programs.
 \label{sec:cond-further-reading}
 
 The algorithm for the \code{explicate\_control} pass is based on the
-the \code{explose-basic-blocks} pass in course notes of
-\citet{Dybvig:2010aa}. It has several similarities to the algorithms
-of \citet{Danvy:2003fk} and \citet{Appel:2003fk}. The treatment of
-conditionals in the \code{explicate\_control} pass is similar to the
-case-of-case transformation of \citet{PeytonJones:1998} and to
-short-cut boolean
-evaluation~\citep{Logothetis:1981,Aho:2006wb,Clarke:1989,Danvy:2003fk}.
+the \code{explose-basic-blocks} pass in the course notes of
+\citet{Dybvig:2010aa}.
+%
+It has similarities to the algorithms of \citet{Danvy:2003fk} and
+\citet{Appel:2003fk}, and is related to translations into continuation
+passing
+style~\citep{Wijngaarden:1966,Fischer:1972,reynolds72:_def_interp,Plotkin:1975,Friedman:2001}.
+%
+The treatment of conditionals in the \code{explicate\_control} pass is
+similar to short-cut boolean
+evaluation~\citep{Logothetis:1981,Aho:2006wb,Clarke:1989,Danvy:2003fk}
+and the case-of-case transformation of \citet{PeytonJones:1998}.
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \chapter{Loops and Dataflow Analysis}