english.bib

@inproceedings{abadi-blanchet-01,
  author = {Martín Abadi and Bruno Blanchet},
  title = {Secrecy Types for Asymmetric Communication},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  month = apr,
  year = {2001},
  volume = {2030},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  pages = {25--41},
  url = {http://www.di.ens.fr/~blanchet/publications/AbadiBlanchetFOSSACS01.html}
}
@article{abadi-cardelli-94,
  author = {Mart{\'\i}n Abadi and Luca Cardelli},
  title = {A Theory of Primitive Objects: Untyped and First-Order
                 Systems},
  journal = {Information and Computation},
  year = {1996},
  volume = {125},
  number = {2},
  pages = {78--102},
  month = mar,
  url = {http://research.microsoft.com/Users/luca/Papers/PrimObj1stOrder.pdf}
}
@article{abadi-cardelli-94b,
  author = {Mart{\'\i}n Abadi and Luca Cardelli},
  title = {A Theory of Primitive Objects: Second-Order Systems},
  journal = {Science of Computer Programming},
  year = {1995},
  volume = {25},
  number = {2--3},
  pages = {81--116},
  month = dec,
  url = {http://research.microsoft.com/Users/luca/Papers/PrimObj2ndOrder.pdf}
}
@inproceedings{abadi-dcc-99,
  title = {A Core Calculus of Dependency},
  author = {Martín Abadi and Anindya Banerjee and Nevin Heintze
                 and Jon G. Riecke},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1999},
  pages = {147--160},
  url = {http://www.soe.ucsc.edu/~abadi/Papers/flowpopl.ps}
}
@inproceedings{abadi-fiore-96,
  author = {Mart{\'\i}n Abadi and Marcelo P. Fiore},
  title = {Syntactic Considerations on Recursive Types},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {242--252},
  year = {1996},
  month = jul,
  url = {http://www.soe.ucsc.edu/~abadi/Papers/rec.ps}
}
@inproceedings{abadi-lampson-levy-96,
  title = {Analysis and Caching of Dependencies},
  author = {Martín Abadi and Butler Lampson and Jean-Jacques
                 Lévy},
  pages = {83--91},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = may,
  year = {1996},
  url = {http://www.soe.ucsc.edu/~abadi/Papers/make-preprint.ps}
}
@article{abadi-pierce-plotkin-91,
  author = {Martín Abadi and Benjamin Pierce and Gordon Plotkin},
  title = {Faithful Ideal Models for Recursive Polymorphic
                 Types},
  journal = {International Journal of Foundations of Computer
                 Science},
  volume = {2},
  number = {1},
  month = mar,
  year = {1991},
  pages = {1--21},
  url = {http://www.cis.upenn.edu/~bcpierce/papers/ideals.ps}
}
@article{abel-04,
  author = {Andreas Abel},
  title = {Termination Checking with Types},
  journal = {RAIRO Theoretical Informatics and Applications},
  year = {2004},
  volume = {38},
  number = {4},
  pages = {277--319},
  url = {http://www2.tcs.ifi.lmu.de/~abel/rairo04.pdf}
}
@inproceedings{abel-haskell-05,
  author = {Andreas Abel and Marcin Benke and Ana Bove and John
                 Hughes and Ulf Norell},
  title = {Verifying {Haskell} programs using constructive type
                 theory},
  booktitle = {Haskell workshop},
  month = sep,
  year = {2005},
  pages = {62--73},
  url = {http://www.tcs.informatik.uni-muenchen.de/~abel/haskell05.pdf}
}
@inproceedings{abel-miniagda-10,
  author = {Andreas Abel},
  title = {{MiniAgda}: Integrating Sized and Dependent Types},
  booktitle = {Workshop on Partiality And Recursion in Interactive
                 Theorem Provers (PAR)},
  month = jul,
  year = {2010},
  url = {http://www2.tcs.ifi.lmu.de/~abel/par10.pdf}
}
@article{abramsky-91,
  author = {Samson Abramsky},
  title = {Domain Theory in Logical Form},
  journal = {Annals of Pure and Applied Logic},
  year = {1991},
  volume = {51},
  pages = {1--77},
  url = {http://web.comlab.ox.ac.uk/oucl/work/samson.abramsky/dtlf.ps.gz}
}
@inproceedings{abramsky-honda-mccusker-98,
  author = {Samson Abramsky and Kohei Honda and Guy McCusker},
  title = {A fully abstract game semantics for general
                 references},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {334--344},
  year = {1998},
  url = {http://web.comlab.ox.ac.uk/people/Samson.Abramsky/lics98.ps.gz}
}
@article{achten-plasmeijer-95,
  author = {Peter Achten and Marinus J. Plasmeijer},
  title = {The Ins and Outs of {Clean} {I/O}},
  journal = {Journal of Functional Programming},
  volume = {5},
  number = {1},
  year = {1995},
  pages = {81--110},
  url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.17.935}
}
@techreport{agerholm-examples-94,
  author = {Sten Agerholm},
  title = {{LCF} Examples in {HOL}},
  institution = {BRICS},
  month = jun,
  year = {1994},
  number = {RS-94-18},
  url = {http://www.brics.dk/RS/94/18/BRICS-RS-94-18.ps.gz}
}
@techreport{agerholm-holcpo-94,
  author = {Sten Agerholm},
  title = {A {HOL} Basis for Reasoning about Functional
                 Programs},
  institution = {BRICS},
  year = {1994},
  number = {RS-94-44},
  month = dec,
  url = {http://www.brics.dk/RS/94/44/BRICS-RS-94-44.ps.gz}
}
@phdthesis{ahmed-04,
  author = {Amal Jamil Ahmed},
  title = {Semantics of Types for Mutable State},
  school = {Princeton University},
  year = {2004},
  url = {http://www.cs.indiana.edu/~amal/ahmedsthesis.pdf}
}
@inproceedings{ahmed-appel-virga-02,
  author = {Amal J. Ahmed and Andrew W. Appel and Roberto Virga},
  title = {A Stratified Semantics of General References
                 Embeddable in Higher-Order Logic},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {75--86},
  month = jul,
  year = {2002},
  url = {http://www.cs.princeton.edu/sip/pub/stratified-lics02.pdf}
}
@inproceedings{ahmed-blume-08,
  author = {Amal Ahmed and Matthias Blume},
  title = {Typed closure conversion preserves observational
                 equivalence},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2008},
  pages = {157--168},
  url = {http://ttic.uchicago.edu/~amal/papers/tccpoe.pdf}
}
@inproceedings{ahmed-dreyer-rossberg-09,
  author = {Amal Ahmed and Derek Dreyer and Andreas Rossberg},
  title = {State-dependent representation independence},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2009},
  pages = {340--353},
  url = {http://ttic.uchicago.edu/~amal/papers/sdri.pdf}
}
@inproceedings{ahmed-fluet-morrisett-05,
  author = {Amal J. Ahmed and Matthew Fluet and Greg Morrisett},
  title = {A step-indexed model of substructural state},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2005},
  pages = {78--91},
  url = {http://www.cs.rit.edu/~mtf/research/substruct-state/ICFP05/icfp05.pdf}
}
@article{ahmed-semantic-tal-10,
  author = {Amal Ahmed and Andrew W. Appel and Christopher D.
                 Richards and Kedar N. Swadi and Gang Tan and Daniel C.
                 Wang},
  title = {Semantic foundations for typed assembly languages},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {32},
  number = {3},
  year = {2010},
  url = {http://www.cs.princeton.edu/~appel/papers/sftal.pdf}
}
@book{aho-86,
  author = {Alfred V. Aho and Ravi Sethi and Jeffrey D. Ullman},
  title = {Compilers: Principles, Techniques, and Tools},
  publisher = {Addison-Wesley},
  year = {1986}
}
@book{aho-89,
  author = {Alfred Aho and Ravi Sethi and Jeffrey Ullman},
  title = {Compilateurs: principes, techniques et outils},
  publisher = {InterEditions},
  year = {1989}
}
@book{aho-hopcroft-ullman-83,
  author = {Alfred V. Aho and John E. Hopcroft and Jeffrey D.
                 Ullman},
  title = {Data Structures and Algorithms},
  year = {1983},
  publisher = {Addison-Wesley}
}
@book{aho-ullman-72,
  author = {Alfred V. Aho and Jeffrey D. Ullman},
  title = {The theory of parsing, translation, and compiling},
  year = {1972},
  publisher = {Prentice Hall},
  url = {http://portal.acm.org/citation.cfm?id=SERIES11430.578789}
}
@article{aiken-bane-98,
  author = {Alexander Aiken and Manuel Fähndrich and Jeffrey S.
                 Foster and Zhendong Su},
  title = {A Toolkit for Constructing Type- and Constraint-Based
                 Program Analyses},
  journal = {Lecture Notes in Computer Science},
  volume = {1473},
  pages = {76--96},
  year = {1998},
  url = {http://www.cs.berkeley.edu/~aiken/publications/papers/tic98.ps}
}
@article{aiken-faehndrich-levien-95,
  author = {Alexander Aiken and Manuel F{\"a}hndrich and Raph
                 Levien},
  title = {Better static memory management: improving
                 region-based analysis of higher-order languages},
  journal = {{ACM} {SIGPLAN} Notices},
  volume = {30},
  number = {6},
  pages = {174--185},
  month = jun,
  year = {1995},
  url = {http://www.cs.berkeley.edu/~aiken/ftp/region.ps}
}
@inproceedings{aiken-faehndrich-mixed-97,
  author = {Alexander S. Aiken and Manuel F{\"a}hndrich},
  title = {Program Analysis Using Mixed Term and Set
                 Constraints},
  pages = {114--126},
  booktitle = {Static Analysis Symposium (SAS)},
  month = sep,
  year = {1997},
  url = {http://www.cs.berkeley.edu/~aiken/publications/papers/sas97.ps}
}
@techreport{aiken-faehndrich-scale-96,
  number = {CSD-96-917},
  institution = {University of California, Berkeley},
  title = {Making Set-Constraint Based Program Analyses Scale},
  year = {1996},
  month = sep,
  author = {Alexander S. Aiken and Manuel F{\"a}hndrich},
  url = {http://research.microsoft.com/pubs/67469/scw96.pdf}
}
@techreport{aiken-faehndrich-subtyping-96,
  number = {CSD-96-898},
  institution = {University of California, Berkeley},
  title = {Subtyping Polymorphic Constrained Types},
  year = {1996},
  month = mar,
  author = {Alexander S. Aiken and Manuel F{\"a}hndrich}
}
@misc{aiken-illyria,
  author = {Alexander S. Aiken},
  title = {The {Illyria} system},
  year = {1994},
  url = {http://http.cs.berkeley.edu:80/~aiken/Illyria-demo.html}
}
@article{aiken-intro-99,
  author = {Alexander Aiken},
  title = {Introduction to Set Constraint-Based Program
                 Analysis},
  journal = {Science of Computer Programming},
  year = {1999},
  volume = {35},
  pages = {79--111},
  url = {http://www.cs.berkeley.edu/~aiken/publications/papers/scp99.ps}
}
@techreport{aiken-palsberg-wimmers-optimal-96,
  number = {CSD-96-909},
  institution = {University of California, Berkeley},
  title = {Optimal Representations of Polymorphic Types with
                 Subtyping},
  year = {1996},
  month = jul,
  pages = {31},
  author = {Alexander S. Aiken and Edward L. Wimmers and Jens
                 Palsberg},
  url = {http://http.cs.berkeley.edu/~aiken/ftp/quant.ps}
}
@inproceedings{aiken-wimmers-92,
  author = {Alexander S. Aiken and Edward L. Wimmers},
  title = {Solving Systems of Set Constraints},
  pages = {329--340},
  booktitle = {Logic in Computer Science (LICS)},
  month = jun,
  year = {1992},
  url = {http://http.cs.berkeley.edu/~aiken/ftp/lics92.ps}
}
@inproceedings{aiken-wimmers-93,
  author = {Alexander S. Aiken and Edward L. Wimmers},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  publisher = {ACM Press},
  title = {Type Inclusion Constraints and Type Inference},
  year = {1993},
  pages = {31--41},
  url = {http://http.cs.berkeley.edu/~aiken/ftp/fpca93.ps}
}
@inproceedings{aiken-wimmers-lakshman-94,
  author = {Alexander S. Aiken and Edward L. Wimmers and T. K.
                 Lakshman},
  booktitle = {Principles of Programming Languages ({POPL})},
  title = {Soft Typing with Conditional Types},
  year = {1994},
  month = jan,
  pages = {163--173},
  url = {http://http.cs.berkeley.edu/~aiken/ftp/popl94.ps}
}
@inproceedings{aldrich-borrowing-12,
  title = {A type system for borrowing permissions},
  author = {Karl Naden and Robert Bocchino and Jonathan Aldrich
                 and Kevin Bierhoff},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2012},
  pages = {557--570},
  url = {http://cs.cmu.edu/afs/cs.cmu.edu/Web/People/kbn/pubs/poplBorrowing.pdf}
}
@inproceedings{aldrich-objects-13,
  author = {Jonathan Aldrich},
  title = {The power of interoperability: why objects are
                 inevitable},
  booktitle = {onward},
  month = oct,
  year = {2013},
  pages = {101--116},
  url = {http://www.cs.cmu.edu/~aldrich/papers/objects-essay.pdf}
}
@unpublished{aldrich-plaid-10,
  author = {Jonathan Aldrich},
  title = {Resource-Based Programming in {Plaid}},
  note = {Fun Ideas and Thoughts},
  year = {2010},
  month = jun,
  url = {http://www.cs.cmu.edu/~aldrich/papers/pldi-fit10.pdf}
}
@inproceedings{aldrich-typestate-09,
  author = {Jonathan Aldrich and Joshua Sunshine and Darpan Saini
                 and {Zacha\-ry} Sparks},
  title = {Typestate-Oriented Programming},
  booktitle = {Companion to Object-Oriented Programming, Systems,
                 Languages, and Applications (OOPSLA)},
  pages = {1015--1022},
  year = {2009},
  month = oct,
  url = {http://www.cs.cmu.edu/~aldrich/papers/onward2009-state.pdf}
}
@inproceedings{alias-types-00,
  author = {Frederick Smith and David Walker and Greg Morrisett},
  title = {Alias Types},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {366--381},
  year = {2000},
  volume = {1782},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {http://www.cs.cornell.edu/talc/papers/alias.pdf}
}
@inproceedings{almeida-97,
  author = {Paulo S{\'e}rgio Almeida},
  title = {Balloon Types: Controlling Sharing of State in Data
                 Types},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  month = jun,
  year = {1997},
  pages = {32--59},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1241},
  url = {http://gsd.di.uminho.pt/publications/gsd-1997-04/file/at_download}
}
@inproceedings{altenkirch-pisigma-10,
  author = {Thorsten Altenkirch and Nils Anders Danielsson and
                 Andres L{\"o}h and Nicolas Oury},
  title = {{$\Pi$}{$\Sigma$}: Dependent Types Without the Sugar},
  booktitle = {Functional and Logic Programming},
  pages = {40--55},
  month = apr,
  year = {2010},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6009},
  url = {http://www.cs.nott.ac.uk/~txa/publ/pisigma-new.pdf}
}
@inproceedings{altenkirch-reus-99,
  author = {Thorsten Altenkirch and Bernhard Reus},
  title = {Monadic Presentations of Lambda Terms Using
                 Generalized Inductive Types},
  booktitle = {Computer Science Logic},
  year = {1999},
  pages = {453--468},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1683},
  url = {http://www.cs.nott.ac.uk/~txa/publ/csl99.pdf}
}
@article{amadio-cardelli-93,
  author = {Roberto M. Amadio and Luca Cardelli},
  title = {Subtyping Recursive Types},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {15},
  number = {4},
  pages = {575--631},
  month = sep,
  year = {1993},
  url = {http://research.microsoft.com/Users/luca/Papers/SRT.pdf}
}
@inproceedings{america-rutten-88,
  author = {Pierre America and Jan Rutten},
  title = {Solving reflexive domain equations in a category of
                 complete metric spaces},
  booktitle = {Mathematical Foundations of Programming Semantics},
  pages = {254--288},
  year = {1988},
  volume = {298},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/3-540-19020-1_13}
}
@article{andersen-94,
  author = {Henrik Reif Andersen},
  title = {Model checking and {Boolean} graphs},
  journal = {Theoretical Computer Science},
  volume = {126},
  number = {1},
  year = {1994},
  pages = {3--30},
  url = {http://dx.doi.org/10.1016/0304-3975(94)90266-6}
}
@article{anderson-eve-horning-73,
  author = {T. Anderson and J. Eve and J. J. Horning},
  title = {Efficient ${LR}(1)$ parsers},
  journal = {Acta Informatica},
  year = {1973},
  volume = {2},
  pages = {12--39},
  url = {http://dx.doi.org/10.1007/BF00571461}
}
@book{andrews-00,
  author = {Gregory R. Andrews},
  title = {Foundations of Multithreaded, Parallel, and
                 Distributed Programming},
  publisher = {Addison-Wesley},
  year = {2000}
}
@book{andrews-86,
  author = {Peter B. Andrews},
  title = {An introduction to mathematical logic and type theory:
                 to truth through proof},
  year = {1986},
  publisher = {Academic Press}
}
@article{andrews-reitman-80,
  author = {Gregory R. Andrews and Richard P. Reitman},
  title = {An Axiomatic Approach to Information Flow in
                 Programs},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {2},
  number = {1},
  pages = {56--76},
  month = jan,
  year = {1980}
}
@inproceedings{aponte-dicosmo-96,
  author = {Maria-Virginia Aponte and Roberto {Di Cosmo}},
  title = {Type isomorphisms for module signatures},
  month = sep,
  year = {1996},
  booktitle = {Programming Languages: Implementations, Logics, and
                 Programs (PLILP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1140},
  pages = {334--346},
  url = {http://dx.doi.org/10.1007/3-540-61756-6_95}
}
@article{appel-jim-97,
  author = {Andrew W. Appel and Trevor Jim},
  title = {Shrinking lambda expressions in linear time},
  journal = {Journal of Functional Programming},
  volume = {7},
  number = {5},
  year = {1997},
  pages = {515--540},
  url = {http://www.research.att.com/~trevor/papers/shrinking.ps.gz}
}
@inproceedings{appel-major-07,
  author = {Andrew W. Appel and Paul-Andr\'{e} Melli\`{e}s and
                 Christopher D. Richards and J\'{e}r\^{o}me Vouillon},
  title = {A very modal model of a modern, major, general type
                 system},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2007},
  pages = {109--122},
  url = {http://www.cs.princeton.edu/~appel/papers/modalmodel.pdf}
}
@book{appel-tiger-98,
  author = {Andrew Appel},
  title = {Modern Compiler Implementation in {ML}},
  publisher = {Cambridge University Press},
  year = {1998},
  url = {http://www.cs.princeton.edu/~appel/modern/ml/}
}
@inproceedings{appel-verismall-11,
  author = {Andrew W. Appel},
  title = {{VeriSmall}: Verified {Smallfoot} Shape Analysis},
  booktitle = {Certified Programs and Proofs},
  month = dec,
  year = {2011},
  pages = {231--246},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {7086},
  url = {http://www.cs.princeton.edu/~appel/papers/verismall.pdf}
}
@article{apt-81,
  author = {Krzysztof R. Apt},
  title = {Ten Years of {Hoare's} Logic: {A} Survey---Part {I}},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {3},
  number = {4},
  year = {1981},
  pages = {431--483},
  url = {http://doi.acm.org/10.1145/357146.357150}
}
@article{ariola-klop-95,
  author = {Zena M. Ariola and Jan Willem Klop},
  title = {Equational term graph rewriting},
  journal = {Fundamenta Informaticæ},
  volume = {26},
  number = {3--4},
  year = {1996},
  pages = {207--240},
  url = {http://www.cwi.nl/ftp/CWIreports/AP/CS-R9552.ps.Z}
}
@article{arnold-crubille-88,
  author = {Andr{\'e} Arnold and Paul Crubillé},
  title = {A Linear Algorithm to Solve Fixed-Point Equations on
                 Transition Systems},
  journal = {Information Processing Letters},
  volume = {29},
  number = {2},
  year = {1988},
  pages = {57--66},
  url = {http://dx.doi.org/10.1016/0020-0190(88)90029-4}
}
@article{arnold-nivat-80,
  author = {André Arnold and Maurice Nivat},
  year = {1980},
  journal = {Fundamenta Informaticæ},
  volume = {3},
  number = {4},
  pages = {181--205},
  title = {{T}he Metric Space of Infinite Trees. {A}lgebraic And
                 Topological Properties}
}
@misc{astree,
  author = {Patrick Cousot and Radhia Cousot and Jérôme Feret and
                 Antoine Miné and Xavier Rival},
  title = {The {Astrée} Static Analyzer},
  year = {2011},
  note = {\url{http://www.astree.ens.fr/}},
  url = {http://www.astree.ens.fr/}
}
@article{atkey-09,
  author = {Robert Atkey},
  title = {Parameterised Notions of Computation},
  journal = {Journal of Functional Programming},
  year = {2009},
  volume = {19},
  number = {3--4},
  pages = {355--376},
  url = {http://homepages.inf.ed.ac.uk/ratkey/paramnotions-jfp.pdf}
}
@inproceedings{atkey-amortised-10,
  author = {Robert Atkey},
  title = {Amortised Resource Analysis with Separation Logic},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {85--103},
  year = {2010},
  volume = {6012},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://personal.cis.strath.ac.uk/~raa/amortised-sep-logic.pdf}
}
@inproceedings{atkey-hoas-09,
  author = {Robert Atkey},
  title = {Syntax for free: representing syntax with binding
                 using parametricity},
  booktitle = {Typed Lambda Calculi and Applications (TLCA)},
  pages = {35--49},
  year = {2009},
  volume = {5608},
  series = {Lecture Notes in Computer Science},
  month = jul,
  publisher = {Springer},
  url = {https://personal.cis.strath.ac.uk/~raa/syntaxforfree.pdf}
}
@inproceedings{atkey-lindley-yallop-09,
  author = {Robert Atkey and Sam Lindley and Jeremy Yallop},
  title = {Unembedding Domain-Specific languages},
  booktitle = {Haskell symposium},
  pages = {37--48},
  year = {2009},
  month = sep,
  url = {http://personal.cis.strath.ac.uk/~raa/unembedding.pdf}
}
@inproceedings{augustsson-93,
  author = {Lennart Augustsson},
  title = {Implementing {Haskell} Overloading},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  pages = {65--73},
  year = {1993},
  url = {http://www.cs.chalmers.se/pub/cs-reports/papers/overload-fpca-93.ps.Z}
}
@book{autebert-94,
  author = {Jean-Michel Autebert},
  title = {Théorie des langages et des automates},
  publisher = {Masson},
  year = {1994}
}
@incollection{autebert-97,
  author = {Jean-Michel Autebert and Jean Berstel and Luc
                 Boasson},
  booktitle = {Handbook of Formal Languages},
  title = {Context-Free Languages and Push-Down Automata},
  publisher = {Springer},
  year = {1997},
  volume = {1},
  pages = {111--174},
  url = {http://www-igm.univ-mlv.fr/~berstel/Articles/CFLPDA.ps.gz}
}
@inproceedings{aycock-horspool-00,
  author = {John Aycock and Nigel Horspool},
  title = {Simple Generation of Static Single-Assignment Form},
  booktitle = {Compiler Construction (CC)},
  year = {2000},
  volume = {1781},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {http://pages.cpsc.ucalgary.ca/~aycock/papers/ssa.ps}
}
@inproceedings{aydemir-08,
  author = {Brian Aydemir and Arthur Chargu{\'e}raud and {Benjamin
                 C.} Pierce and Randy Pollack and Stephanie Weirich},
  booktitle = {Principles of Programming Languages ({POPL})},
  title = {Engineering Formal Metatheory},
  month = jan,
  year = {2008},
  pages = {3--15},
  url = {http://www.cis.upenn.edu/~bcpierce/papers/binders.pdf}
}
@inproceedings{baker-conquer-90,
  author = {Henry G. Baker},
  title = {Unify and conquer (Garbage, Updating, Aliasing, ...)
                 in Functional Languages},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  month = jun,
  year = {1990},
  pages = {218--226},
  url = {http://home.pipeline.com/~hbaker1/Share-Unify.ps.gz}
}
@inproceedings{balabonski-pottier-protzenko-mezzo-14,
  author = {Thibaut Balabonski and François Pottier and Jonathan
                 Protzenko},
  title = {Type Soundness and Race Freedom for {Mezzo}},
  booktitle = {Proceedings of the 12th International Symposium on
                 Functional and Logic Programming (FLOPS 2014)},
  month = jun,
  year = {2014},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {8475},
  pages = {253--269},
  pdf = {http://gallium.inria.fr/~fpottier/publis/bpp-mezzo.pdf}
}
@inproceedings{balat-dicosmo-fiore-02,
  author = {Vincent Balat and Roberto {Di Cosmo} and Marcelo
                 Fiore},
  title = {Remarks on Isomorphisms in Typed Lambda Calculi with
                 Empty and Sum Type},
  booktitle = {Logic in Computer Science (LICS)},
  year = {2002},
  month = jul,
  url = {http://www.cl.cam.ac.uk/~mpf23/papers/Types/remarks.ps.gz}
}
@inproceedings{banatre-bryce-lemetayer-94,
  author = {Jean-Pierre Banâtre and Ciarán Bryce and Daniel {Le
                 Métayer}},
  title = {Compile-time detection of information flow in
                 sequential programs},
  booktitle = {European Symposium on Research in Computer Security},
  year = {1994},
  publisher = {Springer},
  pages = {55--74},
  series = {Lecture Notes in Computer Science},
  volume = {875},
  url = {ftp://ftp.irisa.fr/local/lande/dlm-esorics94.ps.Z}
}
@inproceedings{banerjee-heintze-riecke-01,
  author = {Anindya Banerjee and Nevin Heintze and Jon G. Riecke},
  title = {Design and Correctness of Program Transformations
                 based on Control-flow Analysis},
  booktitle = {International Symposium on Theoretical Aspects of
                 Computer Software (TACS)},
  pages = {420--447},
  year = {2001},
  volume = {2215},
  series = {Lecture Notes in Computer Science},
  month = oct,
  publisher = {Springer},
  url = {http://www.cis.ksu.edu/~ab/Publications/pcfa.ps.gz}
}
@inproceedings{banerjee-heintze-riecke-99,
  author = {Anindya Banerjee and Nevin Heintze and Jon G. Riecke},
  title = {Region Analysis and the Polymorphic Lambda Calculus},
  booktitle = {Logic in Computer Science (LICS)},
  month = jul,
  year = {1999},
  pages = {88--97},
  url = {http://www.cs.ucla.edu/~palsberg/tba/papers/banerjee-heintze-riecke-lics99.pdf}
}
@techreport{banerjee-naumann-01,
  author = {Anindya Banerjee and David A. Naumann},
  title = {A Simple Semantics and Static Analysis for {Java}
                 Security},
  institution = {Stevens Institute of Technology},
  number = {2001-1},
  year = {2001},
  month = jun,
  url = {http://guinness.cs.stevens-tech.edu/~naumann/publications/tr2001.ps}
}
@inproceedings{banerjee-naumann-05,
  author = {Anindya Banerjee and David A. Naumann},
  title = {State based ownership, reentrance, and encapsulation},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  pages = {387--411},
  year = {2005},
  volume = {3586},
  series = {Lecture Notes in Computer Science},
  month = jul,
  publisher = {Springer},
  url = {https://guinness.cs.stevens-tech.edu/~naumann/publications/ecoop.pdf}
}
@inproceedings{banerjee-naumann-csfw-02,
  author = {Anindya Banerjee and David Naumann},
  title = {Secure Information Flow and Pointer Confinement in a
                 {Java}-like Language},
  booktitle = {{IEEE} Computer Security Foundations Workshop},
  pages = {253--267},
  month = jun,
  year = {2002},
  url = {http://www.cs.stevens-tech.edu/~naumann/publications/csfw15.ps}
}
@inproceedings{banerjee-naumann-popl-02,
  author = {Anindya Banerjee and David A. Naumann},
  title = {Representation Independence, Confinement, and Access
                 Control},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2002},
  pages = {166--177},
  url = {http://guinness.cs.stevens-tech.edu/~naumann/publications/BanerjeeNaumann.ps}
}
@techreport{barber-dill-96,
  author = {Andrew Barber},
  title = {Dual Intuitionistic Linear Logic},
  institution = {Laboratory for Foundations of Computer Science, School
                 of Informatics at the University of Edinburgh},
  year = {1996},
  number = {ECS-LFCS-96-347},
  month = sep,
  url = {http://www.lfcs.inf.ed.ac.uk/reports/96/ECS-LFCS-96-347/}
}
@book{barendregt,
  author = {Henk P. Barendregt},
  title = {The Lambda Calculus, Its Syntax and Semantics},
  publisher = {Elsevier Science},
  year = {1984},
  url = {http://www.elsevier.com/wps/find/bookdescription.cws_home/501727/description}
}
@incollection{barendregt-90,
  author = {Henk P. Barendregt},
  title = {Functional Programming and Lambda Calculus},
  booktitle = {Handbook of Theoretical Computer Science},
  pages = {321--363},
  publisher = {Elsevier Science},
  year = {1990},
  editor = {J. Van Leeuwen}
}
@inproceedings{barendsen-smesters-95,
  author = {Erik Barendsen and Sjaak Smetsers},
  title = {Uniqueness Type Inference},
  booktitle = {Programming Languages: Implementations, Logics, and
                 Programs (PLILP)},
  year = {1995},
  pages = {189--206},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {982},
  url = {http://dx.doi.org/10.1007/BFb0026821}
}
@inproceedings{barnett-pure-04,
  author = {Mike Barnett and David A. Naumann and Wolfram Schulte
                 and Qi Sun},
  title = {99.44\% pure: Useful Abstractions in Specifications},
  booktitle = {Formal Techniques for {Java}-like Programs},
  year = {2004},
  url = {http://www.cs.ru.nl/ftfjp/2004/Purity.pdf}
}
@inproceedings{barnett-spec-04,
  author = {Mike Barnett and K. Rustan M. Leino and Wolfram
                 Schulte},
  title = {The {Spec\#} programming system: An overview},
  booktitle = {Construction and Analysis of Safe, Secure and
                 Interoperable Smart devices (CASSIS)},
  year = {2004},
  volume = {3362},
  pages = {49--69},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://research.microsoft.com/~leino/papers/krml136.pdf}
}
@article{barrett-00,
  author = {Chris Barrett and Riko Jacob and Madhav Marathe},
  title = {Formal Language Constrained Path Problems},
  journal = {SIAM Journal on Computing},
  year = {2000},
  volume = {30},
  number = {3},
  pages = {809--837},
  url = {http://www.brics.dk/~rjacob/Publications/regpath.ps.gz},
  alturl = {http://epubs.siam.org/sam-bin/getfile/SICOMP/articles/33771.pdf}
}
@techreport{bartels-96,
  author = {Frank Bartels and Friedrich von Henke and Holger
                 Pfeifer and Harald Rue{\ss}},
  title = {Mechanizing Domain Theory},
  institution = {Universit{\"a}t Ulm, Fakult{\"a}t f{\"u}r Informatik},
  year = {1996},
  number = {96-10},
  type = {Ulmer Informatik-Berichte},
  url = {http://www.csl.sri.com/users/ruess/papers/Fixpoints/fixpoints-domains3.ps.gz}
}
@inproceedings{barthwal-norrish-09,
  author = {Aditi Barthwal and Michael Norrish},
  title = {Verified, Executable Parsing},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2009},
  pages = {160--174},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {5502},
  url = {http://users.cecs.anu.edu.au/~aditi/esop09_submission_16.pdf}
}
@inproceedings{bartoletti-al-01,
  author = {Massimo Bartoletti and Pierpaolo Degano and GianLuigi
                 Ferrari},
  title = {Static Analysis for Stack Inspection},
  booktitle = {International Workshop on Concurrency and
                 Coordination},
  series = {Electronic Notes in Theoretical Computer Science},
  volume = {54},
  publisher = {Elsevier Science},
  year = {2001}
}
@article{beaven-stansifer-93,
  author = {Mike Beaven and Ryan Stansifer},
  title = {Explaining type errors in polymorphic languages},
  journal = {ACM Letters on Programming Languages and Systems},
  volume = {2},
  number = {4},
  pages = {17--30},
  month = mar,
  year = {1993},
  url = {http://www.cs.fit.edu/~ryan/papers/explain.ps.gz}
}
@inproceedings{bell-08,
  author = {C. J. Bell and Robert Dockins and Aquinas Hobor and
                 Andrew W. Appel and David Walker},
  title = {Comparing Semantic and Syntactic Methods in Mechanized
                 Proof Frameworks},
  booktitle = {International Workshop on Proof-Carrying Code (PCC)},
  year = {2008},
  month = jun,
  url = {http://www.cs.princeton.edu/~rdockins/pubs/semsyn.pdf}
}
@inproceedings{bell-bellegarde-hook-97,
  author = {Jeffrey M. Bell and Françoise Bellegarde and James
                 Hook},
  title = {Type-driven Defunctionalization},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = aug,
  year = {1997},
  url = {http://doi.acm.org/10.1145/258949.258953}
}
@techreport{bell-lapadula-75,
  author = {D. E. Bell and Leonard J. LaPadula},
  title = {Secure Computer Systems: Unified Exposition and
                 {Multics} Interpretation},
  year = {1975},
  month = jul,
  number = {MTR-2997},
  institution = {The {MITRE} Corp.},
  url = {http://niatec.info/pdf/bell76.pdf}
}
@inproceedings{berdine-calcagno-ohearn-05,
  author = {Josh Berdine and Cristiano Calcagno and Peter W.
                 O'Hearn},
  title = {Symbolic Execution with Separation Logic},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  year = {2005},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3780},
  pages = {52--68},
  ee = {http://www.dcs.qmul.ac.uk/~berdine/papers/execution.pdf}
}
@inproceedings{berdine-decidable-fragment-04,
  author = {Josh Berdine and Cristiano Calcagno and Peter W.
                 O'Hearn},
  title = {A Decidable Fragment of Separation Logic},
  booktitle = {Foundations of Software Technology and Theoretical
                 Computer Science (FSTTCS)},
  month = dec,
  year = {2004},
  pages = {97--109},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3328},
  url = {http://www0.cs.ucl.ac.uk/staff/p.ohearn/papers/unroll_collapse.pdf}
}
@article{berdine-linear-continuations-02,
  author = {Josh Berdine and Peter W. O'Hearn and Uday S. Reddy
                 and Hayo Thielecke},
  title = {Linear Continuation-Passing},
  journal = {Higher-Order and Symbolic Computation},
  year = {2002},
  volume = {15},
  number = {2--3},
  pages = {181--208},
  url = {http://www.cs.bham.ac.uk/~hxt/research/LinCP.pdf}
}
@inproceedings{berdine-ohearn-06,
  author = {Josh Berdine and Peter W. O'Hearn},
  title = {Strong Update, Disposal, and Encapsulation in Bunched
                 Typing},
  booktitle = {Mathematical Foundations of Programming Semantics},
  series = {Electronic Notes in Theoretical Computer Science},
  publisher = {Elsevier Science},
  volume = {158},
  month = may,
  year = {2006},
  pages = {81--98},
  url = {http://research.microsoft.com/pubs/73584/bil.pdf}
}
@inproceedings{berger-honda-yoshida-05,
  author = {Martin Berger and Kohei Honda and Nobuko Yoshida},
  title = {A logical analysis of aliasing in imperative
                 higher-order functions},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2005},
  pages = {280--293},
  url = {http://doi.acm.org/10.1145/1086365.1086401}
}
@inproceedings{bergeron-al-00,
  author = {M. Debbabi and E. Giasson and B. Ktari and F. Michaud
                 and N. Tawbi},
  title = {Secure Self-Certified {COTS}},
  booktitle = {IEEE International Workshop on Enterprise Security
                 (WETICE'00)},
  month = jun,
  year = {2000},
  url = {http://www.ift.ulaval.ca/~lsfm/lsfm_eng/Publications/wetice2000_2.pdf}
}
@unpublished{bernstein-stark-95,
  author = {K. Bernstein and E. W. Stark},
  title = {Debugging Type Errors},
  year = {1995},
  month = nov,
  url = {http://bsd7.starkhome.cs.sunysb.edu/~stark/REPORTS/debugtype.ps.gz},
  note = {Unpublished}
}
@inproceedings{berthomieu-sagazan-95,
  author = {Bernard Berthomieu and Camille {le Moniès de
                 Sagazan}},
  title = {A Calculus of Tagged Types, with applications to
                 process languages},
  booktitle = {Workshop on Types for Program Analysis},
  pages = {1--15},
  year = {1995},
  month = may,
  url = {http://www.laas.fr/~bernard/lcs/papers/tpa95.ps.gz}
}
@article{besson-al-01,
  author = {Frédéric Besson and Thomas P. Jensen and Daniel {Le
                 Métayer} and Tommy Thorn},
  title = {Model Checking Security Properties of Control Flow
                 Graphs},
  journal = {Journal of Computer Security},
  volume = {9},
  number = {3},
  year = {2001},
  pages = {217--250},
  url = {http://www.irisa.fr/lande/jensen/jcs.pdf}
}
@inproceedings{besson-al-02,
  author = {Frédéric Besson and Thomas {de Grenier de Latour} and
                 Thomas Jensen},
  title = {Secure Calling Contexts for Stack Inspection},
  pages = {76--87},
  month = oct,
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  year = {2002},
  url = {http://www.irisa.fr/lande/jensen/ppdp02.pdf}
}
@article{bhamidipaty-proebsting-98,
  author = {Achyutram Bhamidipaty and Todd A. Proebsting},
  title = {Very Fast {YACC}-Compatible Parsers (For Very Little
                 Effort)},
  journal = {Software -- Practice \& Experience},
  year = {1998},
  volume = {28},
  number = {2},
  pages = {181--190},
  month = feb,
  url = {http://www.cs.arizona.edu/people/todd/papers/TR95-09.ps}
}
@inproceedings{bhargavan-fournet-gordon-10,
  author = {Karthik Bhargavan and Cédric Fournet and Andy Gordon},
  title = {Modular Verification of Security Protocol Code by
                 Typing},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {445--456},
  year = {2010},
  month = jan,
  url = {http://moscova.inria.fr/~karthik/pubs/modular-verification-of-security-protocols-by-typing-popl10.pdf}
}
@inproceedings{bhat-cleaveland-96,
  author = {Girish Bhat and Rance Cleaveland},
  title = {Efficient Local Model-Checking for Fragments of the
                 Modal $\mu$-Calculus},
  booktitle = {Tools and Algorithms for Construction and Analysis of
                 Systems (TACAS)},
  pages = {107--126},
  year = {1996},
  volume = {1055},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {http://www.cs.umd.edu/~rance/publications/papers/tacas96a.ps.gz}
}
@inproceedings{biere-bmc-99,
  author = {Armin Biere and Alessandro Cimatti and Edmund Clarke
                 and Yunshan Zhu},
  title = {Symbolic Model Checking Without {BDDs}},
  booktitle = {Tools and Algorithms for Construction and Analysis of
                 Systems (TACAS)},
  pages = {193--207},
  year = {1999},
  volume = {1579},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {http://www.inf.ethz.ch/personal/biere/papers/BiereCimattiClarkeZhu-TACAS99.pdf}
}
@inproceedings{bierhoff-aldrich-07,
  author = {Kevin Bierhoff and Jonathan Aldrich},
  title = {Modular typestate checking of aliased objects},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = oct,
  year = {2007},
  pages = {301--320},
  url = {http://www.cs.cmu.edu/~kbierhof/papers/typestate-verification.pdf}
}
@inproceedings{bierhoff-beckman-aldrich-09,
  author = {Kevin Bierhoff and Nels E. Beckman and Jonathan
                 Aldrich},
  title = {Practical {API} Protocol Checking with Access
                 Permissions},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  month = jul,
  year = {2009},
  pages = {195--219},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5653},
  url = {http://www.cs.cmu.edu/~kbierhof/papers/permission-practice.pdf}
}
@inproceedings{biering-05,
  author = {Bodil Biering and Lars Birkedal and Noah Torp-Smith},
  title = {{BI} Hyperdoctrines and Higher-Order Separation
                 Logic},
  booktitle = {European Symposium on Programming (ESOP)},
  month = apr,
  year = {2005},
  pages = {233--247},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3444},
  url = {http://www.itu.dk/people/noah/papers/hyperdocs.pdf}
}
@article{bird-hughes-87,
  author = {Richard S. Bird and John Hughes},
  title = {The alpha-beta Algorithm: An Exercise in Program
                 Transformation},
  journal = {Information Processing Letters},
  volume = {24},
  number = {1},
  year = {1987},
  pages = {53--57},
  url = {http://dx.doi.org/10.1016/0020-0190(87)90198-0}
}
@inproceedings{bird-meertens-98,
  author = {Richard Bird and Lambert Meertens},
  title = {Nested Datatypes},
  booktitle = {Mathematics of Program Construction (MPC)},
  pages = {52--67},
  year = {1998},
  volume = {1422},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {ftp://ftp.kestrel.edu/pub/papers/meertens/nest5.ps}
}
@article{bird-paterson-99,
  title = {{de Bruijn} Notation as a Nested Datatype},
  author = {Richard Bird and Ross Paterson},
  url = {http://dx.doi.org/10.1017/S0956796899003366},
  journal = {Journal of Functional Programming},
  volume = {9},
  number = {1},
  pages = {77--91},
  month = jan,
  year = {1999}
}
@techreport{birkedal-alii-93,
  author = {Lars Birkedal and Nick Rothwell and Mads Tofte and
                 David N. Turner},
  semno = {D-181},
  title = {The {ML} Kit (Version 1)},
  institution = {Department of Computer Science, University of
                 Copenhagen},
  year = {1993},
  number = {DIKU 93/14},
  url = {http://www.it-c.dk/research/mlkit/}
}
@article{birkedal-hoframe-06,
  author = {Lars Birkedal and Noah Torp-Smith and Hongseok Yang},
  title = {Semantics of separation-logic typing and higher-order
                 frame rules for {Algol}-like languages},
  journal = {Logical Methods in Computer Science},
  year = {2006},
  volume = {2},
  number = {5},
  month = nov,
  url = {http://arxiv.org/pdf/cs.LO/0610081}
}
@unpublished{birkedal-nakano-10,
  author = {Lars Birkedal and Jan Schwinghammer and Kristian
                 Støvring},
  title = {A Metric Model of Lambda Calculus with Guarded
                 Recursion},
  note = {Presented at FICS 2010},
  month = jul,
  year = {2010},
  url = {http://www.itu.dk/~birkedal/papers/nakano-conf.pdf}
}
@inproceedings{birkedal-popl-11,
  author = {Lars Birkedal and Bernhard Reus and Jan Schwinghammer
                 and Kristian Støvring and Jacob Thamsborg and Hongseok
                 Yang},
  title = {Step-indexed {Kripke} models over recursive worlds},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {119--132},
  year = {2011},
  month = jan,
  url = {http://www.eecs.qmul.ac.uk/~hyang/paper/popl11-long.pdf}
}
@inproceedings{birkedal-stovring-thamsborg-09,
  author = {Lars Birkedal and Kristian St{\o}vring and Jacob
                 Thamsborg},
  title = {Realizability Semantics of Parametric Polymorphism,
                 General References, and Recursive Types},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  pages = {456--470},
  month = mar,
  year = {2009},
  volume = {5504},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.itu.dk/~birkedal/papers/parametricity-state-metric-conf.pdf}
}
@article{birkedal-stovring-thamsborg-10,
  author = {Lars Birkedal and Kristian St{\o}vring and Jacob
                 Thamsborg},
  title = {Realisability Semantics of Parametric Polymorphism,
                 General References, and Recursive Types},
  journal = {Mathematical Structures in Computer Science},
  year = {2010},
  volume = {20},
  number = {4},
  pages = {655--703},
  url = {http://www.itu.dk/~birkedal/papers/parametricity-state-metric-journal.pdf}
}
@techreport{birkedal-stovring-thamsborg-solution-09,
  author = {Lars Birkedal and Kristian St{\o}vring and Jacob
                 Thamsborg},
  title = {The category-theoretic solution of recursive
                 metric-space quations},
  institution = {IT University of Copenhagen},
  year = {2009},
  number = {ITU-2009-119},
  url = {http://www.itu.dk/~birkedal/papers/ITU-TR-2009-119.pdf}
}
@article{birkedal-tofte-01,
  author = {Lars Birkedal and Mads Tofte},
  title = {A constraint-based region inference algorithm},
  journal = {Theoretical Computer Science},
  year = {2001},
  volume = {258},
  pages = {299--392},
  url = {http://www.itu.dk/people/birkedal/papers/conria.ps.gz}
}
@unpublished{birrell-03,
  author = {Andrew D. Birrell},
  title = {An Introduction to Programming with {C\#} Threads},
  note = {Manuscript},
  year = {2003},
  url = {http://birrell.org/andrew/papers/ThreadsCSharp.pdf}
}
@manual{bison,
  title = {Bison},
  author = {Charles Donnelly and Richard Stallman},
  month = sep,
  year = {2005},
  url = {http://www.gnu.org/software/bison/manual/}
}
@phdthesis{biswas-97,
  school = {University of Pennsylvania},
  title = {Dynamic Slicing in Higher-Order Programming
                 Languages},
  year = {1997},
  month = aug,
  pages = {151},
  author = {Sandip K. Biswas}
}
@inproceedings{bodei-al-99,
  author = {Chiara Bodei and Pierpaolo Degano and Flemming Nielson
                 and Hanne Riis Nielson},
  title = {Static Analysis of Processes for No Read-Up and No
                 Write-Down},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  month = mar,
  year = {1999},
  volume = {1578},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  pages = {120--134},
  url = {http://www.di.unipi.it/~chiara/publ-40/BDNN99.ps}
}
@article{boehm-adve-12,
  author = {Hans-J. Boehm and Sarita V. Adve},
  title = {You don't know jack about shared variables or memory
                 models},
  journal = {Communications of the {ACM}},
  volume = {55},
  number = {2},
  month = feb,
  year = {2012},
  pages = {48--54},
  url = {http://doi.acm.org/10.1145/2076450.2076465}
}
@inproceedings{bonniot-02,
  author = {Daniel Bonniot},
  title = {Type-checking multi-methods in {ML} (a modular
                 approach)},
  booktitle = {Foundations of Object-Oriented Languages (FOOL)},
  year = {2002},
  month = jan,
  url = {http://gallium.inria.fr/~bonniot/bonniot02.ps}
}
@phdthesis{boquist-99,
  author = {Urban Boquist},
  title = {Code Optimisation Techniques for Lazy Functional
                 Languages},
  school = {Chalmers University of Technology},
  year = {1999},
  month = apr,
  url = {http://www.cs.chalmers.se/~boquist/phd/phd.ps.gz}
}
@article{boreale-sangiorgi-98,
  author = {Michele Boreale and Davide Sangiorgi},
  title = {A fully abstract semantics for causality in the
                 $\pi$-calculus},
  journal = {Acta Informatica},
  volume = {35},
  number = {5},
  pages = {353--400},
  month = may,
  year = {1998},
  url = {http://link.springer.de/link/service/journals/00236/papers/8035005/80350353.pdf}
}
@inproceedings{borgstrom-chen-swamy-11,
  author = {Johannes Borgström and Juan Chen and and Nikhil
                 Swamy},
  title = {Verified Stateful Programs with Substructural State
                 and {Hoare} Types},
  booktitle = {Programming Languages Meets Program Verification
                 (PLPV)},
  year = {2011},
  month = jan,
  url = {http://research.microsoft.com/pubs/135430/plpv11k-borgstrom.pdf}
}
@inproceedings{bornat-00,
  author = {Richard Bornat},
  title = {Proving Pointer Programs in {Hoare} Logic},
  booktitle = {Mathematics of Program Construction (MPC)},
  year = {2000},
  pages = {102--126},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1837},
  url = {http://www.cs.mdx.ac.uk/staffpages/r_bornat/papers/MPC2000.pdf}
}
@inproceedings{bornat-permission-accounting-05,
  author = {Richard Bornat and Cristiano Calcagno and Peter
                 O'Hearn and Matthew Parkinson},
  title = {Permission accounting in separation logic},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2005},
  pages = {259--270},
  url = {http://www.dcs.qmul.ac.uk/~ohearn/papers/permissions_paper.pdf}
}
@unpublished{boudol-castellani-01,
  author = {Gérard Boudol and Ilaria Castellani},
  title = {Non-interference for concurrent programs and thread
                 systems},
  month = sep,
  year = {2001},
  note = {To appear},
  url = {ftp://ftp-sop.inria.fr/mimosa/personnel/gbo/non-interf-threads.ps.gz}
}
@article{boudol-stratified-regions,
  author = {Gérard Boudol},
  title = {Typing termination in a higher-order concurrent
                 imperative language},
  journal = {Information and Computation},
  year = {2009},
  note = {To appear},
  url = {ftp://ftp-sop.inria.fr/mimosa/personnel/gbo/ttiahocil.pdf}
}
@inproceedings{boulme-07,
  author = {Sylvain Boulmé},
  title = {Intuitionistic Refinement Calculus},
  booktitle = {Typed Lambda Calculi and Applications (TLCA)},
  month = jun,
  year = {2007},
  pages = {54--69},
  volume = {4583},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www-lsr.imag.fr/users/Sylvain.Boulme/horefinement/dsm.pdf}
}
@misc{bound,
  author = {Edward Kmett},
  title = {Bound},
  howpublished = {Blog post},
  month = nov,
  year = {2014},
  url = {https://www.fpcomplete.com/user/edwardk/bound}
}
@techreport{bourdoncle-merz-96,
  author = {François Bourdoncle and Stephan Merz},
  title = {On the integration of functional programming,
                 class-based object-oriented programming, and
                 multi-methods},
  institution = {Centre de Mathématiques Appliquées, Ecole des Mines de
                 Paris},
  year = {1996},
  type = {Research Report},
  number = {26},
  month = mar,
  url = {http://www.exalead.com/Francois.Bourdoncle/mlsub.html}
}
@inproceedings{bourdoncle-merz-97,
  author = {François Bourdoncle and Stephan Merz},
  title = {Type Checking Higher-Order Polymorphic Multi-Methods},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1997},
  month = jan,
  pages = {302--315},
  url = {http://www.exalead.com/Francois.Bourdoncle/popl97.html}
}
@inproceedings{boyapati-lee-rinard-02,
  author = {Chandrasekhar Boyapati and Robert Lee and Martin
                 Rinard},
  title = {Ownership types for safe programming: preventing data
                 races and deadlocks},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = nov,
  year = {2002},
  pages = {211--230},
  url = {http://doi.acm.org/10.1145/582419.582440}
}
@inproceedings{boyapati-liskov-shrira-03,
  author = {Chandrasekhar Boyapati and Barbara Liskov and Liuba
                 Shrira},
  title = {Ownership types for object encapsulation},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2003},
  pages = {213--223},
  url = {http://www.pmg.lcs.mit.edu/~chandra/publications/popl03.pdf}
}
@article{boyland-burying-01,
  author = {John Boyland},
  title = {Alias burying: Unique variables without destructive
                 reads},
  journal = {Science of Computer Programming},
  year = {2001},
  volume = {31},
  number = {6},
  month = may,
  pages = {533--553},
  url = {http://www.cs.uwm.edu/faculty/boyland/papers/unique-preprint.ps}
}
@inproceedings{boyland-fractions-03,
  author = {John Boyland},
  title = {Checking Interference with Fractional Permissions},
  booktitle = {Static Analysis Symposium (SAS)},
  month = jun,
  year = {2003},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {2694},
  pages = {55--72},
  url = {http://www.cs.uwm.edu/~boyland/papers/permissions.pdf}
}
@article{boyland-nesting-10,
  author = {John Tang Boyland},
  title = {Semantics of fractional permissions with nesting},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {32},
  number = {6},
  year = {2010},
  url = {http://www.cs.uwm.edu/~boyland/papers/frac-nesting.html}
}
@inproceedings{boyland-retert-05,
  author = {John Tang Boyland and William Retert},
  title = {Connecting Effects and Uniqueness with Adoption},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2005},
  pages = {283--295},
  url = {http://www.cs.uwm.edu/~boyland/papers/connecting2.pdf}
}
@inproceedings{bracha-cook-90,
  author = {Gilad Bracha and William Cook},
  title = {Mixin-based inheritance},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {303--311},
  year = {1990},
  url = {http://www.bracha.org/oopsla90.ps}
}
@techreport{bracha-lindstrom-91,
  author = {Gilad Bracha and Gary Lindstrom},
  title = {Modularity Meets Inheritance},
  institution = {University of Utah},
  year = {1991},
  number = {UUCS-91-017},
  month = oct,
  url = {http://www.bracha.org/modularity-meets-inheritance.ps}
}
@book{bradley-manna-07,
  author = {Aaron R. Bradley and Zohar Manna},
  title = {The Calculus of Computation},
  publisher = {Springer},
  year = {2007},
  url = {http://www.springerlink.com/content/wv0127/?p=77473ec707e949ae8856c880fe4e7649&pi=0}
}
@inproceedings{braibant-pous-11,
  author = {Thomas Braibant and Damien Pous},
  title = {Tactics for Reasoning Modulo {AC} in {Coq}},
  booktitle = {Certified Programs and Proofs},
  year = {2011},
  pages = {167--182},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {7086},
  url = {http://arxiv.org/abs/1106.4448}
}
@article{brandis-mossenbock-94,
  author = {Marc M. Brandis and Hanspeter Mössenböck},
  title = {Single-pass generation of static single-assignment
                 form for structured languages},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {16},
  number = {6},
  year = {1994},
  pages = {1684--1698},
  url = {ftp://ftp.ssw.uni-linz.ac.at/pub/Papers/Moe94.ps.gz}
}
@article{brandt-henglein-98,
  author = {Michael Brandt and Fritz Henglein},
  year = {1998},
  title = {Coinductive axiomatization of recursive type equality
                 and subtyping},
  journal = {Fundamenta Informaticæ},
  pages = {309--338},
  volume = {33},
  url = {ftp://ftp.diku.dk/diku/semantics/papers/D-353.ps.gz}
}
@article{breazu-tannen-91,
  author = {Val Breazu-Tannen and Thierry Coquand and Carl A.
                 Gunter and Andre Scedrov},
  title = {Inheritance as Implicit Coercion},
  journal = {Information and Computation},
  year = {1991},
  volume = {93},
  number = {1},
  pages = {172--221},
  month = jul,
  url = {http://seclab.uiuc.edu/cgunter/publications/documents/Breazu-TannenCGS91.pdf}
}
@inproceedings{brookes-04,
  author = {Stephen D. Brookes},
  title = {A Semantics for Concurrent Separation Logic},
  booktitle = {International Conference on Concurrency Theory
                 (CONCUR)},
  month = aug,
  year = {2004},
  pages = {16--34},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3170},
  url = {http://dx.doi.org/10.1007/978-3-540-28644-8_2}
}
@inproceedings{brotherston-cyclic-11,
  author = {James Brotherston and Dino Distefano and Rasmus
                 Lerchedahl Petersen},
  title = {Automated Cyclic Entailment Proofs in Separation
                 Logic},
  booktitle = {International Conference on Automated Deduction
                 (CADE)},
  month = jul,
  year = {2011},
  pages = {131--146},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6803},
  url = {http://www.eecs.qmul.ac.uk/~rusmus/articles/Cyclic.pdf}
}
@techreport{bruce-alii-binary-methods,
  key = {Bruce, {\em et al.}},
  author = {Kim Bruce and Luca Cardelli and Giuseppe Castagna and
                 The Hopkins Object Group and Gary T. Leavens and
                 Benjamin Pierce},
  title = {On Binary Methods},
  year = {1995},
  month = dec,
  institution = {Department of Computer Science, Iowa State
                 University},
  number = {95-08a},
  url = {ftp://ftp.cs.iastate.edu/pub/techreports/TR95-08/TR.ps.Z}
}
@article{bruce-cardelli-pierce-99,
  author = {Kim B. Bruce and Luca Cardelli and Benjamin C.
                 Pierce},
  title = {Comparing Object Encodings},
  journal = {Information and Computation},
  year = {1999},
  month = nov,
  volume = {155},
  number = {1/2},
  pages = {108--133},
  url = {http://www.cis.upenn.edu/~bcpierce/papers/compobj.ps}
}
@article{bruce-dicosmo-longo-92,
  author = {Kim Bruce and Roberto {Di Cosmo} and Giuseppe Longo},
  title = {Provable isomorphisms of types},
  journal = {Mathematical Structures in Computer Science},
  year = {1992},
  volume = {2},
  number = {2},
  pages = {231--247},
  url = {http://www.dicosmo.org/Articles/MSCS.dvi}
}
@inproceedings{bugliesi-crafa-dynamic-99,
  author = {Michele Bugliesi and Silvia Crafa},
  title = {Object Calculi for Dynamic Messages},
  booktitle = {Foundations of Object-Oriented Languages (FOOL)},
  year = {1999}
}
@article{bugliesi-pericas-02,
  author = {Michele Bugliesi and Santiago M.
                 Peric{\'a}s-Geertsen},
  title = {Type Inference for Variant Object Types},
  journal = {Information and Computation},
  year = {2002},
  volume = {177},
  number = {1},
  pages = {2--27},
  month = aug,
  url = {http://www.dsi.unive.it/~michele/Papers/PS/SplitTypes-ic02.ps.gz}
}
@article{buisse-11,
  author = {Alexandre Buisse and Lars Birkedal and Kristian
                 St{\o}vring},
  title = {A Step-Indexed {Kripke} Model of Separation Logic for
                 Storable Locks},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {276},
  month = sep,
  year = {2011},
  pages = {121--143},
  url = {http://www.itu.dk/~birkedal/papers/locks.pdf}
}
@article{buneman-ohori-96,
  author = {Peter Buneman and Atsushi Ohori},
  title = {Polymorphism and Type Inference in Database
                 Programming},
  journal = {ACM Transactions on Database Systems},
  year = {1996},
  volume = {21},
  number = {1},
  pages = {30--76},
  url = {http://www.jaist.ac.jp/~ohori/research/tods96.pdf}
}
@inproceedings{burstall-hope-80,
  author = {R. M. Burstall and D. B. MacQueen and D. T. Sannella},
  title = {{HOPE}: An experimental applicative language},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  year = {1980},
  pages = {136--143},
  url = {http://portal.acm.org/citation.cfm?id=802799}
}
@article{cai-paige-89,
  author = {Jiazhen Cai and Robert Paige},
  title = {Program derivation by fixed point computation},
  journal = {Science of Computer Programming},
  volume = {11},
  number = {3},
  year = {1989},
  pages = {197--261},
  url = {http://cs.nyu.edu/paige/papers/fixpoint.ps}
}
@inproceedings{caires-seco-13,
  author = {Lu\'{\i}s Caires and Jo{\~a}o Costa Seco},
  title = {The type discipline of behavioral separation},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2013},
  pages = {275--286},
  url = {http://dx.doi.org/10.1145/2429069.2429103}
}
@article{calcagno-02,
  author = {Cristiano Calcagno and Simon Helsen and Peter
                 Thiemann},
  title = {Syntactic Type Soundness Results for the Region
                 Calculus},
  journal = {Information and Computation},
  year = {2002},
  volume = {173},
  number = {2},
  pages = {199--221},
  url = {http://www.dcs.qmw.ac.uk/~ccris/ftp/iac_calhelthi.pdf}
}
@article{calcagno-closed-03,
  author = {Cristiano Calcagno and Eugenio Moggi and Tim Sheard},
  title = {Closed Types for a Safe Imperative {MetaML}},
  journal = {Journal of Functional Programming},
  year = {2003},
  volume = {13},
  number = {3},
  month = may,
  pages = {545--571},
  url = {http://dx.doi.org/10.1017/S0956796802004598}
}
@inproceedings{calcagno-distefano-ohearn-yang-09,
  author = {Cristiano Calcagno and Dino Distefano and Peter W.
                 O'Hearn and Hongseok Yang},
  title = {Compositional shape analysis by means of
                 bi-abduction},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2009},
  pages = {289--300},
  url = {http://www.doc.ic.ac.uk/~ccris/ftp/popl09.pdf}
}
@article{calcagno-distefano-ohearn-yang-11,
  author = {Cristiano Calcagno and Dino Distefano and Peter W.
                 O'Hearn and Hongseok Yang},
  title = {Compositional Shape Analysis by Means of
                 Bi-Abduction},
  journal = {Journal of the {ACM}},
  volume = {58},
  number = {6},
  year = {2011},
  url = {http://www.doc.ic.ac.uk/~ccris/ftp/jacm-abduction.pdf}
}
@inproceedings{calcagno-distefano-vafeiadis-09,
  author = {Cristiano Calcagno and Dino Distefano and Viktor
                 Vafeiadis},
  title = {Bi-abductive Resource Invariant Synthesis},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  month = dec,
  year = {2009},
  pages = {259--274},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5904},
  url = {http://www.eecs.qmul.ac.uk/~ddino/papers/resinvariant.pdf}
}
@inproceedings{calcagno-inference-04,
  author = {Cristiano Calcagno and Eugenio Moggi and Walid Taha},
  title = {{ML}-Like Inference for Classifiers},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2004},
  pages = {79--93},
  series = {Lecture Notes in Computer Science},
  volume = {2986},
  publisher = {Springer},
  url = {http://www.doc.ic.ac.uk/~ccris/ftp/esop04.pdf}
}
@inproceedings{calcagno-local-07,
  author = {Cristiano Calcagno and Peter W. O'Hearn and Hongseok
                 Yang},
  title = {Local Action and Abstract Separation Logic},
  booktitle = {Logic in Computer Science (LICS)},
  month = jul,
  year = {2007},
  pages = {366--378},
  url = {http://www.doc.ic.ac.uk/~ccris/ftp/asl-short.pdf}
}
@misc{caml-light,
  author = {Xavier Leroy and Damien Doligez and Michel Mauny and
                 Pierre Weis},
  title = {The {Caml} {Light} system, release 0.75},
  year = {2002},
  url = {http://caml.inria.fr/}
}
@incollection{cardelli-97,
  author = {Luca Cardelli},
  title = {Type Systems},
  booktitle = {The Computer Science and Engineering Handbook},
  publisher = {CRC Press},
  year = {1997},
  editor = {Allen B. Tucker},
  pages = {2208--2236},
  url = {http://research.microsoft.com/Users/luca/Papers/TypeSystems.pdf}
}
@article{cardelli-basic-87,
  author = {Luca Cardelli},
  title = {Basic polymorphic typechecking},
  journal = {Science of Computer Programming},
  year = {1987},
  volume = {8},
  number = {2},
  pages = {147--172},
  url = {http://research.microsoft.com/Users/luca/Papers/BasicTypechecking.pdf}
}
@techreport{cardelli-extensible-94,
  author = {Luca Cardelli and Florian Matthes and Martín Abadi},
  title = {Extensible syntax with lexical scoping},
  institution = {Digital Equipment Corporation, Systems Research
                 Center},
  year = {1994},
  type = {Research Report},
  number = {121},
  month = feb,
  url = {http://gatekeeper.dec.com/pub/compaq/SRC/research-reports/SRC-121.ps.gz}
}
@article{cardelli-longo-91,
  author = {Luca Cardelli and Giuseppe Longo},
  title = {A semantic basis for {Quest}},
  journal = {Journal of Functional Programming},
  year = {1991},
  volume = {1},
  number = {4},
  pages = {417--458},
  month = oct,
  url = {http://research.microsoft.com/Users/luca/Papers/QuestSem.pdf}
}
@incollection{cardelli-mitchell-records-91,
  author = {Luca Cardelli and John Mitchell},
  title = {Operations on Records},
  booktitle = {Theoretical Aspects Of Object-Oriented Programming:
                 Types, Semantics and Language Design},
  publisher = {MIT Press},
  editor = {Carl A. Gunter and John C. Mitchell},
  year = {1994},
  url = {http://research.microsoft.com/Users/luca/Papers/Records.pdf}
}
@article{cardelli-multiple-88,
  author = {Luca Cardelli},
  title = {A Semantics of Multiple Inheritance},
  journal = {Information and Computation},
  volume = {76},
  number = {2/3},
  month = feb,
  year = {1988},
  pages = {138--164},
  url = {http://research.microsoft.com/Users/luca/Papers/Inheritance.pdf}
}
@misc{cardelli-quest-91,
  author = {Luca Cardelli},
  title = {The {Quest} Language and System},
  year = {1991},
  url = {http://research.microsoft.com/Users/luca/Notes/QuestManual.pdf}
}
@inproceedings{cardelli-typeful-89,
  author = {Luca Cardelli},
  title = {Typeful programming},
  booktitle = {Formal Description of Programming Concepts},
  year = {1989},
  series = {IFIP State of the Art Reports Series},
  month = feb,
  publisher = {Springer},
  url = {http://research.microsoft.com/Users/luca/Papers/TypefulProg.pdf}
}
@article{cardelli-wegner-85,
  author = {Luca Cardelli and Peter Wegner},
  title = {On Understanding Types, Data Abstraction, and
                 Polymorphism},
  journal = {{ACM} Computing Surveys},
  volume = {17},
  number = {4},
  pages = {471--522},
  month = dec,
  year = {1985},
  url = {http://research.microsoft.com/Users/luca/Papers/OnUnderstanding.pdf}
}
@article{cardone-02,
  author = {Felice Cardone},
  title = {A coinductive completeness proof for the equivalence
                 of recursive types},
  journal = {Theoretical Computer Science},
  volume = {275},
  number = {1--2},
  year = {2002},
  pages = {575--587},
  url = {http://dx.doi.org/10.1016/S0304-3975(01)00298-5},
  publisher = {Elsevier Science}
}
@article{cardone-coppo-91,
  author = {Felice Cardone and Mario Coppo},
  title = {Type inference with recursive types: syntax and
                 semantics},
  journal = {Information and Computation},
  volume = {92},
  number = {1},
  year = {1991},
  pages = {48--80},
  url = {http://dx.doi.org/10.1016/0890-5401(91)90020-3}
}
@inproceedings{carette-finally-tagless-07,
  author = {Jacques Carette and Oleg Kiselyov and Chung-chieh
                 Shan},
  title = {Finally Tagless, Partially Evaluated},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  month = nov,
  year = {2007},
  pages = {222--238},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {4807},
  url = {http://okmij.org/ftp/papers/tagless-final-APLAS.pdf}
}
@article{carette-gauss-05,
  author = {Jacques Carette},
  title = {{Gaussian} Elimination: a case study in efficient
                 genericity with {MetaOCaml}},
  journal = {Science of Computer Programming},
  year = {2005},
  volume = {62},
  number = {1},
  pages = {3--24},
  month = sep,
  url = {http://www.cas.mcmaster.ca/~carette/publications/ge.pdf}
}
@inproceedings{carlier-04,
  author = {Sébastien Carlier and Jeff Polakow and J. B. Wells and
                 A. J. Kfoury},
  title = {{System E}: Expansion variables for flexible typing
                 with linear and non-linear types and intersection
                 types},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2004},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.macs.hw.ac.uk/~jbw/papers/Carlier+Polakow+Wells+Kfoury:System-E:ESOP-2004.pdf}
}
@techreport{carlier-wells-04,
  author = {Sébastien Carlier and J. B. Wells},
  title = {Type inference with expansion variables and
                 intersection types in {System E} and an exact
                 correspondence with $\beta$-reduction},
  institution = {Heriot-Watt University},
  year = {2004},
  number = {HW-MACS-TR-0012},
  month = jan,
  url = {http://www.macs.hw.ac.uk:8080/techreps/docs/files/HW-MACS-TR-0012.pdf}
}
@misc{cartwright-notes-00,
  author = {Robert Cartwright},
  title = {Notes on Object-Oriented Program Design},
  url = {http://www.cs.rice.edu/~cork/book/},
  month = jan,
  year = {2000}
}
@inproceedings{castagna-ampersand-93,
  author = {Giuseppe Castagna},
  title = {${F}_{\leq}^{\&}$ : integrating parametric and ``ad
                 hoc'' second order polymorphism},
  booktitle = {International Workshop on Database Programming
                 Languages},
  year = {1993},
  publisher = {Springer},
  series = {Workshops in Computing},
  month = sep
}
@article{castagna-contravariance-95,
  author = {Giuseppe Castagna},
  title = {Covariance and Contravariance: Conflict without a
                 Cause},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {17},
  number = {3},
  pages = {431--447},
  month = may,
  year = {1995},
  url = {ftp://ftp.ens.fr/pub/di/users/castagna/covariance.ps.Z}
}
@inproceedings{castagna-frisch-05,
  author = {Giuseppe Castagna and Alain Frisch},
  title = {A gentle introduction to semantic subtyping},
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  month = jul,
  year = {2005},
  pages = {198--199},
  url = {http://www.pps.univ-paris-diderot.fr/~gc/papers/icalp-ppdp05.pdf}
}
@inproceedings{cejtin-al-00,
  author = {Henry Cejtin and Suresh Jagannathan and Stephen
                 Weeks},
  title = {Flow-directed Closure Conversion for Typed Languages},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1782},
  pages = {56--71},
  month = mar,
  year = {2000},
  url = {http://mlton.org/papers/00-esop.ps.gz}
}
@techreport{chambers-leavens-96,
  author = {Craig Chambers and Gary T. Leavens},
  title = {{BeCecil}, a Core Object-Oriented Language with Block
                 Structure and Multimethods: Semantics and Typing},
  institution = {University of Washington},
  year = {1996},
  number = {UW-CSE-96-12-02},
  month = dec,
  url = {ftp://ftp.cs.washington.edu/pub/chambers/BeCecil.ps.gz}
}
@misc{chameleon,
  author = {Andreas Rossberg and Peter J. Stuckey and Martin
                 Sulzmann and Jeremy Wazny},
  title = {The {Chameleon} language},
  url = {http://taichi.ddns.comp.nus.edu.sg/taichiwiki/ChameleonHomePage}
}
@inproceedings{chang-rival-08,
  author = {Bor-Yuh Evan Chang and Xavier Rival},
  title = {Relational inductive shape analysis},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2008},
  pages = {247--260},
  url = {http://xisa.cs.colorado.edu/papers/popl08-relational.pdf}
}
@phdthesis{chargueraud-10,
  author = {Arthur Charguéraud},
  title = {Characteristic Formulae for Mechanized Program
                 Verification},
  school = {Université Paris 7},
  year = {2010},
  month = dec,
  url = {http://www.chargueraud.org/arthur/research/2010/thesis/}
}
@inproceedings{chargueraud-10-cfml,
  author = {Arthur Chargu{\'e}raud},
  title = {Program Verification Through Characteristic Formulae},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2010},
  month = sep,
  url = {http://arthur.chargueraud.org/research/2010/cfml/}
}
@article{chargueraud-ln-11,
  author = {Arthur Chargu{\'e}raud},
  title = {The Locally Nameless Representation},
  year = {2012},
  journal = {Journal of Automated Reasoning},
  volume = {49},
  number = {3},
  pages = {363--408},
  url = {http://www.chargueraud.org/arthur/research/2009/ln/main.pdf}
}
@inproceedings{chargueraud-pottier-08,
  author = {Arthur Charguéraud and François Pottier},
  title = {Functional Translation of a Calculus of Capabilities},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2008},
  pages = {213--224},
  url = {http://gallium.inria.fr/~fpottier/publis/chargueraud-pottier-capabilities.pdf}
}
@techreport{chen-al-99,
  author = {Martin Odersky and Christoph Zenger and Matthias
                 Zenger and Gang Chen},
  title = {A Functional View Of Join},
  institution = {University of South Australia},
  year = {1999},
  number = {ACRC-99-016},
  url = {http://www.christoph-zenger.de/papers/tr-acrc-99-016.ps.gz}
}
@inproceedings{chen-hudak-97,
  author = {Chih-Ping Chen and Paul Hudak},
  title = {Rolling your own mutable {ADT}---a connection between
                 linear types and monads},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1997},
  pages = {54--66},
  url = {http://www.cs.yale.edu/homes/hudak-paul/hudak-dir/popl97.ps}
}
@inproceedings{chen-shi-xi-04,
  author = {Chiyan Chen and Rui Shi and Hongwei Xi},
  title = {A Typeful Approach to Object-Oriented Programming with
                 Multiple Inheritance},
  booktitle = {Practical Aspects of Declarative Languages (PADL)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3057},
  year = {2004},
  month = jun,
  url = {http://www.cs.bu.edu/~hwxi/academic/papers/OBJwMI/OBJwMI.pdf}
}
@inproceedings{chen-tarditi-05,
  author = {Juan Chen and David Tarditi},
  title = {A simple typed intermediate language for
                 object-oriented languages},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2005},
  pages = {38--49},
  url = {http://research.microsoft.com/pubs/59934/lilc_popl05.pdf}
}
@inproceedings{chen-xi-05,
  author = {Chiyan Chen and Hongwei Xi},
  title = {Combining Programming with Theorem Proving},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2005},
  month = sep,
  pages = {66--77},
  url = {http://www.cs.bu.edu/~hwxi/academic/papers/icfp05.pdf}
}
@inproceedings{chen-xi-icfp-03,
  author = {Chiyan Chen and Hongwei Xi},
  title = {Meta-Programming through Typeful Code Representation},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2003},
  month = aug,
  pages = {275--286},
  url = {http://www.cs.bu.edu/~hwxi/academic/papers/icfp03.pdf}
}
@inproceedings{chen-xi-pepm-03,
  author = {Chiyan Chen and Hongwei Xi},
  title = {Implementing Typeful Program Transformations},
  booktitle = {{ACM} Workshop on Evaluation and Semantics-Based
                 Program Manipulation ({PEPM})},
  year = {2003},
  month = jun,
  pages = {20--28},
  url = {http://www.cs.bu.edu/~hwxi/academic/papers/pepm03.pdf}
}
@inproceedings{cheney-05,
  author = {James Cheney},
  title = {Scrap your nameplate},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2005},
  url = {http://homepages.inf.ed.ac.uk/jcheney/publications/cheney05icfp.pdf}
}
@inproceedings{cheney-hinze-02,
  author = {James Cheney and Ralf Hinze},
  title = {A lightweight implementation of generics and
                 dynamics},
  booktitle = {Haskell workshop},
  year = {2002},
  url = {http://www.cs.cornell.edu/people/jcheney/papers/Dynamic-final.pdf}
}
@techreport{cheney-hinze-03,
  author = {James Cheney and Ralf Hinze},
  title = {First-Class Phantom Types},
  institution = {Cornell University},
  year = {2003},
  number = {1901},
  url = {http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cis/TR2003-1901}
}
@inproceedings{cheney-urban-04,
  author = {James Cheney and Christian Urban},
  title = {{$\alpha$Prolog}: {A} Logic Programming Language with
                 Names, Binding and $\alpha$-equivalence},
  booktitle = {International Conference on Logic Programming (ICLP)},
  pages = {269--283},
  year = {2004},
  volume = {3132},
  series = {Lecture Notes in Computer Science},
  month = sep,
  publisher = {Springer},
  url = {http://www.cs.cornell.edu/people/jcheney/papers/alpnba.pdf}
}
@article{chin-khoo-01,
  author = {Wei-Ngan Chin and Siau-Cheng Khoo},
  title = {Calculating Sized Types},
  journal = {Higher-Order and Symbolic Computation},
  volume = {14},
  number = {2--3},
  month = sep,
  year = {2001},
  pages = {261--300},
  publisher = {Kluwer},
  url = {http://dx.doi.org/10.1023/A:1012996816178}
}
@inproceedings{chitil-01,
  author = {Olaf Chitil},
  title = {Compositional Explanation of Types and Algorithmic
                 Debugging of Type Errors},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {193--204},
  year = {2001},
  month = sep,
  url = {http://www-users.cs.york.ac.uk/~olaf/PUBLICATIONS/explainTypes.ps.gz}
}
@inproceedings{chlipala-07,
  author = {Adam Chlipala},
  title = {A certified type-preserving compiler from lambda
                 calculus to assembly language},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  month = jun,
  year = {2007},
  pages = {54--65},
  url = {http://www.cs.berkeley.edu/~adamc/papers/CtpcPLDI07/CtpcPLDI07.pdf}
}
@inproceedings{chlipala-08,
  author = {Adam Chlipala},
  title = {Parametric higher-order abstract syntax for mechanized
                 semantics},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2008},
  pages = {143--156},
  url = {http://adam.chlipala.net/papers/PhoasICFP08/PhoasICFP08.pdf}
}
@book{chlipala-cpdt-13,
  author = {Adam Chlipala},
  title = {Certified Programming and Dependent Types},
  publisher = {MIT Press},
  year = {2013},
  month = nov,
  url = {http://adam.chlipala.net/cpdt/}
}
@inproceedings{chlipala-ynot-09,
  author = {Adam Chlipala and Gregory Malecha and Greg Morrisett
                 and Avraham Shinnar and Ryan Wisnesky},
  title = {Effective interactive proofs for higher-order
                 imperative programs},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2009},
  pages = {79--90},
  url = {http://ynot.cs.harvard.edu/papers/icfp09.pdf}
}
@phdthesis{choppella-02,
  author = {Venkatesh Choppella},
  title = {Unification Source-tracking with Application to
                 Diagnosis of Type Inference},
  school = {Indiana University},
  year = {2002},
  month = aug,
  url = {http://www.cs.indiana.edu/cgi-bin/techreports/TRNNN.cgi?trnum=TR566}
}
@article{clarke-79,
  author = {Edmund Clarke},
  title = {Programming Language Constructs for Which It Is
                 Impossible To Obtain Good {Hoare} Axiom Systems},
  journal = {Journal of the {ACM}},
  volume = {26},
  number = {1},
  year = {1979},
  month = jan,
  pages = {129--147},
  url = {http://doi.acm.org/10.1145/322108.322121}
}
@inproceedings{clarke-drossopoulou-02,
  author = {Dave Clarke and Sophia Drossopoulou},
  title = {Ownership, encapsulation and the disjointness of type
                 and effect},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = nov,
  year = {2002},
  pages = {292--310},
  url = {http://pubs.doc.ic.ac.uk/ownershipAndEffects/ownershipAndEffects.ps}
}
@inproceedings{clarke-noble-potter-01,
  author = {David G. Clarke and James Noble and John Potter},
  title = {Simple Ownership Types for Object Containment},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  month = jun,
  year = {2001},
  pages = {53--76},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2072},
  url = {http://www.cs.washington.edu/education/courses/cse590p/00wi/simple.pdf}
}
@inproceedings{clarke-potter-noble-98,
  author = {David G. Clarke and John M. Potter and James Noble},
  title = {Ownership types for flexible alias protection},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = oct,
  year = {1998},
  pages = {48--64},
  url = {http://doi.acm.org/10.1145/286936.286947}
}
@incollection{clarke-survey-13,
  author = {Dave Clarke and Johan {\"O}stlund and Ilya Sergey and
                 Tobias Wrigstad},
  title = {Ownership Types: {A} Survey},
  booktitle = {Aliasing in Object-Oriented Programming},
  year = {2013},
  pages = {15--58},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {7850},
  url = {http://dx.doi.org/10.1007/978-3-642-36946-9_3}
}
@inproceedings{clarke-wrigstad-03,
  author = {Dave Clarke and Tobias Wrigstad},
  title = {External Uniqueness Is Unique Enough},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  month = jul,
  year = {2003},
  pages = {176--200},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2743},
  url = {https://lirias.kuleuven.be/bitstream/123456789/203436/1/euiue.pdf}
}
@inproceedings{cleaveland-steffen-91,
  author = {Rance Cleaveland and Bernhard Steffen},
  title = {A linear-time model-checking algorithm for the
                 alternation-free modal mu-calculus},
  booktitle = {Computer Aided Verification},
  pages = {48--58},
  year = {1991},
  volume = {575},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/3-540-55179-4_6}
}
@inproceedings{clement-despeyroux-kahn-86,
  author = {Dominique Cl{\'e}ment and Jo{\"e}lle Despeyroux and
                 Thierry Despeyroux and Gilles Kahn},
  title = {A simple applicative language: Mini-{ML}},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  year = {1986},
  pages = {13--27}
}
@inproceedings{clements-felleisen-03,
  author = {John Clements and Matthias Felleisen},
  title = {A Tail-Recursive Semantics for Stack Inspections},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {22--37},
  year = {2003},
  volume = {2618},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://www.ccs.neu.edu/scheme/pubs/esop2003-cf.ps.gz}
}
@article{cohen-search-06,
  author = {Albert Cohen and Sébastien Donadio and Maria-Jesus
                 Garzaran and Christoph Herrmann and Oleg Kiselyov and
                 David Padua},
  title = {In search of a program generator to implement generic
                 transformations for high-performance computing},
  journal = {Science of Computer Programming},
  year = {2006},
  volume = {62},
  number = {1},
  pages = {25--46},
  month = sep,
  url = {http://www-rocq.inria.fr/~acohen/publications/CDGHKP06.ps.gz}
}
@inproceedings{cohen-vcc-09,
  author = {Ernie Cohen and Markus Dahlweid and Mark A. Hillebrand
                 and Dirk Leinenbach and Michal Moskal and Thomas Santen
                 and Wolfram Schulte and Stephan Tobies},
  title = {{VCC}: {A} Practical System for Verifying Concurrent
                 {C}},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  year = {2009},
  pages = {23--42},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5674},
  url = {http://research.microsoft.com/apps/pubs/default.aspx?id=117859}
}
@inproceedings{colazzo-ghelli-99,
  author = {Dario Colazzo and Giorgio Ghelli},
  title = {Subtyping Recursive Types in {Kernel Fun}},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {137--146},
  year = {1999},
  month = jul
}
@techreport{collins-shao-02,
  author = {Gregory D. Collins and Zhong Shao},
  title = {Intensional Analysis of Higher-Kinded Recursive
                 Types},
  institution = {Yale University},
  year = {2002},
  number = {YALEU/DCS/TR-1240},
  url = {http://flint.cs.yale.edu/flint/publications/collins02-ita-tr.pdf}
}
@inproceedings{colmerauer-84,
  author = {Alain Colmerauer},
  title = {Equations and Inequations on Finite and Infinite
                 Trees},
  booktitle = {International Conference on Fifth Generation Computer
                 Systems (FGCS)},
  pages = {85--99},
  month = nov,
  year = {1984}
}
@article{color,
  author = {Frédéric Blanqui and Adam Koprowski},
  title = {{CoLoR}: a Coq library on well-founded rewrite
                 relations and its application to the automated
                 verification of termination certificates},
  journal = {Mathematical Structures in Computer Science},
  year = {2011},
  volume = {21},
  number = {4},
  pages = {827--859},
  month = aug,
  url = {https://who.rocq.inria.fr/Frederic.Blanqui/papers/mscs11.pdf}
}
@inproceedings{comon-93,
  author = {Hubert Comon},
  title = {Constraints in Term Algebras (Short Survey)},
  booktitle = {International Conference on Algebraic Methodology and
                 Software Technology (AMAST)},
  year = {1993},
  publisher = {Springer},
  series = {Workshops in Computing},
  url = {http://www.lsv.ens-cachan.fr/~comon/ftp.articles/amast93.ps}
}
@article{comon-lescanne-89,
  author = {Hubert Comon and Pierre Lescanne},
  title = {Equational Problems and Disunification},
  journal = {Journal of Symbolic Computation},
  year = {1989},
  volume = {7},
  pages = {371--425},
  url = {http://perso.ens-lyon.fr/pierre.lescanne/PUBLICATIONS/jsc-diseq.pdf}
}
@book{conchon-filliatre-ocaml-14,
  author = {Sylvain Conchon et Jean-Christophe Filliâtre},
  title = {Apprendre à programmer avec {OCaml}: Algorithmes et
                 structures de données},
  publisher = {Eyrolles},
  year = {2014},
  url = {http://programmer-avec-ocaml.lri.fr/}
}
@inproceedings{conchon-kanig-lescuyer-08,
  author = {Sylvain Conchon and Johannes Kanig and Stéphane
                 Lescuyer},
  title = {\textsc{Sat-Micro}: petit mais costaud!},
  booktitle = {Journées Françaises des Langages Applicatifs},
  year = {2008},
  month = jan,
  url = {http://www.lri.fr/~conchon/publis/conchon-jfla08.ps}
}
@inproceedings{conchon-le-fessant-99,
  title = {Jocaml: Mobile Agents for {Objective-Caml}},
  author = {Sylvain Conchon and Fabrice Le Fessant},
  booktitle = {International Symposium on Agent Systems and
                 Applications and International Symposium on Mobile
                 Agents (ASA/MA)},
  year = {1999},
  month = oct,
  pages = {22--29},
  url = {http://para.inria.fr/~conchon/publis/conchon-lefessant-asama99.ps.gz}
}
@inproceedings{conchon-pottier-01,
  author = {Sylvain Conchon and François Pottier},
  title = {{JOIN(X)}: Constraint-Based Type Inference for the
                 Join-Calculus},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2028},
  pages = {221--236},
  month = apr,
  year = {2001},
  url = {http://gallium.inria.fr/~fpottier/publis/conchon-fpottier-esop01.ps.gz}
}
@techreport{considine-00,
  author = {Jeffrey Considine},
  title = {Efficient Hash-Consing of Recursive Types},
  institution = {Boston University},
  year = {2000},
  number = {2000-006},
  month = jan,
  url = {http://www.cs.bu.edu/techreports/pdf/2000-006-hashconsing-recursive-types.pdf}
}
@inproceedings{cook-09,
  author = {William R. Cook},
  title = {On understanding data abstraction, revisited},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = oct,
  year = {2009},
  pages = {557--572},
  url = {http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf}
}
@inproceedings{cook-71,
  author = {Stephen A. Cook},
  title = {The Complexity of Theorem-Proving Procedures},
  booktitle = {ACM Symposium on Theory of Computing},
  month = may,
  year = {1971},
  pages = {151--158},
  url = {http://doi.acm.org/10.1145/800157.805047}
}
@techreport{cooper-harvey-kennedy-04,
  author = {Keith D. Cooper and Timothy J. Harvey and Ken
                 Kennedy},
  title = {Iterative Data-flow Analysis, Revisited},
  institution = {Rice University},
  year = {2004},
  number = {TR04-432},
  month = mar,
  url = {http://www.cs.rice.edu/~harv/my_papers/worklist.pdf}
}
@article{coppo-dezani-80,
  author = {Mario Coppo and Mariangiola Dezani-Ciancaglini},
  title = {An extension of the basic functionality theory for the
                 $\lambda$-calculus},
  journal = {Notre Dame J. Formal Logic},
  year = {1980},
  volume = {21},
  number = {4},
  pages = {685--693}
}
@manual{coq,
  author = {{The {Coq} development team}},
  title = {The {Coq} Proof Assistant},
  year = {2006},
  url = {http://coq.inria.fr/}
}
@inproceedings{coquand-86,
  author = {Thierry Coquand},
  title = {An analysis of {Girard}'s paradox},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {227--236},
  month = jun,
  year = {1986},
  url = {http://hal.inria.fr/docs/00/07/60/23/PDF/RR-0531.pdf}
}
@book{cormen-en,
  author = {Thomas H. Cormen and Charles E. Leiserson and Ronald
                 L. Rivest and Clifford Stein},
  title = {Introduction to Algorithms (Third Edition)},
  publisher = {MIT Press},
  year = {2009},
  url = {http://mitpress.mit.edu/catalog/item/
                 default.asp?ttype=2&tid=11866}
}
@book{cormen-fr,
  author = {Thomas H. Cormen and Charles E. Leiserson and Ronald
                 L. Rivest and Clifford Stein},
  title = {Algorithmique (Troisième Édition)},
  publisher = {Dunod},
  year = {2010},
  series = {Sciences Sup},
  url = {http://www.dunod.com/informatique-multimedia/fondements-de-linformatique/algorithmique/algorithmique},
  note = {Traduction française}
}
@article{courcelle-fundamental-trees,
  title = {Fundamental Properties of Infinite Trees},
  author = {Bruno Courcelle},
  pages = {95--169},
  journal = {Theoretical Computer Science},
  year = {1983},
  month = mar,
  volume = {25},
  number = {2}
}
@incollection{cousot-90,
  author = {Patrick Cousot},
  title = {Methods and Logics for Proving Programs},
  booktitle = {Formal Models and Semantics},
  series = {Handbook of Theoretical Computer Science},
  publisher = {Elsevier Science},
  year = {1990},
  pages = {841--993},
  volume = {B},
  chapter = {15},
  url = {http://www.di.ens.fr/~cousot/publications.www/Cousot-HTCS-vB-FMS-c15-p843--993-1990.pdf.gz}
}
@inproceedings{cousot-cousot-77,
  author = {Patrick Cousot and Radhia Cousot},
  title = {Abstract interpretation: a unified lattice model for
                 static analysis of programs by construction or
                 approximation of fixpoints},
  pages = {238--252},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1977},
  url = {http://www.di.ens.fr/~cousot/publications.www/CousotCousot-POPL-77-ACM-p238--252-1977.pdf}
}
@article{cousot-cousot-constructive-79,
  author = {Patrick Cousot and Radhia Cousot},
  title = {Constructive Versions of {Tarski}'s Fixed Point
                 Theorems},
  journal = {Pacific Journal of Mathematics},
  volume = {81},
  number = {1},
  pages = {43--57},
  year = {1979},
  url = {http://www.di.ens.fr/~cousot/publications.www/CousotCousot-PacJMath-82-1-1979.pdf}
}
@inproceedings{cousot-gentle-09,
  author = {Patrick Cousot and Radhia Cousot},
  title = {A gentle introduction to formal verification of
                 computer systems by abstract interpretation},
  booktitle = {Logics and Languages for Reliability and Security},
  series = {{NATO} Science Series {III}: Computer and Systems
                 Sciences},
  editor = {J.~Esparza and O.~Grumberg and M.~Broy},
  publisher = {IOS Press},
  year = {2010},
  pages = {1--29},
  url = {http://www.di.ens.fr/~cousot/COUSOTpapers/MARKTOBERDORF-09.shtml}
}
@inproceedings{cousot-sba-95,
  author = {Patrick Cousot and Radhia Cousot},
  title = {Formal Language, Grammar and Set-Constraint-Based
                 Program Analysis by Abstract Interpretation},
  pages = {170--181},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  publisher = {ACM Press},
  year = {1995}
}
@inproceedings{crank-felleisen-91,
  author = {Erik Crank and Matthias Felleisen},
  title = {Parameter-Passing and the Lambda Calculus},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {233--244},
  year = {1991},
  month = jan,
  url = {http://www.ccs.neu.edu/scheme/pubs/popl91-cf.ps.gz}
}
@techreport{crary-99,
  author = {Karl Crary},
  title = {Simple, Efficient Object Encoding using Intersection
                 Types},
  institution = {Carnegie Mellon University},
  year = {1999},
  number = {CMU-CS-99-100},
  url = {http://www-2.cs.cmu.edu/~crary/papers/1999/orei/orei.ps.gz}
}
@inproceedings{crary-cc-99,
  author = {Karl Crary and David Walker and Greg Morrisett},
  title = {Typed Memory Management in a Calculus of
                 Capabilities},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {262--275},
  year = {1999},
  month = jan,
  url = {http://www.cs.cornell.edu/talc/papers/capabilities.pdf}
}
@article{crary-intensional-02,
  author = {Karl Crary and Stephanie Weirich and Greg Morrisett},
  title = {Intensional Polymorphism in Type Erasure Semantics},
  journal = {Journal of Functional Programming},
  month = nov,
  year = {2002},
  volume = {12},
  number = {6},
  pages = {567--600},
  url = {http://www-2.cs.cmu.edu/~crary/papers/2002/typepass/typepass.ps}
}
@inproceedings{crary-intensional-98,
  author = {Karl Crary and Stephanie Weirich and Greg Morrisett},
  title = {Intensional Polymorphism in Type-Erasure Semantics},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {301--313},
  year = {1998},
  month = sep,
  url = {http://www.cis.upenn.edu/~sweirich/papers/typepass/typepass.ps}
}
@phdthesis{crary-phd-98,
  author = {Karl Crary},
  title = {Type-Theoretic Methodology for Practical Programming
                 Languages},
  school = {Cornell University},
  year = {1998},
  month = aug,
  url = {http://www.cs.cmu.edu/~crary/papers/1998/thesis/thesis.ps.gz}
}
@inproceedings{crary-weirich-00,
  author = {Karl Crary and Stephanie Weirich},
  title = {Resource bound certification},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2000},
  pages = {184--198},
  url = {http://www.cs.cornell.edu/talc/papers/resource_bound/res.pdf}
}
@inproceedings{crary-weirich-99,
  author = {Karl Crary and Stephanie Weirich},
  title = {Flexible Type Analysis},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {233--248},
  year = {1999},
  url = {http://www-2.cs.cmu.edu/~crary/papers/1999/lx/lx.ps.gz}
}
@phdthesis{cretin-14,
  author = {Julien Cretin},
  title = {Erasable coercions: a unified approach to type
                 systems},
  school = {Université Paris Diderot},
  year = {2014},
  month = jan,
  url = {http://tel.archives-ouvertes.fr/tel-00940511}
}
@inproceedings{cretin-remy-12,
  author = {Julien Cretin and Didier R{\'e}my},
  title = {On the power of coercion abstraction},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2012},
  pages = {361--372},
  url = {http://gallium.inria.fr/~remy/coercions/Cretin-Remy:coercions@popl2012.pdf}
}
@phdthesis{curtis-90,
  author = {Pavel Curtis},
  title = {Constrained Quantification in Polymorphic Type
                 Analysis},
  school = {Cornell University},
  year = {1990},
  month = feb,
  url = {http://www.parc.xerox.com/company/history/publications/bw-ps-gz/csl90-1.ps.gz}
}
@inproceedings{cyclone-regions-02,
  author = {Dan Grossman and Greg Morrisett and Trevor Jim and
                 Michael Hicks and Yanling Wang and James Cheney},
  title = {Region-Based Memory Management in {Cyclone}},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {282--293},
  year = {2002},
  month = jun,
  url = {http://www.cs.cornell.edu/projects/cyclone/papers/cyclone-regions.pdf}
}
@inproceedings{dafny,
  author = {K. Rustan M. Leino},
  title = {{Dafny}: An Automatic Program Verifier for Functional
                 Correctness},
  booktitle = {Logic for Programming Artificial Intelligence and
                 Reasoning (LPAR)},
  pages = {348--370},
  year = {2010},
  volume = {6355},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://research.microsoft.com/en-us/um/people/leino/papers/krml203.pdf}
}
@phdthesis{damas-85,
  author = {Luis Damas},
  title = {Type Assignment in Programming Languages},
  school = {University of Edinburgh},
  year = {1985}
}
@inproceedings{damas-milner-82,
  author = {Luis Damas and Robin Milner},
  title = {Principal type-schemes for functional programs},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1982},
  pages = {207--212},
  url = {http://doi.acm.org/10.1145/582153.582176}
}
@inproceedings{damm-josko-83,
  author = {Werner Damm and Bernhard Josko},
  title = {A Sound and Relatively$^*$ Complete Axiomatization of
                 {Clarke's} Language {L4}},
  booktitle = {Logic of Programs},
  pages = {161--175},
  year = {1983},
  volume = {164},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/3-540-12896-4_362}
}
@inproceedings{danielsson-06,
  author = {Nils Anders Danielsson and John Hughes and Patrik
                 Jansson and Jeremy Gibbons},
  title = {Fast and loose reasoning is morally correct},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2006},
  pages = {206--217},
  url = {http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/fast+loose.pdf}
}
@inproceedings{danielsson-08,
  author = {Nils Anders Danielsson},
  title = {Lightweight Semiformal Time Complexity Analysis for
                 Purely Functional Data Structures},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2008},
  month = jan,
  url = {http://www.cs.chalmers.se/~nad/publications/danielsson-popl2008.pdf}
}
@inproceedings{danielsson-altenkirch-10,
  author = {Nils Anders Danielsson and Thorsten Altenkirch},
  title = {Subtyping, Declaratively},
  booktitle = {Mathematics of Program Construction (MPC)},
  month = jun,
  year = {2010},
  pages = {100--118},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6120},
  url = {http://www.cse.chalmers.se/~nad/publications/danielsson-altenkirch-subtyping.pdf}
}
@techreport{danvy-98,
  author = {Olivier Danvy},
  title = {Functional Unparsing},
  institution = {BRICS},
  year = {1998},
  number = {RS-98-12},
  month = may,
  url = {http://www.brics.dk/RS/98/12/}
}
@techreport{danvy-nielsen-01,
  author = {Olivier Danvy and Lasse R. Nielsen},
  title = {Defunctionalization at Work},
  month = jun,
  year = {2001},
  institution = {BRICS},
  number = {RS-01-23},
  url = {http://www.brics.dk/RS/01/23/}
}
@inproceedings{danvy-nielsen-ppdp-01,
  author = {Olivier Danvy and Lasse R. Nielsen},
  title = {Defunctionalization at Work},
  pages = {162--174},
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  year = {2001},
  month = sep,
  url = {http://doi.acm.org/10.1145/773184.773202}
}
@article{danvy-pearl-98,
  author = {Olivier Danvy},
  title = {Functional Unparsing},
  journal = {Journal of Functional Programming},
  year = {1998},
  volume = {8},
  number = {6},
  pages = {621--625},
  month = nov,
  url = {http://dx.doi.org/10.1017/S0956796898003104}
}
@phdthesis{dao-00,
  author = {Thi Bich Hanh Dao},
  title = {{R}ésolution de contraintes du premier ordre dans la
                 théorie des arbres finis ou infinis},
  school = {Université de la Méditerranée},
  year = {2000},
  month = dec,
  url = {http://www.univ-orleans.fr/SCIENCES/LIFO/Members/dao/papers/ts4dec.ps.gz}
}
@techreport{davies-05,
  author = {Rowan Davies},
  title = {Practical Refinement-Type Checking},
  institution = {School of Computer Science, Carnegie Mellon
                 University},
  year = {2005},
  number = {CMU-CS-05-110},
  month = may,
  url = {http://reports-archive.adm.cs.cmu.edu/anon/2005/CMU-CS-05-110.pdf}
}
@inproceedings{davies-pfenning-00,
  author = {Rowan Davies and Frank Pfenning},
  title = {Intersection types and computational effects},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2000},
  pages = {198--208},
  url = {http://www.cs.cmu.edu/~fp/papers/icfp00.pdf}
}
@article{davis-logemann-loveland-62,
  author = {Martin Davis and George Logemann and Donald Loveland},
  title = {A machine program for theorem-proving},
  journal = {Communications of the {ACM}},
  volume = {5},
  number = {7},
  year = {1962},
  pages = {394--397},
  url = {http://doi.acm.org/10.1145/368273.368557}
}
@article{davis-putnam-60,
  author = {Martin Davis and Hilary Putnam},
  title = {A Computing Procedure for Quantification Theory},
  journal = {Journal of the {ACM}},
  volume = {7},
  number = {3},
  year = {1960},
  pages = {201--215},
  url = {http://doi.acm.org/10.1145/321033.321034}
}
@article{de-bruijn-72,
  author = {Nicolaas G. de Bruijn},
  title = {Lambda-Calculus Notation with Nameless Dummies: a Tool
                 for Automatic Formula Manipulation with Application to
                 the {Church-Rosser} Theorem},
  journal = {Indag. Math.},
  volume = {34},
  number = {5},
  year = {1972},
  pages = {381--392}
}
@inproceedings{delaware-3mt-13,
  author = {Benjamin Delaware and Steven Keuchel and Tom
                 Schrijvers and Bruno C. d. S. Oliveira},
  title = {Modular monadic meta-theory},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2013},
  pages = {319--330},
  url = {http://ropas.snu.ac.kr/~bruno/papers/3MT.pdf}
}
@inproceedings{delaware-mtc-13,
  author = {Benjamin Delaware and Bruno C. d. S. Oliveira and Tom
                 Schrijvers},
  title = {Meta-theory à La Carte},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2013},
  pages = {207--218},
  url = {http://people.csail.mit.edu/bendy/MTC/MTC.pdf}
}
@inproceedings{deline-faehndrich-01,
  author = {Robert DeLine and Manuel Fähndrich},
  title = {Enforcing High-Level Protocols in Low-Level Software},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {59--69},
  year = {2001},
  month = jun,
  url = {http://research.microsoft.com/apps/pubs/default.aspx?id=67457}
}
@inproceedings{deline-faehndrich-04,
  author = {Robert DeLine and Manuel Fähndrich},
  title = {Typestates for objects},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  pages = {465--490},
  year = {2004},
  volume = {3086},
  series = {Lecture Notes in Computer Science},
  month = jun,
  publisher = {Springer},
  url = {http://research.microsoft.com/apps/pubs/default.aspx?id=67463}
}
@techreport{deline-faehndrich-fugue-04,
  author = {Robert DeLine and Manuel Fähndrich},
  title = {The {Fugue} Protocol Checker: Is Your Software
                 Baroque?},
  institution = {Microsoft Research},
  year = {2004},
  number = {MSR-TR-2004-07},
  month = jan,
  url = {http://research.microsoft.com/apps/pubs/default.aspx?id=67458}
}
@inproceedings{delphin-08,
  author = {Adam Poswolsky and Carsten Schürmann},
  title = {Practical Programming with Higher-Order Encodings and
                 Dependent Types},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {93--107},
  year = {2008},
  volume = {4960},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {http://cs-www.cs.yale.edu/homes/delphin/files/delphinESOP08.pdf}
}
@article{delphin-09,
  author = {Adam Poswolsky and Carsten Schürmann},
  title = {System Description: {Delphin} -- {A} Functional
                 Programming Language for Deductive Systems},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {228},
  year = {2009},
  pages = {113--120},
  url = {http://www.itu.dk/~carsten/papers/lfmtp-08.pdf}
}
@article{dencker-84,
  author = {Peter Dencker and Karl Dürre and Johannes Heuft},
  title = {Optimization of parser tables for portable compilers},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {6},
  number = {4},
  year = {1984},
  pages = {546--572},
  url = {http://doi.acm.org/10.1145/1780.1802}
}
@article{denning-77,
  author = {Dorothy E. Denning and Peter J. Denning},
  title = {Certification of Programs for Secure Information
                 Flow},
  journal = {Communications of the {ACM}},
  volume = {20},
  number = {7},
  pages = {504--513},
  month = jul,
  year = {1977}
}
@book{denning-82,
  author = {Dorothy E. Denning},
  title = {Cryptography and Data Security},
  publisher = {Addison-Wesley},
  year = {1982}
}
@inproceedings{dennis-sat-06,
  author = {Greg Dennis and Felix Change and Daniel Jackson},
  title = {Modular Verification of Code with {SAT}},
  booktitle = {International Symposium on Software Testing and
                 Analysis (ISSTA)},
  year = {2006},
  month = jul,
  url = {http://sdg.csail.mit.edu/pubs/2006/dennis_modular.pdf}
}
@article{deremer-pennello-82,
  author = {Frank DeRemer and Thomas Pennello},
  title = {Efficient Computation of ${LALR}(1)$ Look-Ahead Sets},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {4},
  number = {4},
  year = {1982},
  pages = {615--649},
  url = {http://doi.acm.org/10.1145/69622.357187}
}
@article{deremer-slr-71,
  author = {Franklin L. DeRemer},
  title = {Simple ${LR}(k)$ grammars},
  journal = {Communications of the {ACM}},
  year = {1971},
  volume = {14},
  number = {7},
  pages = {453--460},
  url = {http://dx.doi.org/10.1145/362619.362625}
}
@techreport{detlefs-98,
  author = {David L. Detlefs and K. Rustan M. Leino and Greg
                 Nelson and James B. Saxe},
  title = {Extended static checking},
  institution = {Compaq SRC},
  year = {1998},
  type = {Research Report},
  number = {159},
  month = dec,
  url = {ftp://gatekeeper.research.compaq.com/pub/DEC/SRC/research-reports/SRC-159.pdf}
}
@techreport{detlefs-wrestling-98,
  author = {David L. Detlefs and K. Rustan M. Leino and Greg
                 Nelson},
  title = {Wrestling with rep exposure},
  institution = {SRC},
  year = {1998},
  type = {Research Report},
  number = {156},
  month = jul,
  url = {http://www.hpl.hp.com/techreports/Compaq-DEC/SRC-RR-156.pdf}
}
@book{dicosmo-95,
  author = {Roberto {Di Cosmo}},
  title = {Isomorphisms of types: from $\lambda$-calculus to
                 information retrieval and language design},
  series = {Progress in Theoretical Computer Science},
  publisher = {Birkhauser},
  year = {1995},
  url = {http://www.pps.jussieu.fr/~dicosmo/Publications/ISObook.html}
}
@article{dicosmo-jfp-93,
  author = {Roberto {Di Cosmo}},
  title = {Deciding Type isomorphisms in a type assignment
                 framework},
  journal = {Journal of Functional Programming},
  year = {1993},
  volume = {3},
  number = {3},
  pages = {485--525},
  url = {http://www.dicosmo.org/Articles/JFP94.dvi}
}
@article{dietl-drossopoulou-mueller-11,
  author = {Werner Dietl and Sophia Drossopoulou and Peter
                 M{\"u}ller},
  title = {Separating ownership topology and encapsulation with
                 generic universe types},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {33},
  number = {6},
  year = {2011},
  pages = {20},
  url = {http://pm.inf.ethz.ch/publications/getpdf.php?bibname=Own&id=DietlDrossopoulouMueller11.pdf}
}
@article{dietl-mueller-05,
  author = {Werner Dietl and M{\"u}ller Peter},
  title = {Universes: Lightweight Ownership for {JML}},
  journal = {Journal of Object Technology},
  year = {2005},
  volume = {4},
  number = {8},
  pages = {5--32},
  url = {http://www.jot.fm/issues/issue_2005_10/article1.pdf}
}
@article{dijkstra-59,
  author = {E. W. Dijkstra},
  title = {A Note on Two Problems in Connection with Graphs},
  journal = {Numerische Mathematik},
  year = {1959},
  volume = {1},
  pages = {269--271}
}
@article{dijkstra-75,
  author = {Edsger W. Dijkstra},
  title = {Guarded commands, nondeterminacy and formal derivation
                 of programs},
  journal = {Communications of the ACM},
  volume = {18},
  number = {8},
  year = {1975},
  pages = {453--457},
  url = {http://doi.acm.org/10.1145/360933.360975}
}
@phdthesis{dimock-02,
  author = {Allyn Dimock},
  title = {Type- and Flow-Directed Compilation for Specialized
                 Data Representations},
  school = {Harvard University},
  year = {2002},
  month = jan,
  url = {http://www.cs.uml.edu/~dimock/thesis.ps.gz}
}
@inproceedings{dimock-al-01,
  author = {Allyn Dimock and Ian Westmacott and Robert Muller and
                 Franklyn Turbak and J. B. Wells},
  title = {Functioning without closure: type-safe customized
                 function representations for {Standard ML}},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2001},
  month = sep,
  url = {http://puma.wellesley.edu/~fturbak/pubs/icfp01.ps}
}
@inproceedings{dinsdale-young-views-13,
  author = {Thomas Dinsdale-Young and Lars Birkedal and Philippa
                 Gardner and Matthew J. Parkinson and Hongseok Yang},
  title = {Views: compositional reasoning for concurrent
                 programs},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2013},
  pages = {287--300},
  url = {http://cs.au.dk/~birke/papers/views.pdf}
}
@inproceedings{dinsdaleyoung-cap-10,
  author = {Thomas Dinsdale-Young and Mike Dodds and Philippa
                 Gardner and Matthew J. Parkinson and Viktor Vafeiadis},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  publisher = {Springer},
  title = {Concurrent Abstract Predicates},
  series = {Lecture Notes in Computer Science},
  volume = {6183},
  year = {2010},
  pages = {504--528},
  url = {http://www.cl.cam.ac.uk/~md466/publications/ECOOP.10.concurrent_abstract_predicates.pdf}
}
@techreport{dinsdaleyoung-cap-tr-10,
  author = {Thomas Dinsdale-Young and Mike Dodds and Philippa
                 Gardner and Matthew Parkinson and Viktor Vafeiadis},
  title = {Concurrent Abstract Predicates},
  institution = {University of Cambridge, Computer Laboratory},
  month = apr,
  year = {2010},
  url = {http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-777.pdf}
}
@inproceedings{distefano-parkinson-2008,
  author = {Dino Distefano and Matthew J. Parkinson},
  title = {{jStar}: towards practical verification for {Java}},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = oct,
  year = {2008},
  pages = {213--226},
  url = {http://www.cl.cam.ac.uk/~mjp41/frp39distefano.pdf}
}
@inproceedings{dockins-algebras-09,
  author = {Robert Dockins and Aquinas Hobor and Andrew W. Appel},
  title = {A Fresh Look at Separation Algebras and Share
                 Accounting},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  month = dec,
  year = {2009},
  pages = {161--177},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5904},
  url = {http://www.cs.princeton.edu/~appel/papers/fresh-sa.pdf}
}
@inproceedings{dodds-11,
  author = {Mike Dodds and Suresh Jagannathan and Matthew J.
                 Parkinson},
  title = {Modular reasoning for deterministic parallelism},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2011},
  pages = {259--270},
  url = {http://www.cl.cam.ac.uk/~md466/publications/POPL.11.deterministic_parallelism.pdf}
}
@inproceedings{dodds-deny-guarantee-09,
  author = {Mike Dodds and Xinyu Feng and Matthew J. Parkinson and
                 Viktor Vafeiadis},
  title = {Deny-Guarantee Reasoning},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {2009},
  pages = {363--377},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5502},
  url = {http://ttic.uchicago.edu/~feng/research/publications/DG.pdf}
}
@inproceedings{donnelly-xi-05,
  author = {Kevin Donnelly and Hongwei Xi},
  title = {Combining higher-order abstract syntax with
                 first-order abstract syntax in {ATS}},
  booktitle = {ACM Workshop on Mechanized Reasoning about Languages
                 with Variable Binding},
  year = {2005},
  pages = {58--63},
  url = {http://www.cs.bu.edu/~hwxi/academic/papers/merlin05.pdf}
}
@article{dornic-92,
  author = {Vincent Dornic and Pierre Jouvelot and David K.
                 Gifford},
  title = {Polymorphic time systems for estimating program
                 complexity},
  journal = {ACM Letters on Programming Languages and Systems},
  volume = {1},
  number = {1},
  year = {1992},
  pages = {33--45},
  url = {https://eprints.kfupm.edu.sa/58299/1/58299.pdf}
}
@incollection{dowek-01,
  author = {Gilles Dowek},
  title = {Higher-order unification and matching},
  booktitle = {Handbook of Automated Reasoning},
  pages = {1009--1062},
  publisher = {Elsevier Science},
  year = {2001},
  editor = {J. Alan Robinson and Andrei Voronkov},
  url = {http://www.lix.polytechnique.fr/~dowek/Publi/unification.ps}
}
@techreport{dowek-al-95,
  author = {Gilles Dowek and Thérèse Hardin and Claude Kirchner},
  title = {Higher Order Unification via Explicit Substitutions},
  institution = {INRIA},
  number = {2709},
  year = {1995},
  month = nov,
  pages = {42},
  type = {Research Report},
  url = {http://www.inria.fr/rrrt/rr-2709.html}
}
@techreport{dowek-al-98,
  author = {Gilles Dowek and Thérèse Hardin and Claude Kirchner
                 and Frank Pfenning},
  title = {Unification via Explicit Substitutions: the Case of
                 Higher-Order Patterns},
  institution = {INRIA},
  number = {3591},
  year = {1998},
  month = dec,
  pages = {33},
  type = {Research Report},
  url = {http://www.inria.fr/rrrt/rr-3591.html}
}
@article{dowling-gallier-84,
  author = {William F. Dowling and Jean H. Gallier},
  title = {Linear-Time Algorithms for Testing the Satisfiability
                 of Propositional {Horn} Formulae},
  journal = {Journal of Logic Programming},
  volume = {1},
  number = {3},
  year = {1984},
  pages = {267--284}
}
@article{downey-sethi-tarjan-80,
  author = {Peter J. Downey and Ravi Sethi and Robert Endre
                 Tarjan},
  title = {Variations on the Common Subexpression Problem},
  journal = {Journal of the {ACM}},
  year = {1980},
  volume = {27},
  number = {4},
  pages = {758--771},
  month = oct,
  url = {http://doi.acm.org/10.1145/322217.322228}
}
@inproceedings{dreyer-neis-birkedal-10,
  author = {Derek Dreyer and Georg Neis and Lars Birkedal},
  title = {The impact of higher-order state and control effects
                 on local relational reasoning},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {143--156},
  year = {2010},
  month = sep,
  url = {http://www.itu.dk/~birkedal/papers/stslr-conf.pdf}
}
@inproceedings{dubois-menissier-97,
  author = {Catherine Dubois and Valérie Ménissier-Morain},
  title = {Typage de {ML}: Spécification et preuve en {Coq}},
  booktitle = {Actes du GDR Programmation},
  year = {1997},
  month = nov,
  url = {http://www.irisa.fr/lande/ridoux/GDR_annexe/dubois.ps.gz}
}
@article{dubois-menissier-99,
  author = {Catherine Dubois and Valérie Ménissier-Morain},
  title = {Certification of a Type Inference Tool for {ML}:
                 {Damas-Milner} within {Coq}},
  journal = {Journal of Automated Reasoning},
  year = {1999},
  volume = {23},
  number = {3--4},
  pages = {319--346},
  month = nov,
  url = {http://www.ensiie.fr/~dubois/jar_final.pdf}
}
@article{duggan-bent-96,
  author = {Dominic Duggan and Frederick Bent},
  title = {Explaining type inference},
  journal = {Science of Computer Programming},
  year = {1996},
  volume = {27},
  number = {1},
  month = jun
}
@inproceedings{dussart-henglein-mossin-95,
  author = {Dirk Dussart and Fritz Henglein and Christian Mossin},
  year = {1995},
  title = {Polymorphic Recursion and Subtype Qualifications:
                 Polymorphic Binding-Time Analysis in Polynomial Time},
  booktitle = {Static Analysis Symposium (SAS)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {983},
  pages = {118--135},
  month = sep,
  url = {ftp://ftp.diku.dk/diku/semantics/papers/D-243.dvi.gz}
}
@article{dybvig-93,
  author = {Kent Dybvig and Robert Hieb and Carl Bruggeman},
  title = {Syntactic abstraction in {Scheme}},
  journal = {Lisp and Symbolic Computation},
  year = {1993},
  volume = {5},
  number = {4},
  pages = {295--326},
  url = {http://www.cs.indiana.edu/~dyb/pubs/LaSC-5-4-pp295-326.pdf}
}
@inproceedings{eifrig-smith-trifonov-94,
  author = {Jonathan Eifrig and Scott Smith and Valery Trifonov},
  title = {Type Inference for Recursively Constrained Types and
                 its Application to {OOP}},
  booktitle = {Mathematical Foundations of Programming Semantics},
  series = {Electronic Notes in Theoretical Computer Science},
  publisher = {Elsevier Science},
  volume = {1},
  year = {1995},
  url = {http://www.cs.jhu.edu/~scott/ftp/ooinfer.ps.gz}
}
@article{eifrig-smith-trifonov-95,
  author = {Jonathan Eifrig and Scott Smith and Valery Trifonov},
  title = {Sound polymorphic type inference for objects},
  journal = {{ACM} {SIGPLAN} Notices},
  volume = {30},
  number = {10},
  year = {1995},
  pages = {169--184},
  url = {http://www.cs.jhu.edu/~scott/ftp/sptio.ps.gz}
}
@techreport{elphin-04,
  author = {Carsten Schürmann and Adam Poswolsky and Jeffrey
                 Sarnat},
  title = {The $\nabla$-Calculus: Functional programming with
                 higher-order encodings},
  institution = {Yale University},
  number = {YALEU/DCS/TR-1272},
  month = nov,
  year = {2004},
  url = {http://www.cs.yale.edu/~delphin/files/nablaTR.pdf}
}
@inproceedings{elphin-05,
  author = {Carsten Schürmann and Adam Poswolsky and Jeffrey
                 Sarnat},
  title = {The $\nabla$-Calculus: Functional programming with
                 higher-order encodings},
  booktitle = {Typed Lambda Calculi and Applications (TLCA)},
  pages = {339--353},
  year = {2005},
  volume = {3461},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://www.itu.dk/~carsten/papers/nabla.pdf}
}
@inproceedings{emerson-lei-86,
  author = {E. Allen Emerson and Chin-Laung Lei},
  title = {Efficient Model Checking in Fragments of the
                 Propositional Mu-Calculus},
  booktitle = {Logic in Computer Science (LICS)},
  month = jun,
  year = {1986},
  pages = {267--278}
}
@techreport{emms-leiss-96,
  author = {Martin Emms and Hans Lei{\ss}},
  title = {Extending the Type Checker for {SML} by Polymorphic
                 Recursion --- {A} Correctness Proof},
  institution = {Centrum f{\"{u}}r Informations- und
                 Sprachverarbeitung, Universit{\"{a}}t M{\"{u}}nchen},
  year = {1996},
  number = {96-101},
  url = {http://www.cis.uni-muenchen.de/~leiss/polyrec/polyrec.cisbericht.96-101.ps.gz}
}
@book{eopl,
  author = {Daniel P. Friedman and Mitchell Wand},
  title = {Essentials of Programming Languages, 3rd Edition},
  publisher = {MIT Press},
  year = {2008},
  url = {http://www.eopl3.com/}
}
@unpublished{epigram-05,
  author = {Thorsten Altenkirch and Conor McBride and James
                 McKinna},
  title = {Why Dependent Types Matter},
  note = {Unpublished},
  month = apr,
  year = {2005},
  url = {http://www.e-pig.org/downloads/ydtm.pdf}
}
@misc{ergo,
  author = {Sylvain Conchon and Evelyne Contejean},
  title = {The {Alt-Ergo} Automatic Theorem Prover},
  note = {\url{http://alt-ergo.lri.fr/}},
  year = {2011},
  url = {http://alt-ergo.lri.fr/}
}
@inproceedings{erlingsson-schneider-00,
  author = {{\'U}lfar Erlingsson and Fred B. Schneider},
  title = {{IRM} Enforcement of {Java} Stack Inspection},
  booktitle = {{IEEE} Symposium on Security and Privacy (S\&P)},
  year = {2000},
  month = may,
  pages = {246--255},
  url = {http://csdl.computer.org/comp/proceedings/sp/2000/0665/00/06650246abs.htm}
}
@inproceedings{erlingsson-schneider-99,
  author = {{\'U}lfar Erlingsson and Fred B. Schneider},
  title = {{SASI} Enforcement of Security Policies: a
                 Retrospective},
  booktitle = {New Security Paradigms Workshop},
  pages = {87--95},
  year = {1999},
  month = sep,
  url = {http://www.cs.cornell.edu/fbs/publications/sasiNSPW.ps}
}
@misc{f7,
  author = {Karthik Bhargavan and Cédric Fournet and Andy Gordon
                 and Sergio Maffeis and Jesper Bengtson},
  title = {The {F7} Typechecker},
  note = {\url{http://research.microsoft.com/en-us/projects/f7/}},
  year = {2011},
  url = {http://research.microsoft.com/en-us/projects/f7/}
}
@inproceedings{faehndrich-al-00,
  author = {Manuel Fähndrich and Jakob Rehof and Manuvir Das},
  title = {Scalable Context-Sensitive Flow Analysis Using
                 Instantiation Constraints},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  year = {2000},
  month = jun,
  url = {http://research.microsoft.com/pubs/67468/pldi00.ps}
}
@inproceedings{faehndrich-cycles-98,
  author = {Manuel Fähndrich and Jeffrey S. Foster and Zhendong Su
                 and Alexander S. Aiken},
  title = {Partial Online Cycle Elimination in Inclusion
                 Constraint Graphs},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  month = jun,
  year = {1998},
  pages = {85--96},
  url = {http://research.microsoft.com/pubs/67475/pldi98.pdf}
}
@inproceedings{faehndrich-deline-02,
  author = {Manuel Fähndrich and Robert DeLine},
  title = {Adoption and focus: practical linear types for
                 imperative programming},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  month = jun,
  year = {2002},
  pages = {13--24},
  url = {http://research.microsoft.com/pubs/67459/pldi02.pdf}
}
@inproceedings{faehndrich-leino-03,
  author = {Manuel Fähndrich and Rustan Leino},
  title = {Heap Monotonic Typestates},
  booktitle = {International Workshop on Alias Confinement and
                 Ownership (IWACO)},
  year = {2003},
  month = jul,
  url = {http://research.microsoft.com/en-us/um/people/leino/papers/krml123.pdf}
}
@phdthesis{faehndrich-phd-99,
  school = {University of California at Berkeley},
  title = {Bane: {A} Library for Scalable Constraint-Based
                 Program Analysis},
  year = {1999},
  author = {Manuel Fähndrich},
  url = {http://research.microsoft.com/pubs/67479/thesis-compact.pdf}
}
@inproceedings{faehndrich-singularity-06,
  author = {Manuel Fähndrich and Mark Aiken and Chris Hawblitzel
                 and Orion Hodson and Galen Hunt and James R. Larus and
                 Steven Levi},
  title = {Language support for fast and reliable message-based
                 communication in {Singularity OS}},
  booktitle = {EuroSys},
  year = {2006},
  pages = {177--190},
  url = {http://www.cs.kuleuven.ac.be/conference/EuroSys2006/papers/p177-fahndrich.pdf}
}
@article{faxen-02,
  author = {Karl-Filip Fax\'{e}n},
  title = {A Static Semantics for {Haskell}},
  pages = {295--357},
  year = {2002},
  month = jul,
  journal = {Journal of Functional Programming},
  volume = {12},
  number = {4--5},
  url = {http://www.it.kth.se/~kff/semantics.ps.gz}
}
@article{fecht-seidl-99,
  author = {Christian Fecht and Helmut Seidl},
  title = {A Faster Solver for General Systems of Equations},
  journal = {Science of Computer Programming},
  year = {1999},
  volume = {35},
  number = {2--3},
  pages = {137--162},
  url = {http://www2.in.tum.de/~seidl/papers/final-solver.ps.gz}
}
@inproceedings{felleisen-flanagan-componential-97,
  author = {Cormac Flanagan and Matthias Felleisen},
  title = {Componential Set-Based Analysis},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  year = {1997},
  pages = {235--248},
  url = {http://www.cs.rice.edu/CS/PLT/Publications/Scheme/pldi97-ff.ps.gz}
}
@techreport{felleisen-flanagan-theory-practice-96,
  number = {TR96-266},
  institution = {Rice University},
  title = {Modular and Polymorphic Set-Based Analysis: Theory and
                 Practice},
  year = {1996},
  month = nov,
  pages = {48},
  author = {Cormac Flanagan and Matthias Felleisen},
  url = {http://www.cs.rice.edu/CS/PLT/Publications/Scheme/tr96-266.ps.gz}
}
@phdthesis{fenton-73,
  school = {University of Cambridge},
  title = {Information Protection Systems},
  year = {1973},
  author = {J. S. Fenton}
}
@article{fenton-74,
  author = {J. S. Fenton},
  title = {Memoryless Subsystems},
  journal = {Computer Journal},
  volume = {17},
  number = {2},
  pages = {143--147},
  month = may,
  year = {1974}
}
@article{fftw-05,
  author = {Matteo Frigo and Steven G. Johnson},
  title = {The Design and Implementation of {FFTW3}},
  journal = {Proceedings of the IEEE},
  year = {2005},
  volume = {93},
  number = {2},
  pages = {216--231},
  url = {http://www.fftw.org/fftw-paper-ieee.pdf}
}
@inproceedings{field-teitelbaum-90,
  author = {John Field and Tim Teitelbaum},
  title = {Incremental Reduction in the Lambda Calculus},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  year = {1990},
  pages = {307--322}
}
@inproceedings{filinski-99,
  author = {Andrzej Filinski},
  title = {Representing Layered Monads},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1999},
  month = jan,
  pages = {175--188},
  url = {http://www.diku.dk/~andrzej/papers/RLM.ps.gz}
}
@article{filliatre-00,
  author = {Jean-Christophe Filliâtre},
  title = {Verification of Non-Functional Programs using
                 Interpretations in Type Theory},
  journal = {Journal of Functional Programming},
  volume = {13},
  number = {4},
  pages = {709--745},
  month = jul,
  year = {2003},
  url = {http://www.lri.fr/~filliatr/ftp/publis/jphd.ps.gz}
}
@inproceedings{filliatre-06,
  author = {Jean-Christophe Filli\^atre},
  title = {Backtracking iterators},
  booktitle = {ACM Workshop on ML},
  month = sep,
  year = {2006},
  pages = {55--62},
  url = {http://www.lri.fr/~filliatr/publis/enum2.ps.gz}
}
@article{filliatre-find-06,
  author = {Jean-Christophe Filliâtre},
  title = {Formal Proof of a Program: {Find}},
  journal = {Science of Computer Programming},
  year = {2006},
  volume = {64},
  pages = {332--240},
  url = {http://www.lri.fr/~filliatr/ftp/publis/find.ps.gz}
}
@inproceedings{filliatre-letouzey-04,
  author = {Jean-Christophe Filliâtre and Pierre Letouzey},
  title = {Functors for Proofs and Programs},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {370--384},
  year = {2004},
  volume = {2986},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {http://www.lri.fr/~filliatr/ftp/publis/fpp.ps.gz}
}
@inproceedings{filliatre-marche-04,
  author = {Jean-Christophe Filliâtre and Claude Marché},
  title = {Multi-Prover Verification of {C} Programs},
  booktitle = {International Conference on Formal Engineering Methods
                 (ICFEM)},
  year = {2004},
  month = nov,
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3308},
  pages = {15--29},
  url = {http://www.lri.fr/~filliatr/ftp/publis/caduceus.ps.gz}
}
@inproceedings{findler-felleisen-02,
  author = {Robert Bruce Findler and Matthias Felleisen},
  title = {Contracts for higher-order functions},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = oct,
  year = {2002},
  pages = {48--59},
  url = {http://people.cs.uchicago.edu/~robby/pubs/papers/ho-contracts-icfp2002.pdf}
}
@article{fischbach-hannan-02,
  author = {Adam Fischbach and John Hannan},
  title = {Specification and Correctness of Lambda Lifting},
  journal = {Journal of Functional Programming},
  year = {2003},
  volume = {13},
  number = {3},
  month = may,
  pages = {509--543},
  url = {http://dx.doi.org/10.1017/S0956796802004604}
}
@article{fisher-mitchell-98,
  author = {Kathleen Fisher and John C. Mitchell},
  title = {On the Relationship between Classes, Objects and Data
                 Abstraction},
  journal = {Theory and Practice of Object Systems},
  year = {1998},
  volume = {4},
  number = {1},
  pages = {3--25},
  url = {http://www.research.att.com/~kfisher/files/tapos98.ps}
}
@inproceedings{flanagan-abadi-99,
  author = {Cormac Flanagan and Mart\'{\i}n Abadi},
  title = {Types for Safe Locking},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {1999},
  pages = {91--108},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1576},
  url = {http://users.soe.ucsc.edu/~cormac/papers/esop99.pdf}
}
@inproceedings{flanagan-al-93,
  author = {Cormac Flanagan and Amr Sabry and Bruce F. Duba and
                 Matthias Felleisen},
  title = {The Essence of Compiling with Continuations},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  year = {1993},
  pages = {237--247},
  url = {http://www.cs.rice.edu/CS/PLT/Publications/Scheme/pldi93-fsdf.ps.gz}
}
@inproceedings{flanagan-al-96,
  author = {Cormac Flanagan and Matthew Flatt and Shriram
                 Krishnamurthi and Stephanie Weirich and Matthias
                 Felleisen},
  year = {1996},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  title = {Catching Bugs in the Web of Program Invariants},
  url = {http://www.cs.rice.edu/CS/PLT/Publications/Scheme/pldi96-ffkwf.ps.gz}
}
@phdthesis{flanagan-effective-97,
  school = {Rice University},
  title = {Effective Static Debugging via Componential Set-Based
                 Analysis},
  year = {1997},
  month = may,
  pages = {164},
  author = {Cormac Flanagan},
  url = {http://www.cs.rice.edu/CS/PLT/Publications/Scheme/thesis-flanagan.ps.gz}
}
@inproceedings{flanagan-esc-02,
  author = {Cormac Flanagan and K. Rustan M. Leino and Mark
                 Lillibridge and Greg Nelson and James B. Saxe and
                 Raymie Stata},
  title = {Extended Static Checking for {Java}},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {234--245},
  year = {2002},
  url = {http://www.soe.ucsc.edu/~cormac/papers/pldi02.ps}
}
@inproceedings{flanagan-saxe-01,
  author = {Cormac Flanagan and James B. Saxe},
  title = {Avoiding exponential explosion: generating compact
                 verification conditions},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2001},
  pages = {193--205},
  url = {http://www.soe.ucsc.edu/~cormac/papers/popl01.ps}
}
@inproceedings{floyd-67,
  author = {R. W. Floyd},
  title = {Assigning meanings to programs},
  booktitle = {Mathematical Aspects of Computer Science},
  series = {Proceedings of Symposia in Applied Mathematics},
  volume = {19},
  year = {1967},
  organization = {American Mathematical Society},
  pages = {19--32}
}
@inproceedings{fluet-02,
  author = {Matthew Fluet and Riccardo Pucella},
  title = {Phantom types and subtyping},
  booktitle = {IFIP International Conference on Theoretical Computer
                 Science (TCS)},
  pages = {448--460},
  year = {2002},
  month = aug,
  url = {http://arXiv.org/abs/cs.PL/0403034}
}
@inproceedings{fluet-al-06,
  author = {Matthew Fluet and Greg Morrisett and Amal Ahmed},
  title = {Linear Regions Are All You Need},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {7--21},
  year = {2006},
  volume = {3924},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {http://ttic.uchicago.edu/~fluet/research/substruct-regions/ESOP06/esop06.pdf}
}
@phdthesis{fluet-phd-07,
  author = {Matthew Fluet},
  title = {Monadic and Substructural Type Systems for
                 Region-Based Memory Management},
  school = {Cornell University},
  year = {2007},
  month = jan,
  url = {http://ttic.uchicago.edu/~fluet/research/thesis/fluet-thesis.single.pdf}
}
@inproceedings{fluet-pucella-02,
  author = {Matthew Fluet and Riccardo Pucella},
  title = {Phantom Types and Subtyping},
  booktitle = {IFIP International Conference on Theoretical Computer
                 Science (TCS)},
  pages = {448--460},
  year = {2002},
  volume = {223},
  series = {IFIP Conference Proceedings},
  month = aug,
  publisher = {Kluwer},
  url = {http://www.cs.cornell.edu/people/fluet/phantom-subtyping/TCS02/tcs02.ps}
}
@inproceedings{fluet-pucella-05,
  author = {Matthew Fluet and Riccardo Pucella},
  title = {Practical Datatype Specializations with Phantom Types
                 and Recursion Schemes},
  booktitle = {ACM Workshop on ML},
  year = {2005},
  series = {Electronic Notes in Theoretical Computer Science},
  month = sep,
  url = {http://www.cs.cornell.edu/people/fluet/specializations/MLWRK05/mlwrk05.pdf}
}
@article{focardi-gorrieri-95,
  author = {Riccardo Focardi and Roberto Gorrieri},
  title = {A classification of security properties for process
                 algebras},
  journal = {Journal of Computer Security},
  volume = {3},
  number = {1},
  pages = {5--33},
  year = {1995},
  url = {http://www.cs.unibo.it/~gorrieri/Papers/jcsfinal.ps.gz}
}
@inproceedings{ford-02,
  author = {Bryan Ford},
  title = {Packrat parsing: simple, powerful, lazy, linear time},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = oct,
  year = {2002},
  pages = {36--47},
  url = {http://www.brynosaurus.com/pub/lang/packrat-icfp02.pdf}
}
@inproceedings{ford-04,
  author = {Bryan Ford},
  title = {Parsing expression grammars: a recognition-based
                 syntactic foundation},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2004},
  pages = {111--122},
  url = {http://pdos.csail.mit.edu/~baford/packrat/popl04/peg-popl04.pdf}
}
@techreport{foster-aiken-restrict-01,
  author = {Jeffrey S. Foster and Alex Aiken},
  institution = {University of California, Berkeley},
  title = {Checking Programmer-Specified Non-Aliasing},
  year = {2001},
  month = oct,
  number = {UCB//CSD-01-1160},
  url = {http://www.cs.umd.edu/~jfoster/papers/tr01-restrict.pdf}
}
@inproceedings{foster-flow-sensitive-qualifiers-02,
  author = {Jeffrey S. Foster and Tachio Terauchi and Alex Aiken},
  title = {Flow-Sensitive Type Qualifiers},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  month = jun,
  year = {2002},
  pages = {1--12},
  url = {http://www.cs.umd.edu/~jfoster/papers/pldi02.pdf}
}
@article{fournet-al-join-03,
  author = {Cédric Fournet and Cosimo Laneve and Luc Maranget and
                 Didier Rémy},
  journal = {Journal of Logic and Algebraic Programming},
  title = {Inheritance in the Join Calculus},
  volume = {57},
  number = {2},
  pages = {23--69},
  year = {2003},
  url = {http://gallium.inria.fr/~remy/work/ojoin/jojoin.pdf}
}
@inproceedings{fournet-al-join-97,
  author = {Cédric Fournet and Luc Maranget and Cosimo Laneve and
                 Didier Rémy},
  title = {Implicit typing à la {ML} for the join-calculus},
  booktitle = {International Conference on Concurrency Theory
                 (CONCUR)},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {1243},
  pages = {196--212},
  year = {1997},
  url = {http://gallium.inria.fr/~remy/ftp/typing-join.pdf}
}
@inproceedings{fournet-gonthier-96,
  author = {Cédric Fournet and Georges Gonthier},
  title = {The Reflexive Chemical Abstract Machine and the
                 Join-Calculus},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {372--385},
  year = {1996},
  url = {http://research.microsoft.com/~fournet/papers/reflexive-cham-join-calculus.ps}
}
@inproceedings{fournet-gordon-02,
  author = {Cédric Fournet and Andrew D. Gordon},
  title = {Stack Inspection: Theory and Variants},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {307--318},
  month = jan,
  year = {2002},
  url = {http://research.microsoft.com/~fournet/papers/stack-inspection-theory-and-variants-popl-02.ps}
}
@article{fournet-gordon-03,
  author = {Cédric Fournet and Andrew D. Gordon},
  title = {Stack Inspection: Theory and Variants},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {2003},
  volume = {25},
  number = {3},
  pages = {360--399},
  month = may,
  url = {http://doi.acm.org/10.1145/641909.641912}
}
@article{francalanza-rathke-sassone-2011,
  author = {Adrian Francalanza and Julian Rathke and Vladimiro
                 Sassone},
  title = {Permission-Based Separation Logic for Message-Passing
                 Concurrency},
  journal = {Logical Methods in Computer Science},
  volume = {7},
  number = {3},
  year = {2011},
  url = {http://arxiv.org/abs/1106.5128}
}
@article{fredman-tarjan-87,
  author = {Michael L. Fredman and Robert Endre Tarjan},
  title = {Fibonacci heaps and their uses in improved network
                 optimization algorithms},
  journal = {Journal of the {ACM}},
  volume = {34},
  number = {3},
  year = {1987},
  pages = {596--615},
  url = {http://doi.acm.org/10.1145/28869.28874}
}
@inproceedings{freeman-91,
  author = {Tim Freeman and Frank Pfenning},
  title = {Refinement types for {ML}},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {268--277},
  year = {1991},
  url = {http://www.cs.cmu.edu/~fp/papers/pldi91.pdf}
}
@techreport{fresh-ocaml,
  author = {Mark R. Shinwell and Andrew M. Pitts},
  month = feb,
  year = {2005},
  title = {{Fresh Objective Caml} user manual},
  institution = {University of Cambridge},
  number = {621},
  url = {http://www.cl.cam.ac.uk/TechReports/UCAM-CL-TR-621.pdf}
}
@phdthesis{frey-04,
  author = {Alexandre Frey},
  title = {Approche algébrique du typage d'un langage à la {ML}
                 avec objets, sous-typage et multi-méthodes},
  school = {École des Mines de Paris},
  year = {2004},
  month = jun,
  url = {http://pastel.rilk.com/archive/00000792/01/these-afrey.pdf},
  alturl = {http://these.afrey.free.fr/download/these-afrey.pdf}
}
@inproceedings{frey-97,
  author = {Alexandre Frey},
  title = {Satisfying Subtype Inequalities in Polynomial Space},
  booktitle = {Static Analysis Symposium (SAS)},
  series = {Lecture Notes in Computer Science},
  number = {1302},
  year = {1997},
  month = sep,
  pages = {265--277},
  publisher = {Springer},
  url = {http://citeseer.ist.psu.edu/frey97satisfying.html},
  alturl = {http://dx.doi.org/10.1016/S0304-3975(00)00314-5}
}
@inproceedings{frisch-castagna-benzaken-02,
  author = {Alain Frisch and Giuseppe Castagna and V{\'e}ronique
                 Benzaken},
  title = {Semantic Subtyping},
  booktitle = {Logic in Computer Science (LICS)},
  month = jul,
  year = {2002},
  pages = {137--146},
  url = {http://www.cduce.org/papers/lics02.ps.gz}
}
@article{frisch-castagna-benzaken-08,
  author = {Alain Frisch and Giuseppe Castagna and V{\'e}ronique
                 Benzaken},
  title = {Semantic subtyping: Dealing set-theoretically with
                 function, union, intersection, and negation types},
  journal = {Journal of the {ACM}},
  volume = {55},
  number = {4},
  year = {2008},
  url = {http://www.pps.univ-paris-diderot.fr/~gc/papers/semantic_subtyping.pdf}
}
@inproceedings{fstar,
  author = {Nikhil Swamy and Juan Chen and C{\'e}dric Fournet and
                 Pierre-Yves Strub and Karthik Bhargavan and Jean Yang},
  title = {Secure distributed programming with value-dependent
                 types},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2011},
  pages = {266--278},
  url = {http://research.microsoft.com/pubs/150012/icfp-camera-ready.pdf}
}
@inproceedings{fuh-mishra-88,
  author = {You-Chin Fuh and Prateek Mishra},
  title = {Type inference with subtypes},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {300},
  year = {1988},
  pages = {94--114},
  url = {http://dx.doi.org/10.1007/3-540-19027-9_7}
}
@inproceedings{fuh-mishra-gap-89,
  author = {You-Chin Fuh and Prateek Mishra},
  title = {Polymorphic Subtype Inference: Closing the
                 Theory-Practice Gap},
  pages = {167--183},
  booktitle = {Theory and Practice of Software Development
                 ({TAPSOFT})},
  month = mar,
  series = {Lecture Notes in Computer Science},
  volume = {352},
  publisher = {Springer},
  year = {1989},
  url = {http://dx.doi.org/10.1007/3-540-50940-2_35}
}
@inproceedings{furuse-03,
  author = {Jun Furuse},
  title = {Extensional Polymorphism by Flow Graph Dispatching},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2895},
  year = {2003},
  month = nov,
  url = {http://gallium.inria.fr/~furuse/publications/flowgraph.ps.gz}
}
@phdthesis{gabbay-01,
  author = {Murdoch J. Gabbay},
  title = {A Theory of Inductive Definitions with
                 $\alpha$-Equivalence},
  school = {Cambridge University},
  year = {2001},
  url = {http://www.macs.hw.ac.uk/~gabbay/papers/thesis.pdf}
}
@unpublished{gabbay-04,
  author = {Murdoch J. Gabbay},
  title = {A General Mathematics of Names in Syntax},
  month = mar,
  year = {2004},
  note = {Submitted for publication},
  url = {http://www.macs.hw.ac.uk/~gabbay/papers/genmns.pdf}
}
@article{gabbay-pitts-02,
  author = {Murdoch J. Gabbay and Andrew M. Pitts},
  title = {A New Approach to Abstract Syntax with Variable
                 Binding},
  journal = {Formal Aspects of Computing},
  year = {2002},
  volume = {13},
  number = {3--5},
  pages = {341--363},
  month = jul,
  url = {http://www.cl.cam.ac.uk/~amp12/papers/newaas/newaas-jv.pdf},
  alturl = {http://www.springerlink.com/link.asp?id=epn028x83rqw00qv}
}
@article{gapeyev-levin-pierce-00,
  author = {Vladimir Gapeyev and Michael Levin and Benjamin
                 Pierce},
  title = {Recursive Subtyping Revealed},
  journal = {Journal of Functional Programming},
  volume = {12},
  number = {6},
  pages = {511--548},
  month = nov,
  year = {2002},
  url = {http://dx.doi.org/10.1017/S0956796802004318}
}
@book{garey-johnson-79,
  author = {Michael R. Garey and David S. Johnson},
  title = {Computers and Intractability: {A} Guide to the Theory
                 of {NP}-Completeness},
  year = {1979},
  publisher = {W. H. Freeman and Company}
}
@inproceedings{garrigue-00,
  author = {Jacques Garrigue},
  title = {Code reuse through polymorphic variants},
  booktitle = {Workshop on Foundations of Software Engineering},
  year = {2000},
  month = nov,
  url = {http://www.math.nagoya-u.ac.jp/~garrigue/papers/variant-reuse.ps.gz}
}
@inproceedings{garrigue-02,
  author = {Jacques Garrigue},
  title = {Simple Type Inference for Structural Polymorphism},
  booktitle = {Foundations of Object-Oriented Languages (FOOL)},
  year = {2002},
  month = jan,
  url = {http://www.math.nagoya-u.ac.jp/~garrigue/papers/structural-inf.ps.gz}
}
@inproceedings{garrigue-98,
  author = {Jacques Garrigue},
  title = {Programming with polymorphic variants},
  booktitle = {ACM Workshop on ML},
  year = {1998},
  month = sep,
  url = {http://www.math.nagoya-u.ac.jp/~garrigue/papers/variants.ps.gz}
}
@techreport{garrigue-furuse-95,
  author = {Jun P. Furuse and Jacques Garrigue},
  title = {A label-selective lambda-calculus with optional
                 arguments and its compilation method},
  institution = {Kyoto University},
  year = {1995},
  type = {RIMS Preprint},
  number = {1041},
  month = oct,
  url = {http://wwwfun.kurims.kyoto-u.ac.jp/~garrigue/papers/rims-1041.pdf}
}
@inproceedings{garrigue-relax-04,
  author = {Jacques Garrigue},
  title = {Relaxing the Value Restriction},
  booktitle = {Functional and Logic Programming},
  pages = {196--213},
  year = {2004},
  volume = {2998},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://www.math.nagoya-u.ac.jp/~garrigue/papers/morepoly-long.pdf}
}
@article{garrigue-remy-99,
  author = {Jacques Garrigue and Didier R{\'e}my},
  title = {Extending {ML} with Semi-Explicit Higher-Order
                 Polymorphism},
  journal = {Information and Computation},
  year = {1999},
  volume = {155},
  number = {1},
  pages = {134--169},
  url = {http://gallium.inria.fr/~remy/ftp/iandc.pdf}
}
@inproceedings{garrigue-remy-gadts-13,
  author = {Jacques Garrigue and Didier R{\'e}my},
  title = {Ambivalent types for principal type inference with
                 {GADT}s},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  month = dec,
  year = {2013},
  url = {http://gallium.inria.fr/~remy/gadts/Garrigue-Remy:gadts@aplas2013.pdf}
}
@phdthesis{gaster-98,
  author = {Benedict R. Gaster},
  title = {Records, variants and qualified types},
  school = {University of Nottingham},
  month = jul,
  year = {1998},
  url = {http://www.cs.nott.ac.uk/Research/fop/gaster-thesis.ps}
}
@techreport{gaster-jones-96,
  author = {Benedict R. Gaster and Mark P. Jones},
  title = {A Polymorphic Type System for Extensible Records and
                 Variants},
  institution = {Department of Computer Science, University of
                 Nottingham},
  year = {1996},
  number = {NOTTCS-TR-96-3},
  month = nov,
  url = {http://web.cecs.pdx.edu/~mpj/pubs/polyrec.html}
}
@inproceedings{gauthier-pottier-04,
  author = {Nadji Gauthier and François Pottier},
  title = {Numbering Matters: First-Order Canonical Forms for
                 Second-Order Recursive Types},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  url = {http://gallium.inria.fr/~fpottier/publis/gauthier-fpottier-icfp04.pdf},
  month = sep,
  year = {2004},
  pages = {150--161}
}
@inproceedings{gay-modular-session-types-10,
  author = {Simon J. Gay and Vasco Thudichum Vasconcelos and
                 Ant{\'o}nio Ravara and Nils Gesbert and Alexandre Z.
                 Caldeira},
  title = {Modular session types for distributed object-oriented
                 programming},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2010},
  pages = {299--312},
  url = {http://www.dcs.gla.ac.uk/~simon/publications/ModularSessionTypes.pdf}
}
@inproceedings{german-clarke-halpern-83,
  author = {Steven German and Edmund Clarke and Joseph Halpern},
  title = {Reasoning About Procedures as Parameters},
  booktitle = {Logic of Programs},
  pages = {206--220},
  year = {1983},
  volume = {164},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/3-540-12896-4_365}
}
@techreport{geser-chaotic-94,
  author = {Alfons Geser and Jens Knoop and Gerald Lüttgen and
                 Oliver Rüthing and Bernhard Steffen},
  title = {Chaotic fixed point iterations},
  institution = {Fakultät für Mathematik und Informatik, Universität
                 Passau},
  year = {1994},
  type = {MIP-Bericht},
  number = {9403},
  url = {http://citeseer.ist.psu.edu/190778.html}
}
@manual{ghc,
  author = {The GHC team},
  title = {The {Glasgow Haskell} compiler},
  month = mar,
  year = {2005},
  url = {http://www.haskell.org/ghc/}
}
@article{ghelli-divergence-95,
  title = {Divergence of {$F_\leq$} type checking},
  author = {Giorgio Ghelli},
  journal = {Theoretical Computer Science},
  pages = {131--162},
  month = mar,
  year = {1995},
  volume = {139},
  number = {1--2},
  url = {ftp://ftp.di.unipi.it/pub/Papers/ghelli/DivergenceFsubTCS95.ps.gz}
}
@inproceedings{gherghina-structured-11,
  author = {Cristian Gherghina and Cristina David and Shengchao
                 Qin and Wei-Ngan Chin},
  title = {Structured Specifications for Better Verification of
                 Heap-Manipulating Programs},
  month = jun,
  year = {2011},
  pages = {386--401},
  booktitle = {Formal Methods (FM)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6664},
  url = {http://loris-7.ddns.comp.nus.edu.sg/~project/hip/publications/FM_2011_Case.pdf}
}
@techreport{gifford-fx-87,
  author = {David K. Gifford and Pierre Jouvelot and John M.
                 Lucassen and Mark A. Sheldon},
  title = {{FX-87} Reference Manual},
  institution = {Massachusetts Institute of Technology},
  year = {1987},
  number = {MIT/LCS/TR-407},
  month = jan
}
@techreport{gifford-fx-91,
  author = {David K. Gifford and Pierre Jouvelot and Mark A.
                 Sheldon and James W. O'Toole},
  title = {Report on the {FX-91} Programming Language},
  institution = {Massachusetts Institute of Technology},
  year = {1992},
  number = {MIT/LCS/TR-531},
  month = feb,
  url = {http://www.psrg.lcs.mit.edu/history/publications.html#fxps}
}
@phdthesis{girard-72,
  author = {Jean-Yves Girard},
  title = {Interprétation fonctionnelle et élimination des
                 coupures de l'arith\-mé\-ti\-que d'ordre supérieur},
  school = {Universit{\'e} Paris 7},
  type = {Th\`ese d'\'Etat},
  month = jun,
  year = {1972}
}
@article{girard-87,
  author = {Jean-Yves Girard},
  title = {Linear logic},
  journal = {Theoretical Computer Science},
  year = {1987},
  volume = {50},
  number = {1},
  pages = {1--102},
  url = {http://iml.univ-mrs.fr/~girard/linear.pdf}
}
@inproceedings{glew-00,
  author = {Neal Glew},
  title = {An Efficient Class and Object Encoding},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {311--324},
  year = {2000},
  month = oct,
  url = {http://glew.org/nglew/papers/oce-oopsla.ps.gz}
}
@inproceedings{glew-02,
  author = {Neal Glew},
  title = {A Theory of Second-Order Trees},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {147--161},
  year = {2002},
  volume = {2305},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://glew.org/nglew/papers/tsot-esop.pdf}
}
@inproceedings{glew-99,
  author = {Neal Glew},
  title = {Object Closure Conversion},
  booktitle = {Higher Order Operational Techniques in Semantics
                 (HOOTS)},
  year = {1999},
  series = {Electronic Notes in Theoretical Computer Science},
  volume = {26},
  pages = {52--68},
  month = sep,
  url = {http://glew.org/nglew/papers/occ-hoots.ps.gz}
}
@inproceedings{goerdt-85,
  author = {Andreas Goerdt},
  title = {A {Hoare} Calculus for Functions Defined by Recursion
                 on Higher Types},
  booktitle = {Logic of Programs},
  year = {1985},
  pages = {106--117},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {193},
  url = {http://dx.doi.org/10.1007/3-540-15648-8_9}
}
@inproceedings{goguen-meseguer-82,
  author = {Joseph Goguen and José Meseguer},
  title = {Security policies and security models},
  booktitle = {{IEEE} Symposium on Security and Privacy (S\&P)},
  month = apr,
  year = {1982},
  pages = {11--20}
}
@inproceedings{gong-97,
  author = {Li Gong and Marianne Mueller and Hemma Prafullchandra
                 and Roland Schemers},
  title = {Going Beyond the Sandbox: An Overview of the New
                 Security Architecture in the {Java Development Kit
                 1.2}},
  booktitle = {{USENIX} Symposium on Internet Technologies and
                 Systems},
  month = dec,
  year = {1997},
  pages = {103--112},
  url = {http://secinf.net/uplarticle/10/jdk12arch.ps}
}
@inproceedings{gong-schemers-98,
  author = {Li Gong and Roland Schemers},
  title = {Implementing Protection Domains in the {Java}
                 Development Kit 1.2},
  booktitle = {Internet Society Symposium on Network and Distributed
                 System Security},
  year = {1998},
  month = mar,
  url = {http://www.isoc.org/isoc/conferences/ndss/98/gong.pdf}
}
@inproceedings{gordon-12,
  author = {Colin S. Gordon and Matthew J. Parkinson and Jared
                 Parsons and Aleks Bromfield and Joe Duffy},
  title = {Uniqueness and reference immutability for safe
                 parallelism},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = oct,
  year = {2012},
  pages = {21--40},
  url = {http://homes.cs.washington.edu/~csgordon/papers/oopsla12.pdf}
}
@inproceedings{gordon-melham-96,
  author = {Andrew D. Gordon and Tom Melham},
  title = {Five Axioms of Alpha-Conversion},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  pages = {173--191},
  year = {1996},
  volume = {1125},
  series = {Lecture Notes in Computer Science},
  month = aug,
  publisher = {Springer},
  url = {http://www.ftp.cl.cam.ac.uk/ftp/papers/adg/hug96.ps.gz}
}
@inproceedings{gordon-noble-07,
  author = {Donald Gordon and James Noble},
  title = {Dynamic ownership in a dynamic language},
  booktitle = {Symposium on Dynamic Languages},
  year = {2007},
  pages = {41--52},
  url = {http://doi.acm.org/10.1145/1297081.1297090}
}
@techreport{gotsman-storable-07,
  author = {Alexey Gotsman and Josh Berdine and Byron Cook and
                 Noam Rinetzky and Mooly Sagiv},
  title = {Local Reasoning for Storable Locks and Threads},
  institution = {Microsoft Research},
  year = {2007},
  number = {MSR-TR-2007-39},
  month = sep,
  url = {http://research.microsoft.com/pubs/70427/tr-2007-39.pdf}
}
@inproceedings{goubault-dim-94,
  author = {Jean Goubault},
  title = {Inférence d'unités physiques en {ML}},
  booktitle = {Journées Françaises des Langages Applicatifs},
  pages = {3--20},
  year = {1994}
}
@article{grossman-06,
  author = {Dan Grossman},
  title = {Quantified Types in an Imperative Language},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {2006},
  volume = {28},
  number = {3},
  pages = {429--475},
  month = may,
  url = {http://www.cs.washington.edu/homes/djg/papers/qtil.pdf}
}
@book{grune-jacobs-08,
  author = {Dick Grune and Ceriel J. H. Jacobs},
  title = {Parsing techniques: a practical guide, second
                 edition},
  year = {2008},
  publisher = {Springer},
  series = {Monographs in computer science},
  url = {http://www.cs.vu.nl/~dick/PT2Ed.html}
}
@book{grune-jacobs-90,
  author = {Dick Grune and Ceriel J. H. Jacobs},
  title = {Parsing techniques: a practical guide},
  year = {1990},
  publisher = {Ellis Horwood},
  url = {http://www.cs.vu.nl/~dick/PTAPG.html}
}
@misc{gueneau-pottier-protzenko-13,
  author = {Armaël Guéneau and François Pottier and Jonathan
                 Protzenko},
  title = {The ins and outs of iteration in {Mezzo}},
  note = {\url{http://goo.gl/NrgKc4}},
  month = sep,
  year = {2013},
  howpublished = {Higher-Order Programming and Effects (HOPE)}
}
@inproceedings{guillemette-monnier-07,
  author = {Louis-Julien Guillemette and Stefan Monnier},
  title = {A Type-Preserving Closure Conversion in {Haskell}},
  booktitle = {Haskell workshop},
  pages = {83--92},
  year = {2007},
  month = sep,
  url = {http://www.iro.umontreal.ca/~monnier/tcm.pdf}
}
@inproceedings{guillemette-monnier-08,
  author = {Louis-Julien Guillemette and Stefan Monnier},
  title = {A Type-Preserving Compiler in {Haskell}},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2008},
  pages = {75--86},
  url = {http://www-etud.iro.umontreal.ca/~guillelj/icfp08.pdf}
}
@inproceedings{guillemette-vote-08,
  author = {Louis-Julien Guillemette and Stefan Monnier},
  title = {One Vote for Type Families in {Haskell}!},
  booktitle = {Trends in Functional Programming (TFP)},
  year = {2008},
  url = {http://www-etud.iro.umontreal.ca/~guillelj/tfp08.pdf}
}
@inproceedings{gundry-10,
  author = {Adam Gundry and Conor McBride and James McKinna},
  title = {Type inference in context},
  booktitle = {ACM SIGPLAN Workshop on Mathematically Structured
                 Functional Programming (MSFP)},
  pages = {43--54},
  year = {2010},
  month = sep,
  url = {https://personal.cis.strath.ac.uk/adam.gundry/type-inference/type-inference-final.pdf}
}
@phdthesis{gundry-13,
  author = {Adam Gundry},
  title = {Type Inference, {Haskell} and Dependent Types},
  school = {University of Strathclyde},
  year = {2013},
  url = {https://personal.cis.strath.ac.uk/adam.gundry/thesis/thesis-2013-12-03.pdf}
}
@inproceedings{gustavsson-svenningsson-01,
  author = {Jörgen Gustavsson and Josef Svenningsson},
  title = {Constraint Abstractions},
  booktitle = {Symposium on Programs as Data Objects},
  year = {2001},
  volume = {2053},
  series = {Lecture Notes in Computer Science},
  month = may,
  publisher = {Springer},
  url = {http://www.cse.chalmers.se/~josefs/publications/ca.pdf}
}
@inproceedings{guzman-suarez-94,
  author = {Juan Carlos Guzm{\'a}n and Asc{\'a}nder Su{\'a}rez},
  title = {An Extended Type System for Exceptions},
  booktitle = {ACM Workshop on ML and its Applications},
  series = {INRIA Research Reports},
  publisher = {INRIA},
  number = {2265},
  month = jun,
  year = {1994},
  pages = {127--135}
}
@inproceedings{haack-wells-03,
  author = {Christian Haack and J. B. Wells},
  title = {Type error slicing in implicitly typed, higher-order
                 languages},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2003},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {2618},
  url = {http://www.macs.hw.ac.uk/~jbw/papers/Haack+Wells:Type-Error-Slicing-in-Implicitly-Typed-Higher-Order-Languages:ESOP-2003.pdf}
}
@inproceedings{hall-94,
  author = {Cordelia Hall and Kevin Hammond and Simon {Peyton
                 Jones} and Philip Wadler},
  title = {Type classes in {Haskell}},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {241--256},
  year = {1994},
  volume = {788},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://research.microsoft.com/Users/simonpj/Papers/classhask.ps.gz}
}
@article{hall-96,
  author = {Cordelia Hall and Kevin Hammond and Simon {Peyton
                 Jones} and Philip Wadler},
  title = {Type classes in {Haskell}},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {1996},
  volume = {18},
  number = {2},
  pages = {109--138},
  month = mar,
  url = {http://doi.acm.org/10.1145/227699.227700}
}
@inproceedings{haller-odersky-10,
  author = {Philipp Haller and Martin Odersky},
  title = {Capabilities for Uniqueness and Borrowing},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  month = jun,
  year = {2010},
  pages = {354--378},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6183},
  url = {http://lampwww.epfl.ch/~phaller/doc/haller-odersky10-Capabilities_for_uniqueness_and_borrowing.pdf}
}
@techreport{hallett-kfoury-04,
  author = {Joseph J. Hallett and Assaf J. Kfoury},
  title = {Programming Examples Needing Polymorphic Recursion},
  institution = {Department of Computer Science, Boston University},
  year = {2004},
  month = jan,
  number = {BUCS-TR-2004-004},
  url = {http://www.church-project.org/reports/electronic/Hal+Kfo:BUCS-TR-2004-004.pdf}
}
@phdthesis{hanus-88,
  author = {Michael Hanus},
  title = {Horn Clause Specifications with Polymorphic Types},
  year = {1988},
  school = {Fachbereich Informatik, Universität Dortmund},
  url = {http://www.informatik.uni-kiel.de/~mh/publications/various/Dissertation.dvi.Z}
}
@inproceedings{hanus-89,
  author = {Michael Hanus},
  title = {Horn Clause Programs with Polymorphic Types: Semantics
                 and Resolution},
  booktitle = {Theory and Practice of Software Development
                 ({TAPSOFT})},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {352},
  pages = {225--240},
  year = {1989},
  url = {http://www.informatik.uni-kiel.de/~mh/publications/papers/TAPSOFT89.ps}
}
@manual{happy,
  author = {Simon Marlow and Andy Gill},
  title = {Happy: the parser generator for {Haskell}},
  year = {2004},
  month = apr,
  url = {http://www.haskell.org/happy/}
}
@article{hardy-88,
  author = {Norm Hardy},
  title = {The Confused Deputy (or why capabilities might have
                 been invented)},
  journal = {ACM Operating Systems Review},
  year = {1988},
  volume = {22},
  number = {4},
  pages = {36--38},
  month = oct,
  url = {http://www.cis.upenn.edu/~KeyKOS/ConfusedDeputy.html}
}
@article{harper-94,
  author = {Robert Harper},
  title = {A simplified account of polymorphic references},
  journal = {Information Processing Letters},
  volume = {51},
  number = {4},
  year = {1994},
  pages = {201--206},
  url = {http://www.cs.cmu.edu/~rwh/papers/refs/ipl94.pdf}
}
@article{harper-99,
  author = {Robert Harper},
  title = {Proof-Directed Debugging},
  journal = {Journal of Functional Programming},
  volume = {9},
  number = {4},
  year = {1999},
  pages = {463--469},
  url = {http://dx.doi.org/10.1017/S0956796808007119}
}
@article{harper-licata-07,
  author = {Robert Harper and Daniel R. Licata},
  title = {Mechanizing metatheory in a logical framework},
  journal = {Journal of Functional Programming},
  volume = {17},
  number = {4--5},
  year = {2007},
  pages = {613--673},
  url = {http://www.cs.cmu.edu/~rwh/papers/mech/jfp07.pdf}
}
@misc{harper-lillibridge-91,
  author = {Bob Harper and Mark Lillibridge},
  title = {{ML} with callcc is unsound},
  howpublished = {Message to the {TYPES} mailing list},
  month = jul,
  year = {1991},
  url = {http://www.cis.upenn.edu/~bcpierce/types/archives/1991/msg00034.html}
}
@inproceedings{harper-pierce-91,
  author = {Robert Harper and Benjamin Pierce},
  title = {A Record Calculus Based on symmetric Concatenation},
  pages = {131--142},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1991},
  url = {http://www.cis.upenn.edu/~bcpierce/papers/merge.ps}
}
@incollection{harper-pierce-attapl,
  author = {Robert Harper and Benjamin C. Pierce},
  title = {Design Considerations for {ML}-Style Module Systems},
  booktitle = {Advanced Topics in Types and Programming Languages},
  pages = {293--345},
  publisher = {MIT Press},
  year = {2005},
  editor = {Benjamin C. Pierce},
  chapter = {8}
}
@book{harrison-09,
  author = {John Harrison},
  title = {Handbook of Practical Logic and Automated Reasoning},
  publisher = {Cambridge University Press},
  year = {2009},
  url = {http://www.cl.cam.ac.uk/~jrh13/atp/}
}
@book{haskell-98,
  editor = {Simon {Peyton Jones}},
  title = {{Haskell} 98 Language and Libraries: The Revised
                 Report},
  publisher = {Cambridge University Press},
  year = {2003},
  month = apr,
  url = {http://www.haskell.org/onlinereport/}
}
@inproceedings{haskell-history-07,
  author = {Paul Hudak and John Hughes and Simon {Peyton Jones}
                 and Philip Wadler},
  title = {A History of {Haskell}: being lazy with class},
  booktitle = {History of Programming Languages},
  year = {2007},
  month = jun,
  url = {http://research.microsoft.com/~simonpj/papers/history-of-haskell/history.pdf}
}
@techreport{hawblitzel-05,
  author = {Chris Hawblitzel},
  title = {Linear Types for Aliased Resources},
  institution = {Microsoft Research},
  year = {2005},
  number = {MSR-TR-2005-141},
  month = oct,
  url = {http://research.microsoft.com/pubs/70228/tr-2005-141.pdf}
}
@inproceedings{hecht-ullman-73,
  author = {Matthew S. Hecht and Jeffrey D. Ullman},
  title = {Analysis of a simple algorithm for global data flow
                 problems},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {207--217},
  year = {1973},
  url = {http://doi.acm.org/10.1145/512927.512946}
}
@techreport{heeren-improving-02,
  title = {Improving type-error messages in functional
                 languages},
  author = {Bastiaan Heeren and Johan Jeuring and Doaitse
                 Swierstra and Pablo Azero Alcocer},
  month = feb,
  year = {2002},
  institution = {University of Utrecht, Institute of Information and
                 Computing Science},
  number = {UU-CS-2002-009},
  url = {http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2002/2002-009.pdf}
}
@techreport{heeren2002generalizing,
  title = {Generalizing {Hindley-Milner} Type Inference
                 Algorithms},
  author = {Bastiaan Heeren and Jurriaan Hage and Doaitse
                 Swierstra},
  month = jul,
  year = {2002},
  institution = {University of Utrecht, Institute of Information and
                 Computing Science},
  number = {UU-CS-2002-031},
  url = {http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2002/2002-031.pdf}
}
@techreport{heeren2002parametric,
  title = {Parametric Type Inferencing for {Helium}},
  author = {Bastiaan Heeren and Jurriaan Hage},
  month = aug,
  year = {2002},
  institution = {University of Utrecht, Institute of Information and
                 Computing Science},
  number = {UU-CS-2002-035},
  url = {http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2002/2002-035.pdf}
}
@inbook{hehner-96,
  author = {Eric C. R. Hehner},
  booktitle = {A classical mind},
  title = {Abstractions of Time},
  publisher = {Prentice Hall},
  year = {1994},
  pages = {191--210},
  url = {http://www.cs.toronto.edu/~hehner/AoT.pdf}
}
@article{hehner-98,
  author = {Eric C. R. Hehner},
  title = {Formalization of Time and Space},
  journal = {Formal Aspects of Computing},
  year = {1998},
  volume = {10},
  pages = {290--206},
  url = {http://www.cs.toronto.edu/~hehner/FTS.pdf}
}
@techreport{heintze-93,
  author = {Nevin Heintze},
  institution = {Carnegie Mellon University, School of Computer
                 Science},
  title = {Set Based Analysis of {ML} Programs},
  year = {1993},
  month = jul,
  number = {CMU-CS-93-193},
  url = {http://reports-archive.adm.cs.cmu.edu/anon/1993/CMU-CS-93-193.ps}
}
@inproceedings{heintze-mcallester-97,
  author = {Nevin Heintze and David McAllester},
  title = {Linear-Time Subtransitive Control Flow Analysis},
  pages = {261--272},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  year = {1997},
  url = {http://www.autoreason.com/PLDI97.ps}
}
@inproceedings{heintze-riecke-slam-98,
  author = {Nevin Heintze and Jon G. Riecke},
  title = {The {SL}am Calculus: Programming with Secrecy and
                 Integrity},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1998},
  pages = {365--377},
  url = {http://cm.bell-labs.com/cm/cs/who/nch/slam.ps}
}
@inproceedings{heintze-tardieu-01,
  author = {Nevin Heintze and Olivier Tardieu},
  title = {Ultra-fast Aliasing Analysis using {CLA}: {A} Million
                 Lines of {C} Code in a Second},
  pages = {254--263},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  year = {2001},
  url = {http://cm.bell-labs.com/cm/cs/who/nch/pldi01-1m.ps}
}
@inproceedings{helsen-thiemann-00,
  author = {Simon Helsen and Peter Thiemann},
  title = {Syntactic Type Soundness for the Region Calculus},
  booktitle = {Higher Order Operational Techniques in Semantics
                 (HOOTS)},
  pages = {1--19},
  year = {2000},
  volume = {41},
  number = {3},
  series = {Electronic Notes in Theoretical Computer Science},
  url = {http://www.swen.uwaterloo.ca/~shelsen/papers/helsen-thiemann-hoots-00.pdf}
}
@techreport{henderson-modes-92,
  author = {Fergus Henderson},
  title = {Strong modes can change the world!},
  institution = {Department of Computer Science, University of
                 Melbourne},
  year = {1992},
  number = {96/11},
  month = nov,
  url = {http://www.cs.mu.oz.au/~fjh/papers/hons_thesis.ps.gz}
}
@inproceedings{hendriks-oostrom-03,
  author = {Dimitri Hendriks and Vincent van Oostrom},
  title = {Adbmal},
  booktitle = {International Conference on Automated Deduction
                 (CADE)},
  pages = {136--150},
  year = {2003},
  volume = {2741},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.cs.ru.nl/~hendriks/publication/ps/adbmal_cade.ps}
}
@inproceedings{henglein-91,
  author = {Fritz Henglein},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  title = {Efficient Type Inference for Higher-Order Binding-Time
                 Analysis},
  year = {1991},
  pages = {448--472},
  series = {Lecture Notes in Computer Science},
  volume = {523},
  publisher = {Springer},
  url = {ftp://ftp.diku.dk/pub/diku/users/henglein/binding-time-analysis.dvi.gz}
}
@article{henglein-93,
  author = {Fritz Henglein},
  title = {Type Inference with Polymorphic Recursion},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {1993},
  volume = {15},
  month = apr,
  number = {2},
  pages = {253--289},
  url = {http://doi.acm.org/10.1145/169701.169692}
}
@inproceedings{henglein-breaking-97,
  author = {Fritz Henglein},
  title = {Breaking through the $n^3$ barrier: Faster object type
                 inference},
  booktitle = {Foundations of Object-Oriented Languages (FOOL)},
  year = {1997}
}
@article{henglein-breaking-99,
  author = {Fritz Henglein},
  title = {Breaking through the $n^3$ barrier: Faster Object Type
                 Inference},
  journal = {Theory and Practice of Object Systems},
  year = {1999},
  volume = {5},
  number = {1},
  pages = {57--72},
  url = {ftp://ftp.diku.dk/diku/semantics/papers/D-396.ps.gz}
}
@article{henglein-paige-87,
  author = {Robert Paige and Fritz Henglein},
  title = {Mechanical translation of set theoretic problem
                 specifications into efficient {RAM} code -- {A} case
                 study},
  journal = {Journal of Symbolic Computation},
  volume = {4},
  number = {2},
  year = {1987},
  pages = {207--232},
  url = {http://dx.doi.org/10.1016/S0747-7171(87)80066-4}
}
@phdthesis{henglein-phd-89,
  author = {Fritz Henglein},
  month = apr,
  school = {Rutgers University},
  title = {Polymorphic Type Inference and Semi-Unification},
  year = {1989},
  url = {ftp://ftp.diku.dk/diku/users/henglein/poly-typ-inf-and-semi-unif.ps.gz}
}
@inproceedings{henglein-rehof-97,
  author = {Fritz Henglein and Jakob Rehof},
  title = {The Complexity of Subtype Entailment for Simple
                 Types},
  pages = {352--361},
  booktitle = {Logic in Computer Science (LICS)},
  month = jun,
  year = {1997},
  url = {http://research.microsoft.com/~rehof/lics97.ps}
}
@inproceedings{henglein-rehof-98,
  author = {Fritz Henglein and Jakob Rehof},
  title = {Constraint Automata and the Complexity of Recursive
                 Subtype Entailment},
  booktitle = {International Colloquium on Automata, Languages and
                 Programming},
  month = jul,
  year = {1998},
  url = {http://research.microsoft.com/~rehof/icalp98.ps}
}
@techreport{hennessy-2000,
  author = {Matthew Hennessy},
  title = {The security picalculus and non-interference},
  month = nov,
  year = {2000},
  institution = {University of Sussex},
  number = {2000:05},
  url = {ftp://ftp.cogs.susx.ac.uk/pub/reports/compsci/cs052000.ps.Z}
}
@inproceedings{hennessy-riely-00,
  author = {Matthew Hennessy and James Riely},
  title = {Information Flow vs. Resource Access in the
                 Asynchronous Pi-Calculus},
  booktitle = {International Colloquium on Automata, Languages and
                 Programming},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  month = jul,
  year = {2000},
  url = {http://www.depaul.edu/~jriely/papers/00icalp.ps.gz}
}
@inproceedings{hepburn-wright-01,
  author = {Mark Hepburn and David Wright},
  title = {Trust in the Pi-Calculus},
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  month = sep,
  year = {2001}
}
@article{herlihy-schachte-sondergaard-07,
  author = {Brian Herlihy and Peter Schachte and Harald
                 Søndergaard},
  title = {Un-{Kleene} {Boolean} Equation Solving},
  journal = {International Journal of Foundations of Computer
                 Science},
  year = {2007},
  volume = {18},
  number = {2},
  pages = {227--250},
  url = {http://dx.doi.org/10.1142/S0129054107004668}
}
@inproceedings{heule-13,
  author = {Stefan Heule and K. Rustan M. Leino and Peter
                 M{\"u}ller and Alexander J. Summers},
  title = {Abstract Read Permissions: Fractional Permissions
                 without the Fractions},
  booktitle = {Verification, Model Checking and Abstract
                 Interpretation (VMCAI)},
  year = {2013},
  pages = {315--334},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {7737},
  url = {http://research.microsoft.com/en-us/um/people/leino/papers/krml225.pdf}
}
@inproceedings{higuchi-ohori-03,
  author = {Tomoyuki Higuchi and Atsushi Ohori},
  title = {A Static Type System for {JVM} Access Control},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {227--237},
  year = {2003},
  month = aug,
  url = {http://doi.acm.org/10.1145/944726}
}
@article{hindley-69,
  author = {J. Roger Hindley},
  title = {The Principal Type-scheme of an Object in Combinatory
                 Logic},
  journal = {Transactions of the American Mathematical Society},
  volume = {146},
  pages = {29--60},
  year = {1969},
  url = {http://dx.doi.org/10.2307/1995158}
}
@incollection{hinze-03,
  author = {Ralf Hinze},
  editor = {Jeremy Gibbons and Oege de Moor},
  booktitle = {The Fun of Programming},
  title = {Fun with Phantom Types},
  publisher = {Palgrave Macmillan},
  year = {2003},
  month = mar,
  pages = {245--262},
  url = {http://www.informatik.uni-bonn.de/~ralf/publications/With.pdf}
}
@techreport{hinze-comparing-generic-06,
  author = {Ralf Hinze and Johan Jeuring and Andres Löh},
  year = {2006},
  title = {Comparing approaches to generic programming in
                 {Haskell}},
  number = {UU-CS-2006-022},
  institution = {Department of Information and Computing Sciences,
                 Utrecht University},
  url = {http://www.cs.uu.nl/research/techreps/repo/CS-2006/2006-022.pdf}
}
@inproceedings{hinze-derivable-00,
  author = {Ralf Hinze and Simon Peyton Jones},
  title = {Derivable type classes},
  booktitle = {Haskell workshop},
  year = {2000},
  url = {http://research.microsoft.com/~simonpj/Papers/derive.ps.gz}
}
@inproceedings{hirschowitz-cbv-04,
  author = {Tom Hirschowitz and Xavier Leroy and J. B. Wells},
  title = {Call-by-value mixin modules: Reduction semantics, side
                 effects, types},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {64--78},
  year = {2004},
  volume = {2986},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://gallium.inria.fr/~xleroy/publi/mixins-mm-esop2004.ps.gz}
}
@article{hirschowitz-leroy-04,
  author = {Tom Hirschowitz and Xavier Leroy},
  title = {Mixin Modules in a Call-by-Value Setting},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {2004},
  note = {To appear},
  url = {http://gallium.inria.fr/~hirschow/papers/toplas-cmsv.ps.gz}
}
@inproceedings{hoang-mitchell-lower-95,
  author = {My Hoang and John C. Mitchell},
  title = {Lower Bounds on Type Inference with Subtypes},
  pages = {176--185},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1995},
  url = {http://doi.acm.org/10.1145/199448.199481}
}
@article{hoare-61,
  author = {C. A. R. Hoare},
  title = {Algorithm 65: find},
  journal = {Communications of the {ACM}},
  volume = {4},
  number = {7},
  month = jul,
  year = {1961},
  pages = {321--322},
  url = {http://doi.acm.org/10.1145/366622.366647}
}
@article{hoare-69,
  author = {C. A. R. Hoare},
  title = {An axiomatic basis for computer programming},
  journal = {Communications of the {ACM}},
  volume = {12},
  number = {10},
  year = {1969},
  pages = {576--580},
  url = {http://doi.acm.org/10.1145/363235.363259}
}
@article{hoare-71,
  author = {C. A. R. Hoare},
  title = {Proof of a program: {FIND}},
  journal = {Communications of the {ACM}},
  year = {1971},
  volume = {14},
  number = {1},
  pages = {39--45},
  month = jan,
  url = {http://doi.acm.org/10.1145/362452.362489}
}
@article{hoare-data-72,
  author = {C. A. R. Hoare},
  title = {Proof of correctness of data representations},
  journal = {Acta Informatica},
  year = {1972},
  volume = {4},
  pages = {271--281},
  url = {http://dx.doi.org/10.1007/BF00289507}
}
@inproceedings{hobor-gherghina-11,
  author = {Aquinas Hobor and Cristian Gherghina},
  title = {Barriers in Concurrent Separation Logic},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2011},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {http://www.comp.nus.edu.sg/~hobor/Publications/barrier.pdf}
}
@inproceedings{hobor-indirection-10,
  author = {Aquinas Hobor and Robert Dockins and Andrew W. Appel},
  title = {A Theory of Indirection via Approximation},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2010},
  month = jan,
  url = {http://www.comp.nus.edu.sg/~hobor/Publications/indirection.pdf}
}
@inproceedings{hobor-oracle-08,
  author = {Aquinas Hobor and Andrew W. Appel and Francesco {Zappa
                 Nardelli}},
  title = {Oracle Semantics for Concurrent Separation Logic},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {353--367},
  year = {2008},
  volume = {4960},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://www.cs.princeton.edu/~appel/papers/concurrent.pdf}
}
@article{hofmann-00,
  author = {Martin Hofmann},
  title = {A type system for bounded space and functional
                 in-place update},
  journal = {Nordic Journal of Computing},
  year = {2000},
  volume = {7},
  number = {4},
  pages = {258--289},
  url = {http://www.tcs.informatik.uni-muenchen.de/~mhofmann/nordic.ps.gz}
}
@inproceedings{hofmann-jost-03,
  author = {Martin Hofmann and Steffen Jost},
  title = {Static prediction of heap space usage for first-order
                 functional programs},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2003},
  pages = {185--197},
  url = {http://www.cs.st-andrews.ac.uk/~jost/research/full_p17-hofmann.ps}
}
@inproceedings{hofmann-pavlova-08,
  author = {Martin Hofmann and Mariela Pavlova},
  title = {Elimination of ghost variables in program logics},
  booktitle = {Trustworthy Global Computing},
  pages = {1--20},
  year = {2008},
  volume = {4912},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www-sop.inria.fr/everest/personnel/Mariela.Pavlova/ghost.pdf}
}
@article{hofmann-pierce-94,
  author = {Martin Hofmann and Benjamin Pierce},
  title = {A Unifying Type-Theoretic Framework for Objects},
  journal = {Journal of Functional Programming},
  volume = {5},
  number = {4},
  pages = {593--635},
  month = oct,
  note = {Previous versions appeared in the Symposium on
                 Theoretical Aspects of Computer Science, 1994, (pages
                 251--262) and, under the title ``An Abstract View of
                 Objects and Subtyping (Preliminary Report),'' as
                 University of Edinburgh, LFCS technical report
                 ECS-LFCS-92-226, 1992},
  year = {1995},
  url = {http://www.cis.upenn.edu/~bcpierce/papers/abstroop.ps}
}
@inproceedings{hogg-91,
  author = {John Hogg},
  title = {Islands: Aliasing Protection in Object-Oriented
                 Languages},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  year = {1991},
  pages = {271--285},
  url = {http://dx.doi.org/10.1145/118014.117975}
}
@inproceedings{honda-al-00,
  author = {Kohei Honda and Vasco Vasconcelos and Nobuko Yoshida},
  title = {Secure information flow as typed process behaviour},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1782},
  pages = {180--199},
  month = mar,
  year = {2000},
  url = {ftp://ftp.dcs.qmw.ac.uk/lfp/kohei/siftp-esop00.ps.gz}
}
@techreport{honda-al-00-long,
  author = {Kohei Honda and Vasco Vasconcelos and Nobuko Yoshida},
  title = {Secure information flow as typed process behaviour},
  institution = {Queen Mary and Westfield College, University of
                 London},
  month = dec,
  year = {1999},
  number = {QMW-DCS-1999-767},
  url = {ftp://ftp.dcs.qmw.ac.uk/lfp/kohei/siftp-qmwrep.ps.gz}
}
@inproceedings{honda-yoshida-02,
  author = {Kohei Honda and Nobuko Yoshida},
  title = {A Uniform Type Structure for Secure Information Flow},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2002},
  pages = {81--92},
  url = {http://www.mcs.le.ac.uk/~nyoshida/paper/ifa_long.ps.gz}
}
@inproceedings{honda-yoshida-04,
  author = {Kohei Honda and Nobuko Yoshida},
  title = {A compositional logic for polymorphic higher-order
                 functions},
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  month = aug,
  year = {2004},
  pages = {191--202},
  url = {http://www.dcs.qmul.ac.uk/~kohei/logics/polyrec.pdf.gz}
}
@inproceedings{honsell-01,
  author = {Furio Honsell and Marino Miculan and Ivan Scagnetto},
  title = {An axiomatic approach to metareasoning on nominal
                 algebras in {HOAS}},
  booktitle = {International Colloquium on Automata, Languages and
                 Programming},
  pages = {963--978},
  year = {2001},
  volume = {2076},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.dimi.uniud.it/~miculan/Papers/ICALP01.pdf}
}
@incollection{hopcroft-minimizing-71,
  author = {John~E. Hopcroft},
  title = {An $n\log n$ algorithm for minimizing states in a
                 finite automaton},
  booktitle = {Theory of Machines and Computations},
  editor = {Z. Kohavi},
  publisher = {Academic Press},
  year = {1971},
  pages = {189--196}
}
@book{hopcroft-motwani-ullman-00,
  author = {John E. Hopcroft and Rajeev Motwani and Jeffrey D.
                 Ullman},
  title = {Introduction to Automata Theory, Languages, and
                 Computation},
  publisher = {Addison-Wesley},
  year = {2000},
  url = {http://www-db.stanford.edu/~ullman/ialc.html}
}
@article{horspool-faster-90,
  author = {R. Nigel Horspool and Michael Whitney},
  title = {Even Faster {LR} Parsing},
  journal = {Software -- Practice \& Experience},
  year = {1990},
  volume = {20},
  number = {6},
  pages = {515--535},
  month = jun,
  url = {http://www.cs.uvic.ca/~nigelh/Publications/fastparse.pdf}
}
@inproceedings{horwitz-95,
  author = {Susan Horwitz and Thomas Reps and Mooly Sagiv},
  title = {Demand interprocedural dataflow analysis},
  booktitle = {ACM Symposium on the Foundations of Software
                 Engineering (FSE)},
  year = {1995},
  month = oct,
  url = {http://www.cs.wisc.edu/wpis/papers/fse95a.ps}
}
@article{horwitz-demers-teitelbaum-87,
  author = {Alan Demers and Susan Horwitz and Tim Teitelbaum},
  title = {An efficient general algorithm for dataflow analysis},
  journal = {Acta Informatica},
  year = {1987},
  volume = {24},
  number = {6},
  pages = {679--694},
  month = nov,
  url = {http://dx.doi.org/10.1007/BF00282621}
}
@article{hosoya-pierce-02,
  author = {Haruo Hosoya and Benjamin C. Pierce},
  title = {Regular expression pattern matching for {XML}},
  journal = {Journal of Functional Programming},
  volume = {13},
  number = {6},
  month = nov,
  year = {2003},
  pages = {961--1004},
  url = {http://dx.doi.org/10.1017/S0956796802004410}
}
@article{hru-76,
  author = {Michael A. Harrison and Walter L. Ruzzo and Jeffrey D.
                 Ullman},
  title = {Protection in Operating Systems},
  journal = {Communications of the {ACM}},
  year = {1976},
  volume = {19},
  number = {8},
  pages = {461--471},
  month = aug,
  url = {http://doi.acm.org/10.1145/360303.360333}
}
@inproceedings{hubert-marche-07,
  author = {Thierry Hubert and Claude Marché},
  title = {Separation Analysis for Deductive Verification},
  booktitle = {Heap Analysis and Verification (HAV)},
  year = {2007},
  month = mar,
  url = {http://www.lri.fr/~marche/hubert07hav.pdf}
}
@phdthesis{huet-76,
  author = {G{\'e}rard Huet},
  title = {{R}{\'e}solution d'{\'e}quations dans des langages
                 d'ordre $1$, $2$, $\ldots$, $\omega$.},
  school = {Universit{\'e} Paris 7},
  month = sep,
  year = {1976}
}
@article{huet-98,
  author = {Gérard Huet},
  title = {Regular {Böhm} Trees},
  journal = {Mathematical Structures in Computer Science},
  year = {1998},
  volume = {8},
  pages = {671--680},
  url = {http://yquem.inria.fr/~huet/PUBLIC/RBT2.pdf}
}
@article{huet-zipper-97,
  author = {G{\'e}rard Huet},
  title = {The Zipper},
  journal = {Journal of Functional Programming},
  volume = {7},
  number = {5},
  year = {1997},
  pages = {549--554},
  url = {http://yquem.inria.fr/~huet/PUBLIC/zip.pdf}
}
@article{hughes-arrows-00,
  author = {John Hughes},
  title = {Generalising monads to arrows},
  journal = {Science of Computer Programming},
  volume = {37},
  number = {1--3},
  year = {2000},
  pages = {67--111},
  url = {http://www.cse.chalmers.se/~rjmh/Papers/arrows.pdf}
}
@article{hughes-matters-89,
  author = {John Hughes},
  title = {Why Functional Programming Matters},
  journal = {Computer Journal},
  volume = {32},
  number = {2},
  pages = {98--107},
  year = {1989},
  url = {http://www.math.chalmers.se/~rjmh/Papers/whyfp.pdf}
}
@inproceedings{hughes-pareto-sabry-96,
  author = {John Hughes and Lars Pareto and Amr Sabry},
  title = {Proving the correctness of reactive systems using
                 sized types},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1996},
  pages = {410--423},
  url = {http://doi.acm.org/10.1145/237721.240882}
}
@article{igarashi-kobayashi-00,
  author = {Atsushi Igarashi and Naoki Kobayashi},
  title = {Type Reconstruction for Linear $\pi$-Calculus with
                 {I}/{O} Subtyping},
  journal = {Information and Computation},
  volume = {161},
  pages = {1--44},
  month = aug,
  year = {2000},
  url = {http://www.sato.kuis.kyoto-u.ac.jp/~igarashi/papers/psgz/linear-pi.IC.ps.gz}
}
@inproceedings{ishtiaq-ohearn-01,
  author = {Samin S. Ishtiaq and Peter W. O'Hearn},
  title = {{BI} as an assertion language for mutable data
                 structures},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2001},
  pages = {14--26},
  url = {http://www.cs.ucl.ac.uk/staff/p.ohearn/papers/bi-assertion-lan.pdf}
}
@incollection{iwaco-03,
  author = {Dave Clarke and Sophia Drossopoulou and James Noble},
  title = {Aliasing, Confinement, and Ownership in
                 Object-Oriented Programming},
  booktitle = {Object-Oriented Technology. {ECOOP 2003} Workshop
                 Reader},
  year = {2004},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3013},
  pages = {197--207},
  url = {http://dx.doi.org/10.1007/978-3-540-25934-3_19}
}
@manual{jacc,
  title = {jacc: Just Another Compiler Compiler for {Java}},
  author = {Mark P. Jones},
  month = feb,
  year = {2004},
  url = {http://web.cecs.pdx.edu/~mpj/jacc/jacc.pdf}
}
@inproceedings{jackson-vaziri-00,
  author = {Daniel Jackson and Mandana Vaziri},
  title = {Finding Bugs with a Constraint Solver},
  booktitle = {International Symposium on Software Testing and
                 Analysis (ISSTA)},
  month = aug,
  year = {2000},
  url = {http://sdg.csail.mit.edu/pubs/2000/issta00.pdf}
}
@inproceedings{jagannathan-wright-95,
  author = {Suresh Jagannathan and Andrew Wright},
  title = {Effective Flow Analysis for Avoiding Run-Time Checks},
  year = {1995},
  month = sep,
  booktitle = {Static Analysis Symposium (SAS)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {983},
  url = {http://www.cs.purdue.edu/homes/suresh/papers/sas95.ps.gz}
}
@phdthesis{jansson-00,
  author = {Patrik Jansson},
  title = {Functional Polytypic Programming},
  school = {Chalmers University of Technology},
  year = {2000},
  url = {http://www.cs.chalmers.se/~patrikj/poly/polythesis/polythesis.ps.gz}
}
@book{java,
  author = {James Gosling and Bill Joy and Guy Steele and Gilad
                 Bracha},
  title = {The {Java} Language Specification, Second Edition},
  publisher = {Addison-Wesley},
  year = {2000},
  url = {http://java.sun.com/docs/books/jls/}
}
@book{javasec,
  author = {Li Gong and Gary Ellison and Mary Dageforde},
  title = {Inside {Java 2} Platform Security, Second Edition},
  publisher = {Addison-Wesley},
  year = {2003},
  url = {http://java.sun.com/docs/books/security/}
}
@article{jay-04,
  author = {C. Barry Jay},
  title = {The Pattern Calculus},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {26},
  number = {6},
  pages = {911--937},
  month = nov,
  year = {2004},
  url = {http://www-staff.it.uts.edu.au/~cbj/Publications/pattern_calculus.pdf},
  alturl = {http://doi.acm.org/10.1145/1034774.1034775}
}
@article{jeffery-03,
  author = {Clinton L. Jeffery},
  title = {Generating {LR} syntax error messages from examples},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {25},
  number = {5},
  year = {2003},
  pages = {631--640},
  url = {http://doi.acm.org/10.1145/937563.937566}
}
@inproceedings{jensen-98,
  author = {Thomas Jensen},
  title = {Inference of polymorphic and conditional strictness
                 properties},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1998},
  pages = {209--221},
  publisher = {ACM Press},
  url = {http://www.irisa.fr/lande/jensen/papers/popl98.ps}
}
@inproceedings{jensen-al-99,
  author = {Thomas Jensen and Daniel {Le Métayer} and Tommy
                 Thorn},
  title = {Verifying security properties of control-flow graphs},
  booktitle = {{IEEE} Symposium on Security and Privacy (S\&P)},
  pages = {89--105},
  year = {1999},
  month = may,
  url = {http://www.irisa.fr/lande/jensen/papers/SP99.ps}
}
@inproceedings{jensen-birkedal-fictional-12,
  author = {Jonas Braband Jensen and Lars Birkedal},
  title = {Fictional Separation Logic},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {2012},
  pages = {377--396},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {7211},
  url = {http://cs.au.dk/~birke/papers/sharing-conf.pdf}
}
@inproceedings{jensen-ployette-ridoux-02,
  title = {Iteration schemes for fixed point computation},
  author = {Thomas Jensen and Florimond Ployette and Olivier
                 Ridoux},
  year = {2002},
  booktitle = {International workshop on Fixed Points in Computer
                 Science (FICS)},
  pages = {69--76},
  url = {http://www.irisa.fr/lande/REQS/fics02.ps}
}
@inproceedings{jha-al-02,
  author = {Somesh Jha and Jens Palsberg and Tian Zhao},
  title = {Efficient Type Matching},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  pages = {187--204},
  month = apr,
  year = {2002},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2303},
  url = {http://www.cs.ucla.edu/~palsberg/paper/fossacs02.pdf}
}
@inproceedings{jia-05,
  author = {Limin Jia and Frances Spalding and David Walker and
                 Neal Glew},
  title = {Certifying Compilation for a Language with Stack
                 Allocation},
  booktitle = {Logic in Computer Science (LICS)},
  year = {2005},
  month = jun,
  url = {http://www.cs.princeton.edu/~dpw/papers/stackcert-lics05.pdf},
  pages = {407--416}
}
@inproceedings{jia-walker-06,
  author = {Limin Jia and David Walker},
  title = {{ILC}: {A} Foundation for Automated Reasoning About
                 Pointer Programs},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {2006},
  pages = {131--145},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3924},
  url = {http://sip.cs.princeton.edu/pub/ilc-esop06.pdf}
}
@inproceedings{jim-00,
  author = {Trevor Jim},
  title = {A Polar Type System},
  booktitle = {Workshop on Intersection Types and Related Systems
                 (ITRS)},
  year = {2000},
  volume = {8},
  series = {Proceedings in Informatics},
  publisher = {Carleton Scientific},
  url = {http://www.cee.hw.ac.uk/~jbw/itrs/itrs00/papers/Jim:ITRS-2000.ps.gz}
}
@techreport{jim-95,
  author = {Trevor Jim},
  title = {What are principal typings and what are they good
                 for?},
  institution = {Massachusetts Institute of Technology},
  year = {1995},
  number = {MIT/LCS TM-532},
  month = aug,
  url = {http://www.research.att.com/~trevor/papers/principal-typings.ps.gz}
}
@unpublished{jim-palsberg-99,
  author = {Trevor Jim and Jens Palsberg},
  title = {Type inference in systems of recursive types with
                 subtyping},
  year = {1999},
  note = {Manuscript},
  url = {http://www.cs.ucla.edu/~palsberg/draft/jim-palsberg99.pdf}
}
@manual{jml,
  title = {{JML} Reference Manual},
  author = {Gary T. Leavens and Erik Poll and Curtis Clifton and
                 Yoonsik Cheon and Clyde Ruby and David Cok and Peter
                 Müller and Joseph Kiniry and Patrice Chalin and Daniel
                 M. Zimmerman},
  month = may,
  year = {2008},
  url = {http://www.jmlspecs.org/OldReleases/jmlrefman.pdf}
}
@article{jml-05,
  author = {Lilian Burdy and Yoonsik Cheon and David Cok and
                 Michael Ernst and Joe Kiniry and Gary T. Leavens and K.
                 Rustan M. Leino and Erik Poll},
  title = {An overview of {JML} tools and applications},
  journal = {International Journal on Software Tools for Technology
                 Transfer},
  year = {2005},
  volume = {7},
  number = {3},
  pages = {212--232},
  month = jun,
  url = {ftp://ftp.cs.iastate.edu/pub/leavens/JML/sttt04.pdf}
}
@techreport{johnson-75,
  author = {Stephen C. Johnson},
  title = {Yacc: Yet Another Compiler-Compiler},
  institution = {Bell Laboratories},
  year = {1975},
  type = {Computing Science Technical Report},
  number = {32},
  url = {http://dinosaur.compilertools.net/yacc/yacc.ps}
}
@inproceedings{johnson-walz-86,
  author = {Gregory F. Johnson and Janet A. Walz},
  title = {A maximum-flow approach to anomaly isolation in
                 unification-based incremental type inference},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {44--57},
  year = {1986},
  month = jan
}
@incollection{johnson-yacc-79,
  author = {Steven C. Johnson},
  title = {{Yacc}: Yet Another Compiler Compiler},
  booktitle = {{UNIX} Programmer's Manual},
  volume = {2},
  publisher = {Holt, Rinehart, and Winston},
  pages = {353--387},
  year = {1979},
  url = {http://dinosaur.compilertools.net/}
}
@incollection{johnsson-85,
  author = {Thomas Johnsson},
  editor = {Jean-Pierre Jouannaud},
  title = {Lambda Lifting: Transforming Programs to Recursive
                 Equations},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  series = {Lecture Notes in Computer Science},
  volume = {201},
  pages = {190--203},
  publisher = {Springer},
  year = {1985},
  url = {http://dx.doi.org/10.1007/3-540-15975-4_37}
}
@inproceedings{jones-92,
  author = {Mark P. Jones},
  title = {A theory of qualified types},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {1992},
  volume = {582},
  series = {Lecture Notes in Computer Science},
  month = feb,
  publisher = {Springer},
  url = {http://web.cecs.pdx.edu/~mpj/pubs/esop92.html}
}
@book{jones-94,
  author = {Mark P. Jones},
  title = {Qualified Types: Theory and Practice},
  publisher = {Cambridge University Press},
  month = nov,
  year = {1994}
}
@techreport{jones-95,
  author = {Mark P. Jones},
  title = {From {Hindley-Milner} Types to First-Class
                 Structures},
  institution = {Yale University},
  year = {1995},
  type = {Research Report},
  number = {YALEU/DCS/RR-1075},
  month = jun,
  url = {http://web.cecs.pdx.edu/~mpj/pubs/haskwork95.html}
}
@inproceedings{jones-96,
  author = {Mark P. Jones},
  title = {Using Parameterized Signatures to Express Modular
                 Structure},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1996},
  url = {http://web.cecs.pdx.edu/~mpj/pubs/paramsig.html}
}
@inproceedings{jones-dictionary-94,
  author = {Mark P. Jones},
  title = {Dictionary-free Overloading by Partial Evaluation},
  booktitle = {{ACM} Workshop on Evaluation and Semantics-Based
                 Program Manipulation ({PEPM})},
  year = {1994},
  month = jun,
  url = {http://web.cecs.pdx.edu/~mpj/pubs/pepm94.ps}
}
@inproceedings{jones-peyton-jones-99,
  author = {Mark P. Jones and Simon {Peyton Jones}},
  title = {Lightweight Extensible Records for {Haskell}},
  booktitle = {Haskell workshop},
  year = {1999},
  month = oct,
  url = {http://web.cecs.pdx.edu/~mpj/pubs/recpro.ps.gz}
}
@techreport{jones-qualified-94,
  author = {Mark P. Jones},
  institution = {Yale University},
  title = {Simplifying and Improving Qualified Types},
  year = {1994},
  month = jun,
  number = {YALEU/DCS/RR-1040},
  url = {ftp://nebula.cs.yale.edu/pub/yale-fp/reports/RR-1040.ps.Z}
}
@inproceedings{jones-thih-99,
  author = {Mark P. Jones},
  title = {Typing {Haskell} in {Haskell}},
  booktitle = {Haskell workshop},
  year = {1999},
  month = oct,
  url = {http://web.cecs.pdx.edu/~mpj/thih/}
}
@inproceedings{jorgensen-93,
  author = {Niels Jørgensen},
  title = {Chaotic Fixpoint Iteration Guided by Dynamic
                 Dependency},
  booktitle = {International Workshop on Static Analysis (WSA)},
  year = {1993},
  pages = {27--44},
  series = {Lecture Notes in Computer Science},
  volume = {724},
  publisher = {Springer},
  url = {http://webhotel2.ruc.dk/nielsj/research/publications/wsa93.ps}
}
@techreport{jouannaud-kirchner-90,
  author = {Jean-Pierre Jouannaud and Claude Kirchner},
  title = {Solving equations in abstract algebras: a rule-based
                 survey of unification},
  institution = {Université Paris-Sud},
  number = {561},
  month = apr,
  year = {1990}
}
@incollection{jouannaud-kirchner-91,
  author = {Jean-Pierre Jouannaud and Claude Kirchner},
  title = {Solving equations in abstract algebras: a rule-based
                 survey of unification},
  booktitle = {Computational Logic. Essays in honor of Alan
                 Robinson},
  publisher = {MIT Press},
  year = {1991},
  editor = {Jean-Louis Lassez and Gordon Plotkin},
  chapter = {8},
  pages = {257--321}
}
@article{kam-ullman-76,
  author = {John B. Kam and Jeffrey D. Ullman},
  title = {Global Data Flow Analysis and Iterative Algorithms},
  journal = {Journal of the {ACM}},
  year = {1976},
  volume = {23},
  number = {1},
  pages = {158--171},
  month = jan,
  url = {http://doi.acm.org/10.1145/321921.321938}
}
@article{kam-ullman-77,
  author = {John B. Kam and Jeffrey D. Ullman},
  title = {Monotone Data Flow Analysis Frameworks},
  journal = {Acta Informatica},
  month = sep,
  year = {1977},
  volume = {7},
  number = {3},
  pages = {305--317},
  url = {http://dx.doi.org/10.1007/BF00290339}
}
@phdthesis{kanig-10,
  author = {Johannes Kanig},
  title = {Specification and Proof of Higher-Order Programs},
  school = {Université Paris-Sud},
  year = {2010},
  month = nov,
  url = {http://www.lri.fr/~kanig/files/thesis-kanig-15112010.pdf}
}
@article{kaplan-tarjan-99,
  author = {Haim Kaplan and Robert E. Tarjan},
  title = {Purely functional, real-time deques with catenation},
  journal = {Journal of the {ACM}},
  volume = {46},
  number = {5},
  year = {1999},
  pages = {577--603},
  url = {http://www.math.tau.ac.il/~haimk/bob.ps}
}
@article{kapur-zhang-rrl,
  author = {Deepak Kapur and Hantao Zhang},
  title = {An overview of {Rewrite Rule Laboratory (RRL)}},
  journal = {J. Comput. Appl. Math.},
  year = {1995},
  volume = {29},
  number = {2},
  pages = {91--114},
  url = {ftp://ftp.cs.albany.edu/pub/ipl/papers/overview.rrl.ps.gz}
}
@techreport{kashiwagi-wise-91,
  author = {Yugo Kashiwagi and David S. Wise},
  title = {Graph Algorithms in a Lazy Functional Programming
                 Language},
  institution = {Indiana University},
  year = {1991},
  type = {Technical Report},
  number = {330},
  month = apr,
  url = {http://www.cs.indiana.edu/pub/techreports/TR330.pdf}
}
@inproceedings{kassios-06,
  author = {Ioannis T. Kassios},
  title = {Dynamic Frames: Support for Framing, Dependencies and
                 Sharing Without Restrictions},
  booktitle = {Formal Methods (FM)},
  year = {2006},
  pages = {268--283},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {4085},
  month = aug,
  url = {http://n.ethz.ch/~kassiosi/papers/fm06.pdf}
}
@phdthesis{keinanen-06,
  author = {Misa Keinänen},
  title = {Techniques For Solving {Boolean} Equation Systems},
  school = {Helsinki University of Technology},
  year = {2006},
  note = {Research Report HUT-TCS-A105},
  url = {http://www.tcs.hut.fi/Publications/bibdb/HUT-TCS-A105.pdf}
}
@article{keisu-94,
  author = {Torbjörn Keisu},
  title = {Finite and Rational Tree Constraints},
  journal = {Bulletin of the {IGPL}},
  year = {1994},
  volume = {2},
  number = {2},
  pages = {167--204},
  url = {http://www.dcs.kcl.ac.uk/journals/igpl/IGPL/V2-2/Keisu.ps.gz}
}
@phdthesis{keisu-phd-94,
  author = {Torbjörn Keisu},
  title = {Tree Constraints},
  school = {The Royal Institute of Technology (KTH)},
  year = {1994},
  month = may,
  url = {ftp://ftp.sics.se/pub/ps/papers/torbjorn-keisu-thesis.ps.gz}
}
@inproceedings{kennedy-07,
  author = {Andrew Kennedy},
  title = {Compiling with continuations, continued},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2007},
  pages = {177--190},
  url = {http://research.microsoft.com/~akenn/sml/CompilingWithContinuationsContinued.pdf}
}
@inproceedings{kennedy-75,
  author = {Ken W. Kennedy},
  title = {Node listings applied to data flow analysis},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1975},
  pages = {10--21},
  url = {http://doi.acm.org/10.1145/512976.512978}
}
@inproceedings{kennedy-94,
  author = {Andrew Kennedy},
  title = {Dimension Types},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {1994},
  volume = {788},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://research.microsoft.com/~akenn/units/DimensionTypes.pdf}
}
@techreport{kennedy-96,
  author = {Andrew Kennedy},
  title = {Type Inference and Equational Theories},
  institution = {École Polytechnique},
  year = {1996},
  number = {LIX/RR/96/09},
  month = sep
}
@inproceedings{kerber-91,
  author = {Manfred Kerber},
  title = {How to Prove Higher Order Theorems in First Order
                 Logic},
  booktitle = {International Joint Conferences on Artificial
                 Intelligence},
  year = {1991},
  pages = {137--142},
  url = {ftp://ftp.cs.bham.ac.uk/pub/authors/M.Kerber/91-IJCAI.pdf}
}
@inproceedings{kfoury-ml-90,
  author = {Assaf J. Kfoury and Jerzy Tiuryn and Pawel Urzyczyn},
  title = {{ML} Typability is {DEXPTIME}-Complete},
  booktitle = {Colloquium on Trees in Algebra and Programming},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {431},
  pages = {206--220},
  month = may,
  year = {1990},
  url = {http://dx.doi.org/10.1007/3-540-52590-4_50}
}
@article{kfoury-recursion-93,
  author = {A. J. Kfoury and J. Tiuryn and P. Urzyczyn},
  title = {Type reconstruction in the presence of polymorphic
                 recursion},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {15},
  number = {2},
  year = {1993},
  pages = {290--311},
  url = {http://doi.acm.org/10.1145/169701.169687}
}
@article{kfoury-wells-2004,
  author = {Assaf J. Kfoury and J. B. Wells},
  title = {Principality and Type Inference for Intersection Types
                 Using Expansion Variables},
  journal = {Theoretical Computer Science},
  volume = {311},
  number = {1--3},
  pages = {1--70},
  year = {2004},
  url = {http://www.church-project.org/reports/Kfo+Wel:TCSB-2004-v311n1-3.html}
}
@unpublished{kieburtz-02,
  author = {Richard B. Kieburtz},
  title = {${P}$-logic: Property verification for {Haskell}
                 programs},
  note = {Draft},
  month = aug,
  year = {2002},
  url = {http://www.cse.ogi.edu/PacSoft/projects/programatica/plogic.pdf}
}
@inproceedings{kieburtz-98,
  author = {Richard B. Kieburtz},
  title = {Taming effects with monadic typing},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {1998},
  pages = {51--62},
  url = {http://doi.acm.org/10.1145/289423.289428}
}
@inproceedings{kildall-73,
  author = {Gary A. Kildall},
  title = {A unified approach to global program optimization},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = oct,
  year = {1973},
  pages = {194--206},
  url = {http://doi.acm.org/10.1145/512927.512945}
}
@inproceedings{kim-yi-calcagno-06,
  author = {Ik-Soon Kim and Kwangkeun Yi and Cristiano Calcagno},
  title = {A polymorphic modal type system for {Lisp}-like
                 multi-staged languages},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2006},
  pages = {257--268},
  url = {http://www.doc.ic.ac.uk/~ccris/ftp/06-popl-kiyicr.pdf}
}
@inproceedings{king-wadler-92,
  author = {David King and Philip Wadler},
  title = {Combining Monads},
  booktitle = {Workshop on Functional Programming},
  publisher = {Springer},
  year = {1992},
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/monadscomb/monadscomb.ps.gz}
}
@article{klein-seL4-2010,
  author = {Gerwin Klein and June Andronick and Kevin Elphinstone
                 and Gernot Heiser and David Cock and Philip Derrin and
                 Dhammika Elkaduwe and Kai Engelhardt and Rafal Kolanski
                 and Michael Norrish and Thomas Sewell and Harvey Tuch
                 and Simon Winwood},
  title = {{seL4}: formal verification of an operating-system
                 kernel},
  journal = {Communications of the {ACM}},
  volume = {53},
  number = {6},
  year = {2010},
  pages = {107--115},
  url = {http://ertos.nicta.com.au/publications/papers/Klein_EHACDEEKNSTW_10.pdf}
}
@article{kmp-77,
  author = {James H. Morris and Donald E. Knuth and Vaughan R.
                 Pratt},
  title = {Fast Pattern Matching in Strings},
  journal = {SIAM Journal on Computing},
  year = {1977},
  volume = {6},
  number = {2},
  pages = {323--350},
  month = jun,
  url = {http://locus.siam.org/fulltext/SICOMP/volume-06/0206024.pdf}
}
@article{knight-89,
  author = {Kevin Knight},
  title = {Unification: a multidisciplinary survey},
  journal = {{ACM} Computing Surveys},
  year = {1989},
  volume = {21},
  number = {1},
  pages = {93--124},
  month = mar,
  url = {http://doi.acm.org/10.1145/62029.62030}
}
@article{knuth-77,
  author = {Donald E. Knuth},
  title = {A Generalization of {Dijkstra}'s Algorithm},
  journal = {Information Processing Letters},
  year = {1977},
  volume = {6},
  number = {1},
  pages = {1--5},
  month = feb
}
@article{knuth-lr-65,
  author = {Donald E. Knuth},
  title = {On the translation of languages from left to right},
  journal = {Information \& Control},
  year = {1965},
  volume = {8},
  number = {6},
  pages = {607--639},
  month = dec
}
@inproceedings{kobayashi-implicit-00,
  author = {Naoki Kobayashi and Shin Saito and Eijiro Sumii},
  title = {An Implicitly-Typed Deadlock-Free Process Calculus},
  booktitle = {International Conference on Concurrency Theory
                 (CONCUR)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1877},
  year = {2000},
  month = aug,
  pages = {489--503},
  url = {http://www.yl.is.s.u-tokyo.ac.jp/members/koba/papers/deadlock-inference-concur.ps.gz}
}
@article{kobayashi-linearity-99,
  author = {Naoki Kobayashi and Benjamin C. Pierce and David N.
                 Turner},
  title = {Linearity and the {Pi-Calculus}},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {21},
  number = {5},
  pages = {914--947},
  month = sep,
  year = {1999},
  url = {http://doi.acm.org/10.1145/330249.330251}
}
@article{kobayashi-partial-98,
  author = {Naoki Kobayashi},
  title = {A Partially Deadlock-Free Typed Process Calculus},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {20},
  number = {2},
  pages = {436--482},
  month = mar,
  year = {1998},
  url = {http://doi.acm.org/10.1145/276393.278524}
}
@inproceedings{kobayashi-sumii-98,
  author = {Eijiro Sumii and Naoki Kobayashi},
  title = {A Generalized Deadlock-Free Process Calculus},
  booktitle = {High-Level Concurrent Languages (HLCL)},
  month = sep,
  year = {1998},
  volume = {16},
  series = {Electronic Notes in Theoretical Computer Science},
  publisher = {Elsevier Science},
  pages = {55--77},
  url = {http://www1.elsevier.com/gej-ng/31/29/23/40/26/39/tcs16.3.006.ps}
}
@inproceedings{kobayashi-useless-00,
  author = {Naoki Kobayashi},
  title = {Type-based useless variable elimination},
  pages = {84--93},
  booktitle = {{ACM} Workshop on Evaluation and Semantics-Based
                 Program Manipulation ({PEPM})},
  month = jan,
  year = {2000},
  url = {http://www.yl.is.s.u-tokyo.ac.jp/members/koba/papers/PEPM00.ps.gz}
}
@article{koda-ruskey-93,
  author = {Yasunori Koda and Frank Ruskey},
  title = {A {Gray} Code for the Ideals of a Forest Poset},
  journal = {Journal of Algorithms},
  volume = {15},
  number = {2},
  month = sep,
  year = {1993},
  pages = {324--340},
  url = {http://www.cs.uvic.ca/~ruskey/Publications/ForestIdeals.ps}
}
@inproceedings{kohlbecker-hygienic-86,
  author = {Eugene Kohlbecker and Daniel P. Friedman and Matthias
                 Felleisen and Bruce Duba},
  title = {Hygienic macro expansion},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  year = {1986},
  pages = {151--161},
  url = {http://doi.acm.org/10.1145/319838.319859}
}
@inproceedings{kohlbecker-wand-87,
  author = {Eugene E. Kohlbecker and Mitchell Wand},
  title = {Macro-by-example: Deriving syntactic transformations
                 from their specifications},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1987},
  pages = {77--84},
  url = {http://doi.acm.org/10.1145/41625.41632}
}
@inproceedings{koprowski-binsztok-10,
  author = {Adam Koprowski and Henri Binsztok},
  title = {{TRX}: {A} Formally Verified Parser Interpreter},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {2010},
  pages = {345--365},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6012},
  url = {http://adam-koprowski.net/papers/trx-ESOP-10.pdf}
}
@article{koprowski-binsztok-11,
  author = {Adam Koprowski and Henri Binsztok},
  title = {{TRX}: {A} Formally Verified Parser Interpreter},
  journal = {Logical Methods in Computer Science},
  year = {2011},
  volume = {7},
  number = {2},
  url = {http://arxiv.org/pdf/1105.2576}
}
@inproceedings{koved-al-02,
  author = {Larry Koved and Marco Pistoia and Aaron Kershenbaum},
  title = {Access rights analysis for {Java}},
  pages = {359--372},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = nov,
  year = {2002},
  url = {http://www.research.ibm.com/javasec/OOPSLA2002preprint.pdf}
}
@article{kozen-palsberg-schwartzbach-95,
  author = {Dexter Kozen and Jens Palsberg and Michael I.
                 Schwartzbach},
  title = {Efficient Recursive Subtyping},
  journal = {Mathematical Structures in Computer Science},
  volume = {5},
  number = {1},
  pages = {113--125},
  year = {1995},
  url = {http://www.cs.ucla.edu/~palsberg/paper/mscs95-kps.pdf}
}
@inproceedings{krishnamurthi-99,
  author = {Shriram Krishnamurthi and Matthias Felleisen and Bruce
                 F. Duba},
  title = {From Macros to Reusable Generative Programming},
  booktitle = {Generative and Component-Based Software Engineering},
  pages = {105--120},
  year = {1999},
  volume = {1799},
  series = {Lecture Notes in Computer Science},
  month = sep,
  publisher = {Springer},
  url = {http://www.cs.brown.edu/~sk/Publications/Papers/Published/kfd-macro-to-gen-prog/paper.ps}
}
@inproceedings{krishnaswami-design-patterns-09,
  author = {Neelakantan R. Krishnaswami and Jonathan Aldrich and
                 Lars Birkedal and Kasper Svendsen and Alexandre
                 Buisse},
  title = {Design Patterns in Separation Logic},
  booktitle = {Types in Language Design and Implementation (TLDI)},
  pages = {105--116},
  year = {2009},
  month = jan,
  url = {http://www.cs.cmu.edu/~neelk/design-patterns-tldi09.pdf}
}
@inproceedings{krishnaswami-sharing-12,
  author = {Neelakantan R. Krishnaswami and Aaron Turon and Derek
                 Dreyer and Deepak Garg},
  title = {Superficially substructural types},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2012},
  pages = {41--54},
  url = {http://www.mpi-sws.org/~neelk/icfp12-superficial-krishnaswami-turon-dreyer-garg.pdf}
}
@book{kroening-strichman-08,
  author = {Daniel Kroening and Ofer Strichman},
  title = {Decision procedures -- An algorithmic point of view},
  publisher = {Springer},
  year = {2008},
  url = {http://www.decision-procedures.org/}
}
@inproceedings{kuan-07,
  author = {George Kuan and David MacQueen},
  title = {Efficient type inference using ranked type variables},
  booktitle = {ACM Workshop on ML},
  month = oct,
  year = {2007},
  pages = {3--14},
  url = {http://people.cs.uchicago.edu/~gkuan/pubs/ml07-km.pdf}
}
@inproceedings{kuncak-rinard-03,
  author = {Viktor Kuncak and Martin Rinard},
  title = {Structural Subtyping of Non-Recursive Types is
                 Decidable},
  booktitle = {Logic in Computer Science (LICS)},
  year = {2003},
  month = jun,
  url = {http://www.cag.lcs.mit.edu/~rinard/paper/lics03.pdf}
}
@techreport{kuncak-rinard-tr-03,
  author = {Viktor Kuncak and Martin Rinard},
  title = {On the Theory of Structural Subtyping},
  institution = {MIT Laboratory for Computer Science},
  year = {2003},
  number = {879},
  month = jan,
  url = {http://www.mit.edu/people/vkuncak/papers/TheoryStructuralSubtyping.ps}
}
@inproceedings{laemmel-00,
  author = {Ralf Lämmel and Joost Visser and Jan Kort},
  title = {Dealing with Large Bananas},
  pages = {46--59},
  booktitle = {Workshop on Generic Programming},
  year = {2000},
  month = jul,
  url = {http://homepages.cwi.nl/~ralf/wgp00.ps}
}
@unpublished{laemmel-scrap-05,
  author = {Ralf Lämmel and Simon {Peyton Jones}},
  title = {Scrap your boilerplate with class: extensible generic
                 functions},
  note = {Submitted},
  month = apr,
  year = {2005},
  url = {http://research.microsoft.com/Users/simonpj/papers/hmap/gmap3.ps}
}
@inproceedings{lai-user-99,
  author = {Charlie Lai and Li Gong and Larry Koved and Anthony J.
                 Nadalin and Roland Schemers},
  title = {User Authentication and Authorization in the {Java}
                 Platform},
  booktitle = {Annual Computer Security Applications Conference},
  pages = {285--290},
  month = dec,
  year = {1999},
  url = {http://www.acsac.org/1999/papers/thu-b-1500-lai.pdf}
}
@inproceedings{lammich-14,
  author = {Peter Lammich},
  title = {Verified Efficient Implementation of {Gabow}'s
                 Strongly Connected Component Algorithm},
  booktitle = {Interactive Theorem Proving},
  month = jul,
  year = {2014},
  pages = {325--340},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {8558},
  url = {http://www21.in.tum.de/~lammich/pub/gabow_scc.pdf}
}
@article{lampson-73,
  author = {Butler W. Lampson},
  title = {A Note on the Confinement Problem},
  journal = {Communications of the {ACM}},
  volume = {16},
  number = {10},
  pages = {613--615},
  month = oct,
  year = {1973},
  url = {http://research.microsoft.com/lampson/11-Confinement/WebPage.html}
}
@article{landin-64,
  author = {Peter J. Landin},
  title = {The Mechanical Evaluation of Expressions},
  journal = {Computer Journal},
  volume = {6},
  number = {4},
  month = jan,
  year = {1964},
  pages = {308--320}
}
@article{landin-65,
  author = {Peter J. Landin},
  title = {Correspondence between {ALGOL} 60 and {Church's}
                 Lambda-notation: part {I}},
  journal = {Communications of the {ACM}},
  volume = {8},
  number = {2},
  year = {1965},
  pages = {89--101},
  url = {http://doi.acm.org/10.1145/363744.363749}
}
@phdthesis{larus-89,
  author = {James Richard Larus},
  title = {Restructuring Symbolic Programs for Concurrent
                 Execution on Multiprocessors},
  school = {EECS Department, University of California, Berkeley},
  year = {1989},
  month = may,
  note = {Technical Report UCB/CSD-89-502},
  url = {http://www.eecs.berkeley.edu/Pubs/TechRpts/1989/CSD-89-502.pdf}
}
@inproceedings{lassen-06,
  author = {Soren B. Lassen},
  title = {Head Normal Form Bisimulation for Pairs and the
                 $\lambda\mu$-Calculus},
  booktitle = {Logic in Computer Science (LICS)},
  month = aug,
  year = {2006},
  pages = {297--306},
  url = {http://www.blassen.dk/soren/papers/2006lics.pdf}
}
@inproceedings{lassen-99,
  author = {Soren B. Lassen},
  title = {Bisimulation in untyped lambda calculus: {Böhm} trees
                 and bisimulation up to context},
  booktitle = {Mathematical Foundations of Programming Semantics},
  pages = {346--374},
  year = {1999},
  volume = {20},
  series = {Electronic Notes in Theoretical Computer Science},
  month = apr,
  publisher = {Elsevier Science},
  url = {http://www.blassen.dk/soren/papers/1999mfps15.ps}
}
@incollection{lassez-al-88,
  author = {Jean-Louis Lassez and Michael J. Maher and Kim G.
                 Marriott},
  editor = {Jack Minker},
  booktitle = {Foundations of Deductive Databases and Logic
                 Programming},
  title = {Unification Revisited},
  chapter = {15},
  publisher = {Morgan Kaufmann},
  year = {1988},
  pages = {587--625}
}
@article{lassez-nguyen-sonenberg-82,
  author = {Jean-Louis Lassez and V. L. Nguyen and Liz Sonenberg},
  title = {Fixed point theorems and semantics: a folk tale},
  journal = {Information Processing Letters},
  year = {1982},
  volume = {14},
  number = {3},
  pages = {112--116},
  month = may,
  url = {http://dx.doi.org/10.1016/0020-0190(82)90065-5}
}
@inproceedings{laufer-odersky-92,
  author = {Martin Odersky and Konstantin Läufer},
  title = {An Extension of {ML} with First-Class Abstract Types},
  year = {1992},
  month = jun,
  booktitle = {ACM Workshop on ML and its Applications},
  pages = {78--91},
  url = {http://www.cs.luc.edu/laufer/papers/ml92.pdf}
}
@article{laufer-odersky-94,
  author = {Konstantin L{\"a}ufer and Martin Odersky},
  title = {Polymorphic Type Inference and Abstract Data Types},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {1994},
  month = sep,
  pages = {1411--1430},
  volume = {16},
  number = {5},
  url = {http://www.cs.luc.edu/laufer/papers/toplas94.pdf}
}
@article{launchbury-peyton-jones-95,
  author = {John Launchbury and Simon Peyton Jones},
  title = {State in {Haskell}},
  journal = {{LISP} and Symbolic Computation},
  publisher = {Springer},
  pages = {293--341},
  year = {1995},
  volume = {8},
  number = {4},
  url = {http://dx.doi.org/10.1007/BF01018827}
}
@inproceedings{laviron-chang-rival-10,
  author = {Vincent Laviron and Bor-Yuh Evan Chang and Xavier
                 Rival},
  title = {Separating Shape Graphs},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {2010},
  pages = {387--406},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6012},
  url = {http://xisa.cs.colorado.edu/papers/esop10-sepshapegraph.pdf}
}
@techreport{le-charlier-van-hentenryck-92,
  author = {Baudouin {Le Charlier} and Pascal {Van Hentenryck}},
  title = {A Universal Top-Down Fixpoint Algorithm},
  institution = {Brown University},
  year = {1992},
  type = {Technical Report},
  number = {CS-92-25},
  month = may,
  url = {ftp://ftp.cs.brown.edu/pub/techreports/92/cs92-25.ps.gz}
}
@article{league-02,
  author = {Christopher League and Zhong Shao and Valery
                 Trifonov},
  title = {Type-Preserving Compilation of {Featherweight}
                 {Java}},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {2002},
  volume = {24},
  number = {2},
  pages = {112--152},
  month = mar,
  url = {http://flint.cs.yale.edu/flint/publications/fj-toplas.html}
}
@inproceedings{league-03,
  author = {Christopher League and Zhong Shao and Valery
                 Trifonov},
  title = {Precision in Practice: a Type-Preserving {Java}
                 Compiler},
  booktitle = {Compiler Construction (CC)},
  pages = {106--120},
  year = {2003},
  volume = {2622},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://flint.cs.yale.edu/flint/publications/piptr.html}
}
@inproceedings{league-99,
  author = {Christopher League and Zhong Shao and Valery
                 Trifonov},
  title = {Representing {Java} Classes in a Typed Intermediate
                 Language},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {183--196},
  month = sep,
  year = {1999},
  url = {http://flint.cs.yale.edu/flint/publications/javaflint2.html}
}
@inproceedings{leavens-baker-99,
  author = {Gary T. Leavens and Albert L. Baker},
  title = {Enhancing the Pre- and Postcondition Technique for
                 More Expressive Specifications},
  booktitle = {Formal Methods (FM)},
  volume = {1709},
  series = {Lecture Notes in Computer Science},
  month = jan,
  year = {1999},
  pages = {1087--1106},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/3-540-48118-4_8}
}
@inproceedings{lebotlan-remy-03,
  author = {Didier {Le Botlan} and Didier R{\'e}my},
  title = {{MLF}: Raising {ML} to the power of System ${F}$},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {27--38},
  year = {2003},
  month = aug,
  url = {http://gallium.inria.fr/~remy/work/mlf/icfp.pdf}
}
@inproceedings{lebresne-08,
  author = {Sylvain Lebresne},
  title = {A System ${F}$ with Call-by-Name Exceptions},
  booktitle = {International Colloquium on Automata, Languages and
                 Programming},
  month = jun,
  year = {2008},
  pages = {323--335},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5126},
  url = {http://www.pps.jussieu.fr/~lebresne/papers/SystemFWithExceptions.pdf}
}
@article{lee-yi-98,
  author = {Oukseh Lee and Kwangkeun Yi},
  title = {Proofs about a folklore let-polymorphic type inference
                 algorithm},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {20},
  number = {4},
  year = {1998},
  pages = {707--723},
  url = {http://doi.acm.org/10.1145/291891.291892}
}
@inproceedings{lefessant-maranget-01,
  author = {Fabrice {Le Fessant} and Luc Maranget},
  title = {Optimizing Pattern Matching},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2001},
  url = {http://gallium.inria.fr/~maranget/papers/opt-pat.ps.gz}
}
@article{leino-05,
  author = {K. Rustan M. Leino},
  title = {Efficient Weakest Preconditions},
  journal = {Information Processing Letters},
  year = {2005},
  volume = {93},
  number = {6},
  pages = {281--288},
  url = {http://research.microsoft.com/pubs/70052/tr-2004-34.pdf}
}
@inproceedings{leino-mueller-chalice-09,
  author = {K. Rustan M. Leino and Peter M{\"u}ller},
  title = {A Basis for Verifying Multi-threaded Programs},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {2009},
  pages = {378--393},
  series = {Lecture Notes in Computer Science},
  volume = {5502},
  publisher = {Springer},
  url = {http://research.microsoft.com/en-us/um/people/leino/papers/krml191.pdf}
}
@inproceedings{leino-mueller-smans-09,
  author = {K. Rustan M. Leino and Peter Müller and Jan Smans},
  title = {Verification of Concurrent Programs with {Chalice}},
  booktitle = {Foundations of Security Analysis and Design},
  year = {2009},
  pages = {195--222},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5705},
  url = {http://research.microsoft.com/en-us/um/people/leino/papers/krml197.pdf}
}
@inproceedings{leino-mueller-smans-10,
  author = {K. Rustan M. Leino and Peter Müller and Jan Smans},
  title = {Deadlock-Free Channels and Locks},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {2010},
  pages = {407--426},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6012},
  url = {http://research.microsoft.com/en-us/um/people/leino/papers/krml200ext.pdf}
}
@article{leino-nelson-02,
  author = {K. Rustan M. Leino and Greg Nelson},
  title = {Data abstraction and information hiding},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {24},
  number = {5},
  year = {2002},
  pages = {491--553},
  url = {http://research.microsoft.com/~leino/papers/krml71.pdf}
}
@inproceedings{leino-schulte-07,
  author = {K. Rustan M. Leino and Wolfram Schulte},
  title = {Using History Invariants to Verify Observers},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2007},
  pages = {80--94},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {4421},
  url = {http://research.microsoft.com/en-us/um/people/leino/papers/krml166.pdf}
}
@phdthesis{leroy-92,
  author = {Xavier Leroy},
  title = {Typage polymorphe d'un langage algorithmique},
  school = {Université Paris 7},
  month = jun,
  year = {1992},
  pages = {196},
  url = {http://gallium.inria.fr/~xleroy/publi/these-doctorat.ps.gz}
}
@inproceedings{leroy-compcert-06,
  author = {Xavier Leroy},
  title = {Formal certification of a compiler back-end or:
                 programming a compiler with a proof assistant},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2006},
  pages = {42--54},
  url = {http://gallium.inria.fr/~xleroy/publi/compiler-certif.pdf}
}
@techreport{leroy-phd-92,
  author = {Xavier Leroy},
  title = {Polymorphic typing of an algorithmic language},
  institution = {INRIA},
  year = {1992},
  type = {Research Report},
  number = {1778},
  month = oct,
  url = {http://gallium.inria.fr/~xleroy/publi/phd-thesis.ps.gz}
}
@mastersthesis{lescuyer-06,
  author = {Stéphane Lescuyer},
  title = {Codage de la logique du premier ordre polymorphe
                 multi-sortée dans la logique sans sortes},
  school = {Master Parisien de Recherche en Informatique},
  year = {2006},
  url = {http://www.seas.upenn.edu/~lescuyer/pdf/RapportDEA.pdf}
}
@phdthesis{letouzey-04,
  author = {Pierre Letouzey},
  title = {Programmation fonctionnelle certifiée -- l'extraction
                 de programmes dans l'assistant {Coq}},
  school = {Université Paris 11},
  year = {2004},
  month = jul,
  url = {http://www.lri.fr/~letouzey/download/these_letouzey.ps.gz}
}
@inproceedings{levy-02,
  author = {Paul Blain Levy},
  title = {Possible World Semantics for General Storage in
                 Call-By-Value},
  booktitle = {Computer Science Logic},
  series = {Lecture Notes in Computer Science},
  volume = {2471},
  publisher = {Springer},
  year = {2002},
  url = {http://www.cs.bham.ac.uk/~pbl/papers/storagecbv.ps}
}
@inproceedings{lewis-al-00,
  author = {Jeffrey Lewis and Mark Shields and Erik Meijer and
                 John Launchbury},
  title = {Implicit Parameters: Dynamic Scoping with Static
                 Types},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2000},
  month = jan,
  pages = {108--118},
  url = {http://www.cse.ogi.edu/~mbs/pub/implicit_parameters/implicit.ps}
}
@inproceedings{ley-wild-nanevski-subjective-13,
  author = {Ruy Ley-Wild and Aleksandar Nanevski},
  title = {Subjective auxiliary state for coarse-grained
                 concurrency},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2013},
  pages = {561--574},
  url = {http://software.imdea.org/~aleks/papers/concur/scsl4.pdf}
}
@inproceedings{licata-harper-09,
  author = {Daniel R. Licata and Robert Harper},
  title = {A universe of binding and computation},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2009},
  pages = {123--134},
  url = {http://www.cs.cmu.edu/~drl/pubs/lh09unibind/lh09unibind.pdf}
}
@inproceedings{licata-zeilberger-harper-08,
  author = {Daniel R. Licata and Noam Zeilberger and Robert
                 Harper},
  title = {Focusing on Binding and Computation},
  booktitle = {Logic in Computer Science (LICS)},
  month = jun,
  year = {2008},
  pages = {241--252},
  url = {http://www.cs.cmu.edu/~rwh/papers/focusing/paper.pdf}
}
@techreport{licata-zeilberger-harper-08-tr,
  author = {Daniel R. Licata and Noam Zeilberger and Robert
                 Harper},
  title = {Focusing on Binding and Computation},
  institution = {Carnegie Mellon University},
  year = {2008},
  number = {CMU-CS-08-101},
  month = feb,
  url = {http://www.cs.cmu.edu/~noam/research/lzh08focbind-tr.pdf}
}
@book{liskov-guttag-01,
  author = {Barbara Liskov and John V. Guttag},
  title = {Program Development in {Java} -- Abstraction,
                 Specification, and Object-Oriented Design},
  year = {2001},
  publisher = {Addison-Wesley},
  url = {http://dl.acm.org/citation.cfm?id=556707}
}
@article{liskov-wing-94,
  author = {Barbara Liskov and Jeannette M. Wing},
  title = {A Behavioral Notion of Subtyping},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {16},
  number = {6},
  year = {1994},
  pages = {1811--1841},
  url = {http://www.cs.cmu.edu/~wing/publications/LiskovWing94.pdf}
}
@inproceedings{liu-smolka-98,
  author = {Xinxin Liu and Scott A. Smolka},
  title = {Simple Linear-Time Algorithms for Minimal Fixed
                 Points},
  booktitle = {International Colloquium on Automata, Languages and
                 Programming},
  month = jul,
  year = {1998},
  pages = {53--66},
  series = {Lecture Notes in Computer Science},
  volume = {1443},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/BFb0055040}
}
@techreport{lngen-10,
  author = {Brian Aydemir and Stephanie Weirich},
  title = {{LNgen}: Tool Support for Locally Nameless
                 Representations},
  institution = {University of Pennsylvania Department of Computer and
                 Information Science},
  year = {2010},
  type = {Technical Report},
  number = {MS-CIS-10-24},
  month = jun,
  url = {http://repository.upenn.edu/cis_reports/933/}
}
@inproceedings{longley-99,
  author = {John Longley},
  title = {When is a Functional Program Not a Functional
                 Program?},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {1999},
  pages = {1--7},
  url = {http://doi.acm.org/10.1145/317636.317775}
}
@inproceedings{longley-pollack-04,
  author = {John Longley and Randy Pollack},
  title = {Reasoning About {CBV} Functional Programs in
                 {Isabelle/HOL}},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  month = sep,
  year = {2004},
  pages = {201--216},
  url = {http://homepages.inf.ed.ac.uk/rpollack/export/LongleyPollack04.pdf},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3223}
}
@inproceedings{lucassen-gifford-88,
  author = {John M. Lucassen and David K. Gifford},
  title = {Polymorphic effect systems},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1988},
  pages = {47--57},
  url = {http://pag.lcs.mit.edu/reading-group/lucassen88effects.pdf}
}
@article{macqueen-plotkin-sethi-86,
  author = {David B. MacQueen and Gordon D. Plotkin and Ravi
                 Sethi},
  title = {An Ideal Model for Recursive Polymorphic Types},
  journal = {Information and Control},
  month = oct # {--} # nov,
  volume = {71},
  number = {1--2},
  year = {1986},
  pages = {95--130}
}
@phdthesis{mader-97,
  school = {Technische Universität München},
  author = {Angelika Mader},
  title = {Verification of Modal Properties Using {Boolean}
                 Equation Systems},
  year = {1997},
  url = {http://eprints.eemcs.utwente.nl/1078/02/diss.pdf}
}
@inproceedings{maeda-11,
  author = {Toshiyuki Maeda and Haruki Sato and Akinori Yonezawa},
  title = {Extended Alias Type System using Separating
                 Implication},
  booktitle = {Types in Language Design and Implementation (TLDI)},
  year = {2011},
  month = jan,
  url = {http://dx.doi.org/10.1145/1929553.1929559}
}
@inproceedings{maher-88,
  author = {Michael J. Maher},
  title = {Complete Axiomatizations of the Algebras of Finite,
                 Rational and Infinite Trees},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {348--357},
  year = {1988},
  month = jul
}
@inproceedings{mairson-90,
  author = {Harry G. Mairson},
  title = {Deciding {ML} typability is complete for deterministic
                 exponential time},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1990},
  pages = {382--401},
  url = {http://doi.acm.org/10.1145/96709.96748}
}
@incollection{mairson-kanellakis-mitchell-91,
  author = {Harry G. Mairson and Paris C. Kanellakis and John C.
                 Mitchell},
  title = {Unification and {ML} type reconstruction},
  booktitle = {Computational Logic: Essays in Honor of Alan
                 Robinson},
  publisher = {MIT Press},
  year = {1991},
  editor = {J.-L. Lassez and G. Plotkin},
  pages = {444--478}
}
@article{marche-krakatoa-04,
  author = {Claude Marché and Christine Paulin-Mohring and Xavier
                 Urbain},
  title = {The {Krakatoa} tool for certification of
                 {Java}/{JavaCard} programs annotated in {JML}},
  journal = {Journal of Logic and Algebraic Programming},
  year = {2004},
  volume = {58},
  number = {1--2},
  pages = {89--106},
  url = {http://www3.ensiie.fr/~urbain/textes/jlap.ps.gz}
}
@article{maric-09,
  author = {Filip Mari\'c},
  title = {Formalization and Implementation of Modern {SAT}
                 Solvers},
  journal = {Journal of Automated Reasoning},
  year = {2009},
  volume = {43},
  pages = {81--119},
  url = {http://poincare.matf.bg.ac.rs/~filip//phd/sat-tutorial.pdf}
}
@unpublished{maric-10,
  author = {Filip Mari\'c},
  title = {Formal Verification of a Modern {SAT} Solver},
  note = {Unpublished},
  month = jan,
  year = {2010},
  url = {http://poincare.matf.bg.ac.rs/~filip//phd/sat-verification-shallow.pdf}
}
@inproceedings{marlow-wadler-erlang-97,
  title = {A Practical Subtyping System for {Erlang}},
  author = {Simon Marlow and Philip Wadler},
  pages = {136--149},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = jun,
  year = {1997}
}
@techreport{marriott-odersky-boolean-94,
  author = {Kim Marriott and Martin Odersky},
  title = {Negative {Boolean} Constraints},
  institution = {Monash University},
  year = {1994},
  number = {94/203},
  month = aug,
  url = {http://lampwww.epfl.ch/~odersky/papers/negative-tr.ps.gz}
}
@article{martelli-montanari-82,
  author = {Alberto Martelli and Ugo Montanari},
  title = {An Efficient Unification Algorithm},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {4},
  number = {2},
  pages = {258--282},
  month = apr,
  year = {1982},
  url = {http://doi.acm.org/10.1145/357162.357169}
}
@article{mateescu-sighireanu-03,
  author = {Radu Mateescu and Mihaela Sighireanu},
  title = {Efficient on-the-fly model-checking for regular
                 alternation-free mu-calculus},
  journal = {Science of Computer Programming},
  volume = {46},
  number = {3},
  year = {2003},
  pages = {255--281},
  url = {ftp://ftp.inrialpes.fr/pub/vasy/publications/cadp/Mateescu-Sighireanu-03.pdf}
}
@techreport{mauny-pottier-93,
  author = {Michel Mauny and François Pottier},
  title = {An implementation of {Caml Light} with existential
                 types},
  number = {2183},
  institution = {INRIA},
  year = {1993},
  url = {http://gallium.inria.fr/~fpottier/publis/rapport-maitrise.ps.gz}
}
@inproceedings{mazurak-10,
  author = {Karl Mazurak and Jianzhou Zhao and Steve Zdancewic},
  title = {Lightweight linear types in system ${F}^\circ$},
  booktitle = {Types in Language Design and Implementation (TLDI)},
  month = jan,
  year = {2010},
  pages = {77--88},
  url = {http://www.cis.upenn.edu/~stevez/papers/MZZ10.pdf}
}
@inproceedings{mcadam-98,
  title = {{On the Unification of Substitutions in Type
                 Inference}},
  author = {Bruce J. McAdam},
  publisher = {Springer},
  booktitle = {Implementation of Functional Languages (IFL)},
  series = {Lecture Notes in Computer Science},
  volume = {1595},
  month = sep,
  year = {1998},
  pages = {139--154},
  url = {http://www.scms.rgu.ac.uk/staff/bjm/doc/IFL_98.ps}
}
@article{mcallester-02,
  author = {David McAllester},
  title = {On the Complexity Analysis of Static Analyses},
  year = {2002},
  pages = {512--537},
  journal = {Journal of the {ACM}},
  volume = {49},
  number = {4},
  month = jul,
  url = {http://doi.acm.org/10.1145/581771.581774}
}
@inproceedings{mcallester-03,
  author = {David McAllester},
  title = {A Logical Algorithm for {ML} Type Inference},
  booktitle = {Rewriting Techniques and Applications (RTA)},
  month = jun,
  year = {2003},
  pages = {436--451},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {2706},
  url = {http://ttic.uchicago.edu/~dmcallester/rta03.ps}
}
@unpublished{mcbride-derivative,
  author = {Conor McBride},
  title = {The Derivative of a Regular Type is its Type of
                 One-Hole Contexts},
  note = {Unpublished},
  url = {http://strictlypositive.org/diff.pdf}
}
@inproceedings{mcbride-mckinna-04,
  author = {Conor McBride and James McKinna},
  title = {{I} am not a number: {I} am a free variable},
  booktitle = {Haskell workshop},
  year = {2004},
  month = sep,
  url = {http://www.cs.ru.nl/~james/RESEARCH/haskell2004.pdf}
}
@article{mcbride-paterson-08,
  author = {Conor McBride and Ross Paterson},
  title = {Applicative Programming with Effects},
  journal = {Journal of Functional Programming},
  year = {2008},
  volume = {18},
  number = {1},
  pages = {1--13},
  url = {http://www.soi.city.ac.uk/~ross/papers/Applicative.pdf}
}
@article{mcbride-unif-03,
  author = {Conor McBride},
  title = {First-order unification by structural recursion},
  journal = {Journal of Functional Programming},
  volume = {13},
  number = {6},
  year = {2003},
  pages = {1061--1075},
  url = {http://strictlypositive.org/unify.ps.gz}
}
@inproceedings{mckinna-pollack-93,
  author = {James McKinna and Randy Pollack},
  title = {Pure Type Systems Formalized},
  booktitle = {Typed Lambda Calculi and Applications (TLCA)},
  year = {1993},
  pages = {289--305},
  month = mar,
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  number = {664},
  url = {http://www.dcs.ed.ac.uk/home/rap/export/formalPTS.ps.gz}
}
@article{mckinna-pollack-99,
  author = {James McKinna and Randy Pollack},
  title = {Some Lambda Calculus and Type Theory Formalized},
  journal = {Journal of Automated Reasoning},
  year = {1999},
  volume = {23},
  number = {3--4},
  pages = {373--409}
}
@incollection{mclean-94,
  author = {John {McLean}},
  title = {Security Models},
  year = {1994},
  booktitle = {Encyclopedia of Software Engineering},
  editor = {John Marciniak},
  publisher = {John Wiley \& Sons},
  url = {http://chacs.nrl.navy.mil/publications/CHACS/1994/1994mclean-ency.ps}
}
@inproceedings{mclean-composition-94,
  author = {John {McLean}},
  title = {A General Theory of Composition for Trace Sets Closed
                 Under Selective Interleaving Functions},
  year = {1994},
  booktitle = {{IEEE} Symposium on Security and Privacy (S\&P)},
  url = {http://chacs.nrl.navy.mil/publications/CHACS/1994/1994mclean-sp.ps}
}
@inproceedings{meadows-94,
  author = {Catherine Meadows},
  title = {Formal Verification of Cryptographic Protocols: {A}
                 Survey},
  booktitle = {Advances in Cryptology -- {ASIA\-CRYPT}'94},
  year = {1995},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {917},
  pages = {133--150},
  url = {http://chacs.nrl.navy.mil/publications/CHACS/1995/1995meadows-asiacrypt94.ps}
}
@article{mehta-nipkow-05,
  author = {Farhad Mehta and Tobias Nipkow},
  title = {Proving pointer programs in higher-order logic},
  journal = {Information and Computation},
  volume = {199},
  number = {1--2},
  year = {2005},
  pages = {200--227},
  url = {http://www4.informatik.tu-muenchen.de/~nipkow/pubs/ic05.ps.gz}
}
@article{melham-hol-93,
  author = {Thomas F. Melham},
  title = {The {HOL} Logic Extended with Quantification over Type
                 Variables},
  journal = {Formal Methods in System Design},
  year = {1993},
  volume = {3},
  number = {1--2},
  pages = {7--24},
  month = aug,
  url = {http://web.comlab.ox.ac.uk/oucl/work/tom.melham/pub/Melham-1994-HLE.pdf}
}
@article{melski-reps-00,
  author = {David Melski and Thomas Reps},
  title = {Interconvertibility of a class of set constraints and
                 context-free language reachability},
  journal = {Theoretical Computer Science},
  month = nov,
  year = {2000},
  volume = {248},
  number = {1--2},
  url = {http://www.cs.wisc.edu/wpis/papers/tcs_submission98r2.ps}
}
@misc{menhir,
  author = {François Pottier and Yann Régis-Gianas},
  title = {The {Menhir} parser generator},
  note = {\url{http://gallium.inria.fr/~fpottier/menhir/}}
}
@manual{merr,
  title = {{Merr} User's Guide},
  author = {Clinton L. Jeffery},
  month = jul,
  year = {2002},
  url = {http://unicon.sourceforge.net/merr/merrguid.pdf}
}
@inproceedings{merz-00,
  author = {Stephan Merz},
  title = {Model Checking: {A} Tutorial Overview},
  booktitle = {Fourth Summer School on Modeling and Verification of
                 Parallel Processes},
  pages = {3--38},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2067},
  year = {2001},
  url = {http://www.loria.fr/~merz/papers/mc-tutorial.pdf}
}
@inproceedings{merz-08,
  author = {Stephan Merz},
  editor = {N. Navet and S. Merz},
  booktitle = {Modeling and Verification of Real-Time Systems:
                 Formalisms and Software Tools},
  title = {An Introduction to Model Checking},
  publisher = {ISTE Publishing},
  year = {2008},
  pages = {77--109},
  url = {http://www.loria.fr/~merz/papers/mc-iste2008.pdf}
}
@inproceedings{miller-90,
  author = {Dale Miller},
  title = {An Extension to {ML} to Handle Bound Variables in Data
                 Structures},
  booktitle = {Logical Frameworks BRA Workshop},
  year = {1990},
  month = may,
  url = {http://www.lix.polytechnique.fr/Labo/Dale.Miller/papers/mll.pdf}
}
@article{miller-92,
  author = {Dale Miller},
  title = {Unification Under a Mixed Prefix},
  journal = {Journal of Symbolic Computation},
  volume = {14},
  number = {4},
  year = {1992},
  pages = {321--358},
  url = {http://www.lix.polytechnique.fr/~dale/papers/jsc92.pdf}
}
@article{millstein-chambers-02,
  author = {Todd Millstein and Craig Chambers},
  title = {Modular statically typed multimethods},
  journal = {Information and Computation},
  year = {2002},
  volume = {175},
  number = {1},
  pages = {76--118},
  month = may,
  url = {http://www.cs.ucla.edu/~todd/research/iandc.ps}
}
@inproceedings{millstein-chambers-99,
  author = {Todd Millstein and Craig Chambers},
  title = {Modular statically typed multimethods},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  pages = {279--303},
  year = {1999},
  volume = {1628},
  series = {Lecture Notes in Computer Science},
  month = jun,
  publisher = {Springer},
  url = {http://www.cs.ucla.edu/~todd/research/ecoop99.ps}
}
@article{milner-78,
  title = {A Theory of Type Polymorphism in Programming},
  author = {Robin Milner},
  pages = {348--375},
  journal = {Journal of Computer and System Sciences},
  year = {1978},
  month = dec,
  volume = {17},
  number = {3},
  url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.67.5276}
}
@techreport{milner-91,
  author = {Robin Milner},
  institution = {Laboratory for Foundations of Computer Science,
                 Department of Computer Science, University of
                 Edinburgh},
  month = oct,
  number = {{ECS--LFCS--91--180}},
  title = {The Polyadic $\pi$-Calculus: a Tutorial},
  year = {1991},
  url = {ftp://ftp.cl.cam.ac.uk/users/rm135/ppi.ps.Z}
}
@inproceedings{milner-lcf-72,
  author = {Robin Milner},
  title = {Implementation and applications of {Scott's} logic for
                 computable functions},
  booktitle = {Proceedings of the {ACM} conference on proving
                 assertions about programs},
  month = jan,
  year = {1972},
  pages = {1--6},
  url = {http://doi.acm.org/10.1145/800235.807067}
}
@techreport{milner-lcf-tr-72,
  author = {Robin Milner},
  title = {Logic for Computable Functions -- Description of a
                 Machine Implementation},
  institution = {Stanford University, Department of Computer Science},
  year = {1972},
  number = {CS-TR-72-288},
  month = may,
  url = {ftp://reports.stanford.edu/pub/cstr/reports/cs/tr/72/288/CS-TR-72-288.pdf}
}
@techreport{milner-lcf-tr-73,
  author = {Robin Milner},
  title = {Models of {LCF}},
  institution = {Stanford University, Department of Computer Science},
  year = {1973},
  number = {CS-TR-73-332},
  month = jan,
  url = {ftp://reports.stanford.edu/pub/cstr/reports/cs/tr/73/332/CS-TR-73-332.pdf}
}
@techreport{milner-parrow-walker-89b,
  author = {Robin Milner and Joachim Parrow and David Walker},
  title = {A Calculus of Mobile Processes, part 2},
  institution = {Laboratory for Foundations of Computer Science, School
                 of Informatics at the University of Edinburgh},
  year = {1989},
  number = {ECS-LFCS-89-86},
  url = {http://www.lfcs.inf.ed.ac.uk/reports/89/ECS-LFCS-89-86/ECS-LFCS-89-86.ps}
}
@inproceedings{milner-sangiorgi-92,
  title = {Barbed Bisimulation},
  author = {Robin Milner and Davide Sangiorgi},
  booktitle = {International Colloquium on Automata, Languages and
                 Programming},
  month = jul,
  year = {1992},
  series = {Lecture Notes in Computer Science},
  volume = {623},
  publisher = {Springer},
  pages = {685--695},
  url = {ftp://ftp-sop.inria.fr/meije/theorie-par/davides/bn.ps.gz}
}
@inproceedings{minamide-98,
  author = {Yasuhiko Minamide},
  title = {A functional representation of data structures with a
                 hole},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1998},
  pages = {75--84},
  url = {http://www.score.cs.tsukuba.ac.jp/~minamide/papers/hole.popl98.pdf}
}
@inproceedings{minamide-al-96,
  author = {Yasuhiko Minamide and Greg Morrisett and Robert
                 Harper},
  title = {Typed closure conversion},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1996},
  pages = {271--283},
  url = {http://www.cs.cornell.edu/Info/People/jgm/papers/closure-summary.ps}
}
@article{mitchell-05,
  author = {David G. Mitchell},
  title = {A {SAT} Solver Primer.},
  journal = {Bulletin of the EATCS},
  volume = {85},
  month = feb,
  year = {2005},
  pages = {112--133},
  url = {http://www.cs.sfu.ca/~mitchell/papers/colLogCS85.pdf}
}
@inproceedings{mitchell-84,
  author = {John C. Mitchell},
  title = {Coercion and type inference},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {175--185},
  month = jan,
  year = {1984},
  url = {http://portal.acm.org/citation.cfm?id=800529&dl=ACM&coll=portal}
}
@inproceedings{mitchell-86,
  author = {John C. Mitchell},
  title = {Representation Independence and Data Abstraction},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1986},
  pages = {263--276},
  url = {http://dx.doi.org/10.1145/512644.512669}
}
@article{mitchell-88,
  author = {John C. Mitchell},
  title = {Polymorphic type inference and containment},
  journal = {Information and Computation},
  year = {1988},
  volume = {76},
  number = {2--3},
  pages = {211--249},
  url = {http://dx.doi.org/10.1016/0890-5401(88)90009-0}
}
@article{mitchell-91,
  author = {John C. Mitchell},
  title = {Type Inference with Simple Subtypes},
  journal = {Journal of Functional Programming},
  year = {1991},
  volume = {1},
  number = {3},
  month = jul,
  pages = {245--286}
}
@book{mitchell-96,
  author = {John C. Mitchell},
  title = {Foundations for Programming Languages},
  publisher = {MIT Press},
  year = {1996}
}
@article{mitchell-plotkin-88,
  author = {John C. Mitchell and Gordon D. Plotkin},
  title = {Abstract types have existential type},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {10},
  number = {3},
  year = {1988},
  pages = {470--502},
  url = {http://theory.stanford.edu/people/jcm/papers/mitch-plotkin-88.pdf}
}
@article{mizuno-schmidt-92,
  author = {Masaaki Mizuno and David A. Schmidt},
  journal = {Formal Aspects of Computing},
  title = {A Security Flow Control Algorithm and Its Denotational
                 Semantics Correctness Proof},
  year = {1992},
  volume = {4},
  number = {6A},
  pages = {727--754},
  url = {ftp://ftp.cis.ksu.edu/pub/CIS/Schmidt/papers/security.ps.Z}
}
@misc{mlton,
  author = {Henry Cejtin and Matthew Fluet and Suresh Jagannathan
                 and Stephen Weeks},
  title = {The {MLton} compiler},
  year = {2007},
  url = {http://mlton.org/}
}
@inproceedings{mogelberg-staton-10,
  author = {Rasmus Ejlers Møgelberg and Sam Staton},
  title = {Full abstraction in a metalanguage for state},
  booktitle = {Workshop on Syntax and Semantics of Low Level
                 Languages},
  year = {2010},
  month = jul
}
@inproceedings{moggi-89,
  author = {Eugenio Moggi},
  title = {Computational $\lambda$-Calculus and Monads},
  booktitle = {Logic in Computer Science (LICS)},
  year = {1989},
  month = jun,
  pages = {14--23},
  url = {http://www.disi.unige.it/person/MoggiE/ftp/lics89.ps.gz}
}
@techreport{moggi-89b,
  author = {Eugenio Moggi},
  title = {An abstract view of programming languages},
  institution = {University of Edinburgh},
  number = {ECS-LFCS-90-113},
  month = jun,
  year = {1989},
  url = {http://www.disi.unige.it/person/MoggiE/ftp/abs-view.ps.gz}
}
@article{moggi-91,
  author = {Eugenio Moggi},
  title = {Notions of computation and monads},
  journal = {Information and Computation},
  year = {1991},
  volume = {93},
  number = {1},
  url = {http://www.disi.unige.it/person/MoggiE/ftp/ic91.pdf}
}
@article{moggi-sabry-04,
  author = {Eugenio Moggi and Amr Sabry},
  title = {An Abstract Monadic Semantics for Value Recursion},
  journal = {Informatique théorique et applications},
  year = {2004},
  volume = {38},
  number = {4},
  pages = {377--400},
  url = {http://www.disi.unige.it/person/MoggiE/ftp/ita04.pdf}
}
@article{monadic-regions-06,
  author = {Matthew Fluet and Greg Morrisett},
  title = {Monadic Regions},
  journal = {Journal of Functional Programming},
  year = {2006},
  volume = {16},
  number = {4--5},
  pages = {485--545},
  url = {http://ttic.uchicago.edu/~fluet/research/rgn-monad/JFP06/jfp06.pdf}
}
@unpublished{monnier-08,
  author = {Stefan Monnier},
  title = {Statically tracking state with Typed Regions},
  note = {Unpublished},
  month = may,
  year = {2008},
  url = {http://www.iro.umontreal.ca/~monnier/tr.pdf}
}
@inproceedings{montagu-remy-09,
  author = {Beno{\^\i}t Montagu and Didier R{\'e}my},
  title = {Modeling Abstract Types in Modules with Open
                 Existential Types},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2009},
  url = {http://gallium.inria.fr/~remy/modules/Montagu-Remy@popl09:fzip.pdf},
  pages = {63--74}
}
@article{morrisett-al-07,
  title = {${L}^3$: {A} Linear Language with Locations},
  author = {Amal Ahmed and Matthew Fluet and Greg Morrisett},
  journal = {Fundamenta Informaticæ},
  year = {2007},
  number = {4},
  volume = {77},
  pages = {397--449},
  url = {http://ttic.uchicago.edu/~amal/papers/linloc-fi07.pdf}
}
@article{morrisett-ftal-99,
  author = {Greg Morrisett and David Walker and Karl Crary and
                 Neal Glew},
  title = {From System {F} to Typed Assembly Language},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {1999},
  volume = {21},
  number = {3},
  pages = {528--569},
  month = may,
  url = {http://www.cs.cornell.edu/talc/papers/tal-toplas.pdf}
}
@inproceedings{morrisett-rec-98,
  author = {Greg Morrisett and Robert Harper},
  title = {Typed Closure Conversion for Recursively-Defined
                 Functions (Extended Abstract)},
  booktitle = {Higher Order Operational Techniques in Semantics
                 (HOOTS)},
  year = {1998},
  series = {Electronic Notes in Theoretical Computer Science},
  volume = {10},
  publisher = {Elsevier Science},
  url = {http://www.cs.cornell.edu/home/jgm/papers/hootsclosure.ps}
}
@inproceedings{moskewicz-chaff-01,
  author = {Matthew W. Moskewicz and Conor F. Madigan and Ying
                 Zhao and Lintao Zhang and Sharad Malik},
  title = {Chaff: Engineering an efficient {SAT} solver},
  booktitle = {Design Automation Conference (DAC)},
  year = {2001},
  month = jul,
  url = {http://research.microsoft.com/users/lintaoz/papers/dac_2001.pdf}
}
@article{mosses-04,
  author = {Peter D. Mosses},
  title = {Modular structural operational semantics},
  journal = {Journal of Logic and Algebraic Programming},
  volume = {60--61},
  year = {2004},
  pages = {195--228},
  url = {http://www.brics.dk/RS/05/7/BRICS-RS-05-7.pdf}
}
@inproceedings{mueller-94,
  author = {Martin M{\"u}ller},
  title = {A Constraint-Based Recast of {ML}-Polymorphism},
  booktitle = {International Workshop on Unification},
  year = {1994},
  month = jun,
  note = {Technical Report 94-R-243, CRIN, Nancy, France},
  url = {http://www.ps.uni-sb.de/Papers/abstracts/UNIF94.ps}
}
@unpublished{mueller-98,
  author = {Martin M{\"u}ller},
  title = {Notes on {HM}$({X})$},
  month = aug,
  year = {1998},
  url = {http://www.ps.uni-sb.de/~mmueller/papers/HMX.ps.gz},
  note = {Unpublished}
}
@article{mueller-feature-01,
  title = {The First-Order Theory of Ordering Constraints over
                 Feature Trees},
  year = {2001},
  author = {Martin M{\"u}ller and Joachim Niehren and Ralf
                 Treinen},
  journal = {Discrete Mathematics and Theoretical Computer
                 Science},
  pages = {193--234},
  number = {2},
  volume = {4},
  url = {http://www.ps.uni-sb.de/Papers/abstracts/FTSubTheory-Long:99.ps}
}
@article{mueller-holcf-99,
  author = {Olaf Müller and Tobias Nipkow and David von Oheimb and
                 Oskar Slotosch},
  title = {{HOLCF = HOL + LCF}},
  journal = {Journal of Functional Programming},
  volume = {9},
  pages = {191--223},
  year = {1999},
  url = {http://www4.informatik.tu-muenchen.de/~nipkow/pubs/jfp99.ps.gz}
}
@article{mueller-niehren-podelski-feature-99,
  author = {Martin Müller and Joachim Niehren and Andreas
                 Podelski},
  journal = {Constraints, an International Journal},
  volume = {5},
  number = {1--2},
  title = {Ordering Constraints over Feature Trees},
  mon = jan,
  year = {2000},
  pages = {7--42},
  url = {ftp://ftp.ps.uni-sb.de/pub/papers/ProgrammingSysLab/ftsub-constraints-99.ps.gz}
}
@inproceedings{mueller-niehren-podelski-ines-97,
  author = {Joachim Niehren and Martin M{\"u}ller and Andreas
                 Podelski},
  booktitle = {Theory and Practice of Software Development
                 ({TAPSOFT})},
  month = apr,
  title = {Inclusion Constraints over Non-Empty Sets of Trees},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {1214},
  year = {1997},
  pages = {217--231},
  url = {http://www.ps.uni-sb.de/Papers/abstracts/ines97.ps}
}
@article{mueller-nishimura-00,
  author = {Martin M{\"u}ller and Susumu Nishimura},
  title = {Type Inference for First-Class Messages with Feature
                 Constraints},
  journal = {International Journal of Foundations of Computer
                 Science},
  year = {2000},
  volume = {11},
  number = {1},
  pages = {29--63}
}
@inproceedings{mueller-nishimura-98,
  author = {Martin M{\"u}ller and Susumu Nishimura},
  title = {Type Inference for First-Class Messages with Feature
                 Constraints},
  booktitle = {Asian Computer Science Conference ({ASIAN})},
  pages = {169--187},
  year = {1998},
  volume = {1538},
  series = {Lecture Notes in Computer Science},
  month = dec,
  publisher = {Springer},
  url = {http://www.ps.uni-sb.de/Papers/abstracts/FirstClass98.ps}
}
@techreport{mueller-poetzsch-heffter-01,
  author = {Peter M{\"u}ller and Arnd Poetzsch-Heffter},
  title = {Universes: {A} Type System for Alias and Dependency
                 Control},
  year = {2001},
  institution = {Fernuniversit{\"a}t Hagen},
  number = {279},
  url = {http://people.inf.ethz.ch/lehnerh/pm/publications/getpdf.php?bibname=Own&id=MuellerPoetzsch-Heffter01a.pdf}
}
@inproceedings{mueller-rudich-07,
  author = {Peter M{\"u}ller and Arsenii Rudich},
  title = {Ownership transfer in universe types},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = oct,
  year = {2007},
  pages = {461--478},
  url = {http://dx.doi.org/10.1145/1297027.1297061}
}
@inproceedings{muller-rpc-98,
  title = {Fast, optimized {Sun} {RPC} using automatic program
                 specialization},
  author = {Gilles Muller and Renaud Marlet and Eugen-Nicolae
                 Volanschi and Charles Consel and Calton Pu and Ashvin
                 Goel},
  booktitle = {International Conference on Distributed Computing
                 Systems (CDCS)},
  pages = {240--249},
  year = {1998},
  month = may,
  url = {http://www.cc.gatech.edu/~calton/publications/dcs-98.pdf}
}
@inproceedings{mycroft-84,
  author = {Alan Mycroft},
  title = {Polymorphic Type Schemes and Recursive Definitions},
  booktitle = {International Symposium on Programming},
  month = apr,
  series = {Lecture Notes in Computer Science},
  volume = {167},
  pages = {217--228},
  year = {1984},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/3-540-12925-1_41}
}
@phdthesis{myers-99,
  author = {Andrew C. Myers},
  title = {Mostly-Static Decentralized Information Flow Control},
  school = {Massachusetts Institute of Technology},
  year = {1999},
  month = jan,
  pages = {171},
  note = {Technical Report MIT/LCS/TR-783},
  url = {http://www.cs.cornell.edu/andru/release/tr783.ps.gz}
}
@article{myers-liskov-00,
  author = {Andrew C. Myers and Barbara Liskov},
  title = {Protecting Privacy using the Decentralized Label
                 Model},
  journal = {ACM Transactions on Software Engineering and
                 Methodology},
  volume = {9},
  number = {4},
  month = oct,
  year = {2000},
  pages = {410--442},
  url = {http://www.cs.cornell.edu/andru/papers/iflow-tosem.ps.gz}
}
@article{myers-liskov-97,
  author = {Andrew C. Myers and Barbara Liskov},
  title = {A Decentralized Model for Information Flow Control},
  year = {1997},
  month = oct,
  number = {5},
  volume = {31},
  pages = {129--142},
  journal = {{ACM} Operating Systems Review},
  url = {http://www.cs.cornell.edu/andru/papers/iflow-sosp97/paper.html}
}
@inproceedings{myers-liskov-98,
  author = {Andrew C. Myers and Barbara Liskov},
  title = {Complete, Safe Information Flow with Decentralized
                 Labels},
  year = {1998},
  month = may,
  pages = {186--197},
  booktitle = {{IEEE} Symposium on Security and Privacy (S\&P)},
  url = {http://www.cs.cornell.edu/andru/papers/sp98/top.html}
}
@inproceedings{myers-popl-99,
  author = {Andrew C. Myers},
  title = {{JFlow}: practical mostly-static information flow
                 control},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1999},
  month = jan,
  pages = {228--241},
  url = {http://www.cs.cornell.edu/andru/papers/popl99/myers-popl99.ps.gz}
}
@article{myers-sabelfeld-03,
  author = {Andrew C. Myers and Andrei Sabelfeld},
  title = {Language-Based Information-Flow Security},
  journal = {IEEE Journal on Selected Areas in Communications},
  year = {2003},
  volume = {21},
  number = {1},
  pages = {5--19},
  month = jan,
  url = {http://www.cs.cornell.edu/andru/papers/jsac/sm-jsac03.pdf}
}
@inproceedings{nadathur-qi-03,
  author = {Gopalan Nadathur and Xiaochu Qi},
  title = {Explicit Substitutions in the Reduction of Lambda
                 Terms},
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  pages = {195--206},
  year = {2003},
  month = aug,
  url = {http://www-users.cs.umn.edu/~gopalan/papers/reduction.ps},
  alturl = {http://doi.acm.org/10.1145/888270}
}
@inproceedings{nakano-00,
  author = {Hiroshi Nakano},
  title = {A Modality for Recursion},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {255--266},
  year = {2000},
  month = jun,
  url = {http://www602.math.ryukoku.ac.jp/~nakano/papers/modality-lics00.ps.gz}
}
@inproceedings{nakano-01,
  author = {Hiroshi Nakano},
  title = {Fixed-point Logic with the Approximation Modality and
                 Its {Kripke} Completeness},
  booktitle = {International Symposium on Theoretical Aspects of
                 Computer Software (TACS)},
  pages = {165--182},
  year = {2001},
  volume = {2215},
  series = {Lecture Notes in Computer Science},
  month = oct,
  publisher = {Springer},
  url = {http://www602.math.ryukoku.ac.jp/~nakano/papers/modality-tacs01.pdf}
}
@techreport{nanevski-02,
  author = {Aleksandar Nanevski},
  title = {Meta-Programming with Names and Necessity},
  institution = {School of Computer Science, Carnegie Mellon
                 University},
  year = {2002},
  number = {CMU-CS-02-123R},
  month = nov,
  url = {http://www.eecs.harvard.edu/~aleks/papers/necessity/techrep2.ps}
}
@inproceedings{nanevski-htt-06,
  author = {Aleksandar Nanevski and Greg Morrisett and Lars
                 Birkedal},
  title = {Polymorphism and Separation in {Hoare} Type Theory},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {62--73},
  year = {2006},
  month = sep,
  url = {http://www.eecs.harvard.edu/~aleks/papers/hoarelogic/icfp06.pdf}
}
@inproceedings{nanevski-htt-07,
  author = {Aleksandar Nanevski and Amal Ahmed and Greg Morrisett
                 and Lars Birkedal},
  title = {Abstract Predicates and Mutable {ADTs} in {Hoare} Type
                 Theory},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2007},
  series = {Lecture Notes in Computer Science},
  volume = {4421},
  pages = {189--204},
  month = mar,
  publisher = {Springer},
  url = {http://www.eecs.harvard.edu/~aleks/papers/hoarelogic/esop07.pdf}
}
@article{nanevski-htt-08,
  author = {Aleksandar Nanevski and Greg Morrisett and Lars
                 Birkedal},
  title = {{Hoare} Type Theory, Polymorphism and Separation},
  journal = {Journal of Functional Programming},
  year = {2008},
  volume = {18},
  number = {5--6},
  pages = {865--911},
  url = {http://ynot.cs.harvard.edu/papers/jfpsep07.pdf}
}
@inproceedings{nanevski-structuring-10,
  author = {Aleksandar Nanevski and Viktor Vafeiadis and Josh
                 Berdine},
  title = {Structuring the verification of heap-manipulating
                 programs},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2010},
  pages = {261--274},
  url = {http://software.imdea.org/~aleks/papers/reflect/reflect.pdf}
}
@inproceedings{nanevski-ynot-08,
  author = {Aleksandar Nanevski and Greg Morrisett and Avraham
                 Shinnar and Paul Govereau and Lars Birkedal},
  title = {Ynot: dependent types for imperative programs},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2008},
  pages = {229--240},
  url = {http://ynot.cs.harvard.edu/papers/ynot08.pdf}
}
@article{naraschewski-nipkow-99,
  author = {Wolfgang Naraschewski and Tobias Nipkow},
  title = {Type Inference Verified: Algorithm {W} in
                 {Isabelle/HOL}},
  journal = {Journal of Automated Reasoning},
  year = {1999},
  volume = {23},
  pages = {299--318},
  url = {http://www4.informatik.tu-muenchen.de/~nipkow/pubs/W.ps.gz}
}
@article{naumann-survey-07,
  author = {David A. Naumann},
  title = {On assertion-based encapsulation for object invariants
                 and simulations},
  journal = {Formal Aspects of Computing},
  volume = {19},
  number = {2},
  year = {2007},
  pages = {205--224},
  publisher = {Springer},
  url = {https://guinness.cs.stevens-tech.edu/~naumann/publications/fmcoFinal.pdf}
}
@inproceedings{navarro-perez-rybalchenko-11,
  author = {Juan Antonio {Navarro P{\'e}rez} and Andrey
                 Rybalchenko},
  title = {Separation logic + superposition calculus = heap
                 theorem prover},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  month = jun,
  year = {2011},
  pages = {556--566},
  url = {http://www7.informatik.tu-muenchen.de/um/bibdb/navarro/pldi2011.pdf}
}
@inproceedings{neumann-12,
  author = {René Neumann},
  booktitle = {ATx/WInG: Joint Proceedings of the Workshops on
                 Automated Theory eXploration and on Invariant
                 Generation},
  pages = {36--45},
  title = {A Framework for Verified Depth-First Algorithms},
  publisher = {EasyChair},
  series = {EPiC Series},
  volume = {17},
  month = jun,
  year = {2012},
  url = {http://www.easychair.org/publications/?page=722211206}
}
@inproceedings{nguyen-07,
  author = {Huu Hai Nguyen and Cristina David and Shengchao Qin
                 and Wei-Ngan Chin},
  title = {Automated Verification of Shape and Size Properties
                 Via Separation Logic},
  booktitle = {Verification, Model Checking and Abstract
                 Interpretation (VMCAI)},
  month = jan,
  year = {2007},
  pages = {251--266},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {4349},
  url = {http://www.scm.tees.ac.uk/s.qin/papers/vmcai07.pdf}
}
@inproceedings{nicklisch-peyton-jones-96,
  author = {Jan Nicklisch and Simon {Peyton Jones}},
  title = {An exploration of modular programs},
  booktitle = {Functional Programming Workshop},
  month = jul,
  year = {1996},
  url = {http://www.dcs.gla.ac.uk/fp/workshops/fpw96/Nicklisch.ps.gz}
}
@inproceedings{niehren-priesnitz-01,
  author = {Joachim Niehren and Tim Priesnitz},
  title = {Non-Structural Subtype Entailment in Automata Theory},
  booktitle = {International Symposium on Theoretical Aspects of
                 Computer Software (TACS)},
  publisher = {Springer},
  month = oct,
  year = {2001},
  url = {ftp://ftp.ps.uni-sb.de/pub/papers/ProgrammingSysLab/pauto.ps.gz}
}
@article{niehren-priesnitz-03,
  author = {Joachim Niehren and Tim Priesnitz},
  title = {Non-Structural Subtype Entailment in Automata Theory},
  journal = {Information and Computation},
  year = {2003},
  volume = {186},
  number = {2},
  pages = {319--354},
  url = {http://www.ps.uni-sb.de/Papers/abstracts/subtype.pdf}
}
@techreport{nielsen-00,
  author = {Lasse R. Nielsen},
  title = {A denotational investigation of defunctionalization},
  month = dec,
  year = {2000},
  institution = {BRICS},
  number = {RS-00-47},
  url = {http://www.brics.dk/RS/00/47/}
}
@article{nielson-02,
  author = {Flemming Nielson and Hanne Riis Nielson and Helmut
                 Seidl},
  title = {A Succinct Solver for {ALFP}},
  journal = {Nordic Journal of Computing},
  year = {2002},
  volume = {9},
  number = {4},
  pages = {335--372},
  url = {http://www.informatik.uni-trier.de/~seidl/papers/succinct.pdf}
}
@article{nielson-88,
  author = {Flemming Nielson and Hanne Riis Nielson},
  title = {Two-Level Semantics and Code Generation},
  year = {1988},
  pages = {59--133},
  journal = {Theoretical Computer Science},
  volume = {56},
  number = {1},
  month = jan,
  url = {http://dx.doi.org/10.1016/0304-3975(86)90006-X}
}
@article{nieuwenhuis-oliveras-tinelli-06,
  author = {Robert Nieuwenhuis and Albert Oliveras and Cesare
                 Tinelli},
  title = {Solving {SAT} and {SAT Modulo Theories}: From an
                 abstract {Davis--Putnam--Logemann--Loveland} procedure
                 to {DPLL(T)}},
  journal = {Journal of the {ACM}},
  volume = {53},
  number = {6},
  year = {2006},
  pages = {937--977},
  url = {ftp://ftp.cs.uiowa.edu/pub/tinelli/papers/NieOT-JACM-06.pdf}
}
@inproceedings{nishimura-98,
  title = {Static Typing for Dynamic Messages},
  author = {Susumu Nishimura},
  pages = {266--278},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1998},
  url = {ftp://ftp.kurims.kyoto-u.ac.jp/pub/paper/member/nisimura/dmesg-popl98.ps.gz}
}
@article{o'hearn-03,
  author = {Peter O'Hearn},
  title = {On Bunched Typing},
  journal = {Journal of Functional Programming},
  year = {2003},
  volume = {13},
  number = {4},
  pages = {747--796},
  url = {http://www.dcs.qmw.ac.uk/~ohearn/papers/BunchedTyping.pdf}
}
@manual{objective-caml,
  author = {Xavier Leroy and Damien Doligez and Jacques Garrigue
                 and Didier Rémy and Jérôme Vouillon},
  title = {The {Objective Caml} system},
  year = {2005},
  month = oct,
  url = {http://caml.inria.fr/}
}
@article{oconnor-07,
  author = {Russell O'Connor},
  title = {Assembly: Circular Programming with Recursive do},
  journal = {The Monad.Reader},
  year = {2007},
  volume = {6},
  month = jan,
  url = {http://www.haskell.org/sitewiki/images/1/14/TMR-Issue6.pdf}
}
@inproceedings{odersky-laufer-96,
  author = {Martin Odersky and Konstantin Läufer},
  title = {Putting Type Annotations To Work},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1996},
  pages = {54--67},
  month = jan,
  url = {http://lamp.epfl.ch/~odersky/papers/popl96.ps.gz}
}
@inproceedings{odersky-local-94,
  author = {Martin Odersky},
  title = {A Functional Theory of Local Names},
  pages = {48--59},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1994},
  month = jan,
  url = {http://lampwww.epfl.ch/~odersky/papers/popl94.ps.gz}
}
@inproceedings{odersky-observers-92,
  author = {Martin Odersky},
  title = {Observers for Linear Types},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {390--407},
  year = {1992},
  volume = {582},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://lamp.epfl.ch/~odersky/papers/esop92.ps.gz}
}
@article{odersky-sulzmann-wehr-99,
  author = {Martin Odersky and Martin Sulzmann and Martin Wehr},
  title = {Type Inference with Constrained Types},
  journal = {Theory and Practice of Object Systems},
  year = {1999},
  volume = {5},
  number = {1},
  pages = {35--55},
  url = {http://eprints.kfupm.edu.sa/73647/1/73647.pdf}
}
@inproceedings{odersky-wadler-wehr-95,
  author = {Martin Odersky and Philip Wadler and Martin Wehr},
  title = {A Second Look at Overloading},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  pages = {135--146},
  year = {1995},
  month = jun,
  url = {http://lampwww.epfl.ch/~odersky/papers/fpca95.ps.gz}
}
@inproceedings{odersky-zenger-zenger-01,
  author = {Martin Odersky and Matthias Zenger and Christoph
                 Zenger},
  title = {Colored Local Type Inference},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2001},
  pages = {41--53},
  url = {http://lampwww.epfl.ch/papers/clti-colored.ps.gz}
}
@article{ohearn-07,
  author = {Peter W. O'Hearn},
  title = {Resources, Concurrency and Local Reasoning},
  journal = {Theoretical Computer Science},
  year = {2007},
  volume = {375},
  number = {1--3},
  pages = {271--307},
  month = may,
  url = {http://www.dcs.qmul.ac.uk/~ohearn/papers/concurrency.pdf}
}
@inproceedings{ohearn-hiding-04,
  author = {Peter W. O'Hearn and Hongseok Yang and John C.
                 Reynolds},
  title = {Separation and information hiding},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {268--280},
  year = {2004},
  month = jan,
  url = {http://www.dcs.qmul.ac.uk/~ohearn/papers/separation-and-hiding.pdf}
}
@article{ohearn-hiding-09,
  author = {Peter W. O'Hearn and Hongseok Yang and John C.
                 Reynolds},
  title = {Separation and information hiding},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {31},
  number = {3},
  year = {2009},
  url = {http://www.eecs.qmul.ac.uk/~ohearn/papers/toplas09.pdf}
}
@article{ohearn-reynolds-00,
  author = {Peter W. O'Hearn and John C. Reynolds},
  title = {From {Algol} to polymorphic linear lambda-calculus},
  journal = {Journal of the {ACM}},
  volume = {47},
  number = {1},
  year = {2000},
  pages = {167--223},
  url = {http://www.dcs.qmul.ac.uk/~ohearn/papers/AlgolToPolyLin.ps}
}
@article{ohori-95,
  author = {Atsushi Ohori},
  title = {A Polymorphic Record Calculus and Its Compilation},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {17},
  number = {6},
  pages = {844--895},
  month = nov,
  year = {1995},
  url = {http://doi.acm.org/10.1145/218570.218572}
}
@inproceedings{ohori-buneman-88,
  author = {Atsushi Ohori and Peter Buneman},
  title = {Type Inference in a Database Programming Language},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  pages = {174--183},
  year = {1988},
  url = {http://www.jaist.ac.jp/~ohori/research/lfp88.pdf}
}
@inproceedings{okasaki-96,
  author = {Chris Okasaki},
  title = {The role of lazy evaluation in amortized data
                 structures},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = may,
  year = {1996},
  pages = {62--72},
  url = {http://www.eecs.usma.edu/webs/people/okasaki/icfp96.ps}
}
@inproceedings{okasaki-98,
  author = {Chris Okasaki and Andy Gill},
  title = {Fast Mergeable Integer Maps},
  booktitle = {ACM Workshop on ML},
  pages = {77--86},
  year = {1998},
  month = sep,
  url = {http://www.cse.ogi.edu/~andy/papers/ml98maps.ps}
}
@book{okasaki-book-99,
  author = {Chris Okasaki},
  title = {Purely Functional Data Structures},
  publisher = {Cambridge University Press},
  year = {1999},
  url = {http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=0521663504}
}
@techreport{okasaki-phd-96,
  author = {Chris Okasaki},
  title = {Purely Functional Data Structures},
  institution = {School of Computer Science, Carnegie Mellon
                 University},
  year = {1996},
  number = {CMU-CS-96-177},
  month = sep,
  url = {http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf}
}
@inproceedings{okasaki-views-98,
  author = {Chris Okasaki},
  title = {Views for {Standard ML}},
  booktitle = {ACM Workshop on ML},
  pages = {14--23},
  year = {1998},
  month = sep,
  url = {http://www.eecs.usma.edu/Personnel/okasaki/ml98views.ps}
}
@inproceedings{olderog-83,
  author = {Ernst-Rüdiger Olderog},
  title = {A characterization of {Hoare's} logic for programs
                 with {Pascal}-like procedures},
  booktitle = {ACM Symposium on Theory of Computing},
  year = {1983},
  pages = {320--329},
  url = {http://doi.acm.org/10.1145/800061.808761}
}
@manual{omega,
  title = {${\Omega}$mega},
  author = {Tim Sheard},
  month = nov,
  year = {2005},
  url = {http://www.cs.pdx.edu/~sheard/Omega/}
}
@article{oostrom-94,
  author = {Vincent van Oostrom},
  title = {Confluence by decreasing diagrams},
  journal = {Theoretical Computer Science},
  volume = {126},
  number = {2},
  pages = {259--280},
  month = apr,
  year = {1994},
  url = {ftp://ftp.cs.vu.nl/pub/papers/theory/IR-298.ps.Z}
}
@book{orourke-98,
  author = {Joseph O'Rourke},
  title = {Computational Geometry in {C}, Second Edition},
  publisher = {Cambridge University Press},
  year = {1998},
  url = {http://maven.smith.edu/~orourke/books/compgeom.html}
}
@inproceedings{otoole-gifford-89,
  author = {James William {O'Toole, Jr.} and David K. Gifford},
  title = {Type reconstruction with first-class polymorphic
                 values},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  year = {1989},
  pages = {207--217},
  url = {http://www.psrg.lcs.mit.edu/history/publications/Papers/pldi89-otoole.ps}
}
@article{ott-10,
  author = {Peter Sewell and Francesco {Zappa Nardelli} and Scott
                 Owens and Gilles Peskine and Thomas Ridge and Susmit
                 Sarkar and Rok Strnisa},
  title = {{Ott}: Effective tool support for the working
                 semanticist},
  journal = {Journal of Functional Programming},
  volume = {20},
  number = {1},
  pages = {71--122},
  year = {2010},
  url = {http://www.cl.cam.ac.uk/~pes20/ott/ott-jfp.pdf}
}
@article{owens-reppy-turon-09,
  author = {Scott Owens and John H. Reppy and Aaron Turon},
  title = {Regular-expression derivatives re-examined},
  journal = {Journal of Functional Programming},
  volume = {19},
  number = {2},
  year = {2009},
  pages = {173--190},
  url = {http://www.cl.cam.ac.uk/~so294/documents/jfp09.pdf}
}
@article{pager-77,
  author = {David Pager},
  title = {A Practical General Method for Constructing ${LR}(k)$
                 Parsers},
  journal = {Acta Informatica},
  year = {1977},
  volume = {7},
  pages = {249--268},
  url = {http://dx.doi.org/10.1007/BF00290336}
}
@article{paige-tarjan-87,
  author = {Robert Paige and Robert E. Tarjan},
  title = {Three partition refinement algorithms},
  journal = {SIAM Journal on Computing},
  volume = {16},
  number = {6},
  pages = {973--989},
  month = dec,
  year = {1987},
  url = {http://locus.siam.org/fulltext/SICOMP/volume-16/0216062.pdf}
}
@inproceedings{pale-01,
  author = {Anders M{\o}ller and Michael I. Schwartzbach},
  title = {The Pointer Assertion Logic Engine},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  year = {2001},
  month = jun,
  pages = {221--231},
  url = {http://www.brics.dk/~amoeller/papers/pale/pale.pdf}
}
@article{palsberg-efficient-object-95,
  author = {Jens Palsberg},
  title = {Efficient inference of object types},
  journal = {Information and Computation},
  volume = {123},
  number = {2},
  pages = {198--209},
  year = {1995},
  url = {http://www.cs.ucla.edu/~palsberg/paper/ic95-p.pdf}
}
@article{palsberg-okeefe-flow-95,
  author = {Jens Palsberg and Patrick M. O'Keefe},
  title = {A Type System Equivalent to Flow Analysis},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  month = jul,
  year = {1995},
  volume = {17},
  number = {4},
  pages = {576--599},
  url = {http://www.cs.ucla.edu/~palsberg/paper/toplas95-po.pdf}
}
@inproceedings{palsberg-orbaek-95,
  author = {Jens Palsberg and Peter {\O}rb{\ae}k},
  booktitle = {Static Analysis Symposium (SAS)},
  month = sep,
  title = {Trust in the {$\lambda$}-calculus},
  series = {Lecture Notes in Computer Science},
  volume = {983},
  pages = {314--330},
  year = {1995},
  url = {ftp://ftp.daimi.au.dk/pub/empl/poe/lambda-trust.dvi.gz}
}
@article{palsberg-orbaek-97,
  title = {Trust in the {$\lambda$}-calculus},
  author = {Peter {\O}rb{\ae}k and Jens Palsberg},
  pages = {557--591},
  journal = {Journal of Functional Programming},
  month = nov,
  year = {1997},
  volume = {7},
  number = {6},
  url = {http://www.cs.ucla.edu/~palsberg/paper/jfp97.pdf}
}
@article{palsberg-smith-96,
  author = {Jens Palsberg and Scott Smith},
  title = {Constrained types and their expressiveness},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {18},
  number = {5},
  pages = {519--527},
  month = sep,
  year = {1996},
  url = {http://www.cs.ucla.edu/~palsberg/paper/toplas96-ps.pdf}
}
@article{palsberg-wand-okeefe-97,
  title = {Type inference with non-structural subtyping},
  author = {Jens Palsberg and Mitchell Wand and Patrick M.
                 O'Keefe},
  journal = {Formal Aspects of Computing},
  year = {1997},
  pages = {49--67},
  volume = {9},
  url = {http://www.cs.ucla.edu/~palsberg/paper/fac97.pdf}
}
@article{palsberg-zhao-01,
  author = {Jens Palsberg and Tian Zhao},
  title = {Efficient and Flexible Matching of Recursive Types},
  journal = {Information and Computation},
  volume = {171},
  pages = {364--387},
  year = {2001},
  url = {http://www.cs.ucla.edu/~palsberg/paper/ic01.pdf}
}
@inproceedings{palsberg-zhao-02,
  author = {Jens Palsberg and Tian Zhao},
  title = {Efficient Type Inference for Record Concatenation and
                 Subtyping},
  pages = {125--136},
  booktitle = {Logic in Computer Science (LICS)},
  month = jul,
  year = {2002}
}
@article{palsberg-zhao-04,
  author = {Jens Palsberg and Tian Zhao},
  title = {Type Inference for Record Concatenation and
                 Subtyping},
  journal = {Information and Computation},
  year = {2004},
  volume = {189},
  pages = {54--86},
  url = {http://www.cs.ucla.edu/~palsberg/paper/ic04.pdf}
}
@misc{pangolin,
  author = {Yann Régis-Gianas},
  title = {The {Pangolin} programming language},
  note = {\url{http://code.google.com/p/pangolin-programming-language/}},
  year = {2008},
  url = {http://code.google.com/p/pangolin-programming-language/}
}
@inproceedings{parkinson-bierman-05,
  author = {Matthew Parkinson and Gavin Bierman},
  title = {Separation logic and abstraction},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2005},
  pages = {247--258},
  url = {http://www.cl.cam.ac.uk/~mjp41/p205-parkinson.pdf}
}
@inproceedings{parkinson-bierman-07,
  author = {Matthew Parkinson and Gavin Bierman},
  title = {Separation logic, abstraction and inheritance},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2008},
  pages = {75--86},
  url = {http://research.microsoft.com/~gmb/Papers/popl08.pdf}
}
@inproceedings{parnas-71,
  author = {David Lorge Parnas},
  title = {Information distribution aspects of design
                 methodology},
  booktitle = {Information Processing 71},
  pages = {339--344},
  volume = {1},
  year = {1971},
  url = {http://cseweb.ucsd.edu/~wgg/CSE218/Parnas-IFIP71-information-distribution.PDF}
}
@article{parnas-72,
  author = {David Lorge Parnas},
  title = {On the criteria to be used in decomposing systems into
                 modules},
  journal = {Communications of the {ACM}},
  volume = {15},
  number = {12},
  year = {1972},
  pages = {1053--1058},
  url = {http://doi.acm.org/10.1145/361598.361623}
}
@techreport{pasalic-dali-00,
  author = {Emir Pa{\v s}ali{\'c} and Tim Sheard and Walid Taha},
  title = {{DALI}: An Untyped, {CBV} Functional Language
                 Supporting First-Order Datatypes with Binders
                 (Technical Development)},
  institution = {Oregon Graduate Institute},
  year = {2000},
  number = {00-007},
  month = mar,
  url = {http://www.cse.ogi.edu/PacSoft/publications/phaseiiiq13papers/dali.pdf}
}
@inproceedings{pasalic-linger-04,
  author = {Pa{\v s}ali{\'c} and Nathan Linger},
  title = {Meta-programming with Typed Object-Language
                 Representations},
  booktitle = {Generative Programming and Component Engineering
                 (GPCE)},
  pages = {136--167},
  year = {2004},
  month = oct,
  url = {http://web.cecs.pdx.edu/~sheard/papers/MetaProgTypObjLangReps.ps}
}
@inproceedings{pasalic-tagless-02,
  author = {Emir Pa{\v s}ali{\'c} and Walid Taha and Tim Sheard},
  title = {Tagless staged interpreters for typed languages},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = oct,
  year = {2002},
  pages = {218--229},
  url = {http://www.cs.rice.edu/~taha/teaching/02F/511/papers/pts02.pdf}
}
@inproceedings{paterson-wegman-76,
  author = {M. S. Paterson and M. N. Wegman},
  title = {Linear Unification},
  booktitle = {Annual {ACM} Symposium on Theory of Computing},
  pages = {181--186},
  year = {1976}
}
@inproceedings{paulin-89,
  author = {Christine Paulin-Mohring},
  title = {Extracting ${F}_{\omega}$'s programs from proofs in
                 the Calculus of Constructions},
  year = {1989},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {89--104},
  month = jan,
  url = {http://doi.acm.org/10.1145/75277.75285}
}
@techreport{paulin-92,
  author = {Christine Paulin-Mohring},
  title = {Inductive Definitions in the system {Coq}: rules and
                 Properties},
  institution = {ENS Lyon},
  year = {1992},
  type = {Research Report},
  number = {RR1992-49},
  url = {ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR1992/RR1992-49.ps.Z}
}
@inproceedings{pennello-86,
  author = {Thomas J. Pennello},
  title = {Very fast {LR} parsing},
  booktitle = {Symposium on Compiler Construction},
  pages = {145--151},
  year = {1986},
  url = {http://doi.acm.org/10.1145/12276.13326}
}
@article{pessaux-leroy-00,
  author = {Fran\c{c}ois Pessaux and Xavier Leroy},
  title = {Type-based analysis of uncaught exceptions},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  pages = {340--377},
  volume = {22},
  number = {2},
  year = {2000},
  url = {http://gallium.inria.fr/~xleroy/publi/exceptions-toplas.ps.gz}
}
@inproceedings{peterson-jones-93,
  author = {John Peterson and Mark P. Jones},
  title = {Implementing Type Classes},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {227--236},
  year = {1993},
  month = jun,
  url = {http://web.cecs.pdx.edu/~mpj/pubs/pldi93.ps}
}
@book{peyton-jones-ifl-87,
  author = {Simon {Peyton Jones}},
  title = {The Implementation of Functional Programming
                 Languages},
  publisher = {Prentice Hall},
  year = {1987},
  url = {http://research.microsoft.com/Users/simonpj/papers/slpj-book-1987/}
}
@article{peyton-jones-rank-07,
  author = {Simon {Peyton Jones} and Dimitrios Vytiniotis and
                 Stephanie Weirich and Mark Shields},
  title = {Practical type inference for arbitrary-rank types},
  journal = {Journal of Functional Programming},
  volume = {17},
  number = {1},
  pages = {1--82},
  year = {2007},
  url = {http://research.microsoft.com/en-us/um/people/simonpj/papers/higher-rank/putting.pdf}
}
@unpublished{peyton-jones-shields-04,
  author = {Simon {Peyton Jones} and Mark Shields},
  title = {Lexically-Scoped Type Variables},
  month = apr,
  year = {2004},
  note = {Manuscript},
  url = {http://www.cse.ogi.edu/~mbs/pub/scoped/}
}
@inproceedings{peyton-jones-simple-gadts-06,
  author = {Simon {Peyton Jones} and Dimitrios Vytiniotis and
                 Stephanie Weirich and Geoffrey Washburn},
  title = {Simple unification-based type inference for {GADTs}},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2006},
  pages = {50--61},
  url = {http://research.microsoft.com/~simonpj/papers/gadt/gadt-icfp.pdf}
}
@misc{peyton-jones-tackling-09,
  author = {Simon {Peyton Jones}},
  title = {Tackling the Awkward Squad: monadic input/output,
                 concurrency, exceptions, and foreign-language calls in
                 {Haskell}},
  howpublished = {Online lecture notes},
  month = jan,
  year = {2009},
  url = {http://research.microsoft.com/en-us/um/people/simonpj/papers/marktoberdorf/mark.pdf}
}
@inproceedings{peyton-jones-wadler-93,
  author = {Simon {Peyton Jones} and Philip Wadler},
  title = {Imperative functional programming},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1993},
  month = jan,
  pages = {71--84},
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/imperative/imperative.ps.gz}
}
@techreport{peyton-jones-wobbly-04,
  author = {Simon {Peyton~Jones} and Geoffrey Washburn and
                 Stephanie Weirich},
  title = {Wobbly types: type inference for generalised algebraic
                 data types},
  institution = {University of Pennsylvania},
  year = {2004},
  month = jul,
  number = {MS-CIS-05-26},
  url = {http://www.cis.upenn.edu/~geoffw/research/papers/MS-CIS-05-26.pdf}
}
@inproceedings{pfenning-elliott-88,
  author = {Frank Pfenning and Conal Elliott},
  title = {Higher-Order Abstract Syntax},
  pages = {199--208},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  month = jun,
  year = {1988},
  url = {http://doi.acm.org/10.1145/53990.54010}
}
@inproceedings{pfenning-lee-89,
  author = {Frank Pfenning and Peter Lee},
  title = {{LEAP}: {A} Language with Eval And Polymorphism},
  booktitle = {Theory and Practice of Software Development
                 ({TAPSOFT})},
  year = {1989},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {352},
  pages = {345--359},
  url = {http://dx.doi.org/10.1007/3-540-50940-2_46}
}
@inproceedings{pientka-08,
  author = {Brigitte Pientka},
  title = {A type-theoretic foundation for programming with
                 higher-order abstract syntax and first-class
                 substitutions},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2008},
  pages = {371--382},
  url = {http://www.cs.mcgill.ca/~bpientka/papers/hoasfun-short.pdf}
}
@inproceedings{pientka-dunfield-08,
  author = {Brigitte Pientka and Joshua Dunfield},
  title = {Programming with Proofs and Explicit Contexts},
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  pages = {163--173},
  month = jul,
  year = {2008},
  url = {http://www.cs.mcgill.ca/~bpientka/papers/ppdp-pientka.pdf}
}
@inproceedings{pientka-pearl-07,
  author = {Brigitte Pientka},
  title = {Proof Pearl: The power of higher-order encodings in
                 the logical framework {LF}},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  pages = {246--261},
  year = {2007},
  volume = {4732},
  series = {Lecture Notes in Computer Science},
  month = sep,
  publisher = {Springer},
  url = {http://www.cs.mcgill.ca/~bpientka/papers/pearl.pdf}
}
@inproceedings{pierce-sangiorgi-93,
  author = {Benjamin Pierce and Davide Sangiorgi},
  title = {Typing and Subtyping for Mobile Processes},
  pages = {376--385},
  booktitle = {Logic in Computer Science (LICS)},
  year = {1993},
  month = jun,
  url = {http://www.cis.upenn.edu/~bcpierce/papers/pi-lics.ps}
}
@book{pierce-tapl,
  author = {Benjamin C. Pierce},
  title = {Types and Programming Languages},
  publisher = {MIT Press},
  year = {2002},
  url = {http://www.cis.upenn.edu/~bcpierce/tapl/}
}
@article{pierce-turner-00,
  author = {Benjamin C. Pierce and David N. Turner},
  title = {Local Type Inference},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {2000},
  volume = {22},
  number = {1},
  pages = {1--44},
  month = jan,
  url = {http://doi.acm.org/10.1145/345099.345100}
}
@techreport{pierce-turner-92,
  author = {Benjamin C. Pierce and David N. Turner},
  title = {Statically Typed Friendly Functions via Partially
                 Abstract Types},
  institution = {University of Edinburgh, LFCS},
  type = {Technical Report},
  number = {ECS-LFCS-93-256},
  month = apr,
  year = {1993},
  note = {Also available as INRIA Research Report 1899},
  url = {http://www.cis.upenn.edu/~bcpierce/papers/friendly.ps}
}
@article{pierce-turner-94,
  author = {Benjamin C. Pierce and David N. Turner},
  title = {Simple Type-Theoretic Foundations for Object-Oriented
                 Programming},
  journal = {Journal of Functional Programming},
  volume = {4},
  number = {2},
  month = apr,
  pages = {207--247},
  year = {1994},
  url = {http://www.cis.upenn.edu/~bcpierce/papers/oop.ps}
}
@article{pierce-undecidable-92,
  author = {Benjamin C. Pierce},
  title = {Bounded Quantification is Undecidable},
  journal = {Information and Computation},
  year = {1994},
  volume = {112},
  number = {1},
  pages = {131--165},
  month = jul,
  url = {http://www.cis.upenn.edu/~bcpierce/papers/fsubpopl.ps}
}
@inproceedings{pilkiewicz-pottier-monotonicity-11,
  author = {Alexandre Pilkiewicz and François Pottier},
  title = {The essence of monotonic state},
  booktitle = {Types in Language Design and Implementation (TLDI)},
  month = jan,
  year = {2011},
  url = {http://gallium.inria.fr/~fpottier/publis/pilkiewicz-pottier-monotonicity.pdf}
}
@article{pitts-03,
  author = {Andrew M. Pitts},
  title = {Nominal Logic, {A} First Order Theory of Names and
                 Binding},
  journal = {Information and Computation},
  year = {2003},
  volume = {186},
  pages = {165--193},
  url = {http://www.cl.cam.ac.uk/~amp12/papers/nomlfo/nomlfo-jv.pdf}
}
@inproceedings{pitts-05,
  author = {Andrew M. Pitts},
  title = {Alpha-Structural Recursion and Induction},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  month = aug,
  year = {2005},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.cl.cam.ac.uk/~amp12/papers/alpsri/alpsri-ea.pdf}
}
@article{pitts-06,
  author = {Andrew M. Pitts},
  title = {Alpha-Structural Recursion and Induction},
  journal = {Journal of the {ACM}},
  year = {2006},
  volume = {53},
  pages = {459--506},
  url = {http://www.cl.cam.ac.uk/~amp12/papers/alpsri/alpsri.pdf}
}
@inproceedings{pitts-10,
  author = {Andrew M. Pitts},
  title = {Nominal {System} ${T}$},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {159--170},
  year = {2010},
  month = jan,
  url = {http://www.cl.cam.ac.uk/~amp12/papers/nomst/nomst-popl.pdf}
}
@inproceedings{pitts-gabbay-00,
  author = {Andrew M. Pitts and Murdoch J. Gabbay},
  title = {A Metalanguage for Programming with Bound Names Modulo
                 Renaming},
  booktitle = {Mathematics of Program Construction (MPC)},
  pages = {230--255},
  year = {2000},
  volume = {1837},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.cl.cam.ac.uk/~amp12/papers/metpbn/metpbn.pdf}
}
@article{pitts-parametric-00,
  author = {Andrew M. Pitts},
  title = {Parametric Polymorphism and Operational Equivalence},
  journal = {Mathematical Structures in Computer Science},
  year = {2000},
  volume = {10},
  pages = {321--359},
  url = {http://www.cl.cam.ac.uk/~amp12/papers/parpoe/parpoe.pdf}
}
@inproceedings{plaid-permissions-11,
  author = {Jonathan Aldrich and Ronald Garcia and Mark Hahnenberg
                 and Manuel Mohr and Karl Naden and Darpan Saini and
                 Sven Stork and Joshua Sunshine and {\'E}ric Tanter and
                 Roger Wolff},
  title = {Permission-based programming languages},
  booktitle = {International Conference on Software Engineering
                 ({ICSE})},
  month = may,
  year = {2011},
  pages = {828--831},
  url = {http://www.cs.cmu.edu/~aldrich/papers/plaid-NIER2010.pdf}
}
@incollection{plotkin-90,
  author = {Gordon Plotkin},
  title = {An illative theory of relations},
  booktitle = {Situation Theory and its Applications},
  pages = {133--146},
  publisher = {Stanford University},
  year = {1990},
  number = {22},
  series = {CSLI Lecture Notes},
  url = {http://homepages.inf.ed.ac.uk/gdp/publications/illative.pdf}
}
@article{plotkin-lcf-77,
  author = {Gordon D. Plotkin},
  title = {{LCF} Considered as a Programming Language},
  journal = {Theoretical Computer Science},
  volume = {5},
  number = {3},
  year = {1977},
  pages = {225--255},
  url = {http://homepages.inf.ed.ac.uk/gdp/publications/LCF.pdf}
}
@incollection{plural-11,
  author = {Kevin Bierhoff and Nels E. Beckman and Jonathan
                 Aldrich},
  title = {Checking Concurrent Typestate with Access Permissions
                 in {Plural}: {A} Retrospective},
  booktitle = {Engineering of Software},
  pages = {35--48},
  publisher = {Springer},
  year = {2011},
  editor = {Peri L. Tarr and Alexander L. Wolf},
  url = {http://www.cs.cmu.edu/~aldrich/papers/bierhoff-plural-festschrift11.pdf}
}
@article{pollack-sato-ricciotti-11,
  author = {Randy Pollack and Masahiko Sato and Wilmer Ricciotti},
  title = {A Canonical Locally Named Representation of Binding},
  year = {2012},
  journal = {Journal of Automated Reasoning},
  volume = {49},
  number = {2},
  pages = {185--207},
  url = {http://homepages.inf.ed.ac.uk/rpollack/export/PollackSatoRicciottiJAR.pdf}
}
@inproceedings{poplmark,
  author = {Brian E. Aydemir and Aaron Bohannon and Matthew
                 Fairbairn and J. Nathan Foster and Benjamin C. Pierce
                 and Peter Sewell and Dimitrios Vytiniotis and Geoffrey
                 Washburn and Stephanie Weirich and Steve Zdancewic},
  title = {Mechanized Metatheory for the Masses: The
                 \textsc{PoplMark} Challenge},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  month = aug,
  year = {2005},
  series = {Lecture Notes in Computer Science},
  volume = {3603},
  pages = {50--65},
  publisher = {Springer},
  url = {http://research.microsoft.com/en-us/people/dimitris/poplmark.pdf}
}
@misc{popuri-bison-06,
  author = {Satya Kiran Popuri},
  title = {Understanding {C} parsers generated by {GNU Bison}},
  month = sep,
  year = {2006},
  url = {http://www.cs.uic.edu/~spopuri/cparser.html}
}
@inproceedings{pottier-alphacaml,
  author = {François Pottier},
  title = {An overview of {C$\alpha$ml}},
  month = mar,
  year = {2006},
  booktitle = {ACM Workshop on ML},
  pages = {27--52},
  volume = {148},
  number = {2},
  series = {Electronic Notes in Theoretical Computer Science},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-alphacaml.pdf}
}
@misc{pottier-alphacaml-software,
  author = {François Pottier},
  title = {{C$\alpha$ml}},
  month = jun,
  year = {2005},
  url = {http://gallium.inria.fr/~fpottier/alphaCaml/}
}
@inproceedings{pottier-antiframe-08,
  author = {François Pottier},
  title = {Hiding local state in direct style: a higher-order
                 anti-frame rule},
  month = jun,
  year = {2008},
  booktitle = {Logic in Computer Science (LICS)},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-antiframe-2008.pdf},
  pages = {331--340}
}
@unpublished{pottier-caf,
  author = {François Pottier},
  title = {Three comments on the anti-frame rule},
  note = {Unpublished},
  month = jul,
  year = {2009},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-caf-2009.pdf}
}
@inproceedings{pottier-conchon-icfp-00,
  author = {François Pottier and Sylvain Conchon},
  title = {Information Flow Inference for Free},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2000},
  pages = {46--57},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-conchon-icfp00.ps.gz}
}
@inproceedings{pottier-csfw-02,
  author = {François Pottier},
  title = {A Simple View of Type-Secure Information Flow in the
                 $\pi$-Calculus},
  month = jun,
  year = {2002},
  booktitle = {{IEEE} Computer Security Foundations Workshop},
  pages = {320--330},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-csfw15.ps.gz}
}
@techreport{pottier-dea-95,
  author = {François Pottier},
  title = {Implémentation d'un système de modules évolué en
                 {Caml-Light}},
  institution = {INRIA},
  number = {2449},
  type = {Research Report},
  year = {1995},
  url = {http://gallium.inria.fr/~fpottier/publis/memoire-dea.ps.gz}
}
@unpublished{pottier-dfs-scc-15,
  author = {François Pottier},
  title = {Depth-First Search and Strong Connectivity in {Coq}},
  month = sep,
  year = {2014},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-dfs-scc.pdf},
  note = {Submitted for publication}
}
@inproceedings{pottier-esop-00,
  author = {François Pottier},
  title = {A 3-part type inference engine},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1782},
  pages = {320--335},
  month = mar,
  year = {2000},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-esop-2000.ps.gz}
}
@unpublished{pottier-gaf,
  author = {François Pottier},
  title = {Generalizing the higher-order frame and anti-frame
                 rules},
  note = {Unpublished},
  month = jul,
  year = {2009},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-gaf-2009.pdf}
}
@inproceedings{pottier-gauthier-04,
  author = {François Pottier and Nadji Gauthier},
  title = {Polymorphic Typed Defunctionalization},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2004},
  pages = {89--98},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-gauthier-popl04.pdf}
}
@article{pottier-gauthier-hosc,
  author = {François Pottier and Nadji Gauthier},
  title = {Polymorphic Typed Defunctionalization and
                 Concretization},
  journal = {Higher-Order and Symbolic Computation},
  month = mar,
  year = {2006},
  volume = {19},
  pages = {125--162},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-gauthier-hosc.ps.gz},
  pdf = {http://gallium.inria.fr/~fpottier/publis/fpottier-gauthier-hosc.pdf}
}
@inproceedings{pottier-gdr-95,
  author = {François Pottier},
  title = {Type inference and simplification for recursively
                 constrained types},
  booktitle = {Actes du {GDR} Programmation 1995 (journée du pôle
                 Programmation Fonctionnelle)},
  month = nov,
  year = {1995},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-gdr-95.ps.gz}
}
@techreport{pottier-hmx-01,
  author = {François Pottier},
  title = {A semi-syntactic soundness proof for {HM$(X)$}},
  institution = {INRIA},
  number = {4150},
  type = {Research Report},
  month = mar,
  year = {2001},
  url = {http://hal.inria.fr/docs/00/07/24/75/PDF/RR-4150.pdf}
}
@article{pottier-ic-01,
  author = {François Pottier},
  title = {Simplifying subtyping constraints: a theory},
  journal = {Information and Computation},
  month = nov,
  year = {2001},
  volume = {170},
  number = {2},
  pages = {153--183},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-ic01.ps.gz}
}
@inproceedings{pottier-icfp-96,
  author = {François Pottier},
  title = {Simplifying subtyping constraints},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = jan,
  year = {1996},
  pages = {122--133},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-icfp96.ps.gz}
}
@inproceedings{pottier-icfp-98,
  author = {François Pottier},
  title = {A Framework for Type Inference with Subtyping},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {1998},
  pages = {228--238},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-icfp98.ps.gz}
}
@inproceedings{pottier-lics-03,
  author = {François Pottier},
  title = {A Constraint-Based Presentation and Generalization of
                 Rows},
  month = jun,
  year = {2003},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {331--340},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-lics03.ps.gz}
}
@inproceedings{pottier-lics-07,
  author = {François Pottier},
  title = {Static name control for {FreshML}},
  booktitle = {Logic in Computer Science (LICS)},
  year = {2007},
  month = jul,
  pages = {356--365},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-pure-freshml.pdf}
}
@article{pottier-njc-00,
  author = {François Pottier},
  title = {A Versatile Constraint-Based Type Inference System},
  journal = {Nordic Journal of Computing},
  month = nov,
  year = {2000},
  volume = {7},
  number = {4},
  pages = {312--347},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-njc-2000.ps.gz}
}
@misc{pottier-notes-dea,
  author = {Xavier Leroy and François Pottier},
  title = {Notes du cours de {DEA} «~Typage et programmation~»},
  month = dec,
  year = {2002},
  url = {http://gallium.inria.fr/~fpottier/dea/dea-typage.ps.gz}
}
@techreport{pottier-phd-english-98,
  author = {François Pottier},
  title = {Type inference in the presence of subtyping: from
                 theory to practice},
  institution = {INRIA},
  number = {3483},
  type = {Research Report},
  month = sep,
  year = {1998},
  url = {http://hal.inria.fr/docs/00/07/32/05/PDF/RR-3483.pdf}
}
@phdthesis{pottier-phd-french-98,
  author = {François Pottier},
  title = {Synthèse de types en présence de sous-typage: de la
                 théorie à la pratique},
  school = {Université Paris 7},
  month = jul,
  year = {1998},
  url = {http://gallium.inria.fr/~fpottier/publis/these-fpottier.ps.gz}
}
@inproceedings{pottier-protzenko-13,
  author = {François Pottier and Jonathan Protzenko},
  title = {Programming with permissions in {Mezzo}},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2013},
  pages = {173--184},
  url = {http://gallium.inria.fr/~fpottier/publis/pottier-protzenko-mezzo.pdf}
}
@inproceedings{pottier-regis-gianas-06,
  author = {François Pottier and Yann Régis-Gianas},
  title = {Stratified type inference for generalized algebraic
                 data types},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2006},
  pages = {232--244},
  url = {http://gallium.inria.fr/~fpottier/publis/pottier-regis-gianas-popl06.pdf}
}
@article{pottier-regis-gianas-typed-lr,
  author = {François Pottier and Yann {Régis-Gianas}},
  title = {Towards efficient, typed {LR} parsers},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-regis-gianas-typed-lr.pdf},
  year = {2006},
  pages = {155--180},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {148},
  number = {2}
}
@incollection{pottier-remy-emlti,
  author = {François Pottier and Didier Rémy},
  title = {The Essence of {ML} Type Inference},
  booktitle = {Advanced Topics in Types and Programming Languages},
  pages = {389--489},
  publisher = {MIT Press},
  year = {2005},
  editor = {Benjamin C. Pierce},
  chapter = {10},
  url = {http://gallium.inria.fr/~fpottier/publis/emlti-final.pdf}
}
@unpublished{pottier-remy-emlti-long,
  author = {François Pottier and Didier Rémy},
  title = {The Essence of {ML} Type Inference},
  note = {Draft of an extended version. Unpublished},
  month = sep,
  year = {2003},
  url = {http://cristal.inria.fr/attapl/preversion.ps.gz}
}
@inproceedings{pottier-simonet-02,
  author = {François Pottier and Vincent Simonet},
  title = {Information Flow Inference for {ML}},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2002},
  pages = {319--330},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-simonet-popl02.ps.gz}
}
@article{pottier-simonet-toplas-03,
  author = {François Pottier and Vincent Simonet},
  title = {Information Flow Inference for {ML}},
  month = jan,
  year = {2003},
  volume = {25},
  number = {1},
  pages = {117--158},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-simonet-toplas.ps.gz}
}
@inproceedings{pottier-skalka-smith-01,
  author = {François Pottier and Christian Skalka and Scott
                 Smith},
  title = {A Systematic Approach to Static Access Control},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2028},
  pages = {30--45},
  month = apr,
  year = {2001},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-skalka-smith-esop01.ps.gz}
}
@article{pottier-skalka-smith-05,
  author = {François Pottier and Christian Skalka and Scott
                 Smith},
  title = {A Systematic Approach to Static Access Control},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-skalka-smith-toplas.ps.gz},
  volume = {27},
  number = {2},
  pages = {344--382},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {2005}
}
@article{pottier-ssphs-13,
  author = {François Pottier},
  title = {Syntactic soundness proof of a type-and-capability
                 system with hidden state},
  journal = {Journal of Functional Programming},
  volume = {23},
  number = {1},
  pages = {38--144},
  month = jan,
  year = {2013},
  url = {http://gallium.inria.fr/~fpottier/publis/fpottier-ssphs.pdf}
}
@misc{pottier-wallace,
  author = {François Pottier},
  title = {Wallace: an efficient implementation of type inference
                 with subtyping},
  month = feb,
  year = {2000},
  url = {http://gallium.inria.fr/~fpottier/wallace/}
}
@incollection{pottinger-80,
  author = {Garrel Pottinger},
  title = {A type assignment for the strongly normalizable
                 $\lambda$-terms},
  booktitle = {To H. B. Curry: Essays on Combinatory Logic, Lambda
                 Calculus, and Formalism},
  pages = {561--577},
  publisher = {Academic Press},
  year = {1980},
  editor = {J. Roger Hindley and Jonathan P. Seldin}
}
@inproceedings{pouillard-11,
  author = {Nicolas Pouillard},
  title = {Nameless, painless},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2011},
  pages = {320--332},
  url = {http://nicolaspouillard.fr/publis/nameless-painless.pdf}
}
@inproceedings{pouillard-pottier-10,
  author = {Nicolas Pouillard and François Pottier},
  title = {A fresh look at programming with names and binders},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2010},
  pages = {217--228},
  url = {http://gallium.inria.fr/~fpottier/publis/pouillard-pottier-fresh-look.pdf}
}
@article{pouillard-pottier-12,
  author = {Nicolas Pouillard and François Pottier},
  title = {A unified treatment of syntax with binders},
  journal = {Journal of Functional Programming},
  volume = {22},
  number = {4--5},
  pages = {614--704},
  month = sep,
  year = {2012},
  url = {http://gallium.inria.fr/~fpottier/publis/pouillard-pottier-unified.pdf}
}
@article{pratt-tiuryn-96,
  author = {Vaughan Pratt and Jerzy Tiuryn},
  title = {Satisfiability of Inequalities in a Poset},
  journal = {Fundamenta Informaticæ},
  year = {1996},
  volume = {28},
  number = {1--2},
  pages = {165--182},
  url = {ftp://ftp.mimuw.edu.pl/pub/users/tiuryn/sat-ineq.ps.gz}
}
@misc{programatica-04,
  author = {Thomas Hallgren and James Hook and Mark P. Jones and
                 Richard Kieburtz},
  title = {An overview of the {Programatica} ToolSet},
  howpublished = {High Confidence Software and Systems Conference
                 (HCSS)},
  year = {2004},
  url = {http://ogi.altocumulus.org/~hallgren/Programatica/HCSS04/hcss04-tools.pdf}
}
@book{proofs-and-types,
  author = {Jean-Yves Girard and Yves Lafont and Paul Taylor},
  title = {Proofs and Types},
  publisher = {Cambridge University Press},
  year = {1990},
  url = {http://www.paultaylor.eu/stable/prot.pdf}
}
@inproceedings{pugh-weddell-90,
  author = {William Pugh and Grant Weddell},
  title = {Two-directional record layout for multiple
                 inheritance},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {85--91},
  year = {1990},
  url = {http://doi.acm.org/10.1145/93542.93556}
}
@article{qian-96,
  author = {Zhenyu Qian},
  title = {Unification of higher-order patterns in linear time
                 and space},
  journal = {Journal of Logic and Computation},
  year = {1996},
  volume = {6},
  number = {3},
  pages = {315--341}
}
@techreport{raffalli-98,
  author = {Christophe Raffalli},
  title = {Type checking in system ${F}^\eta$},
  institution = {LAMA, Université de Savoie},
  year = {1998},
  type = {Prépublication},
  number = {98-05a},
  url = {ftp://www.lama.univ-savoie.fr/pub/users/RAFFALLI/Papers/Feta-partial.ps}
}
@unpublished{raffalli-99,
  author = {Christophe Raffalli},
  title = {An optimized complete semi-algorithm for system
                 ${F}^\eta$},
  note = {Unpublished},
  year = {1999},
  url = {ftp://www.lama.univ-savoie.fr/pub/users/RAFFALLI/Papers/Feta-total.ps}
}
@inproceedings{ramachandran-93,
  author = {Viswanath Ramachandran and Pascal Van Hentenryck},
  title = {Incremental Algorithms for Constraint Solving and
                 Entailment over Rational Trees},
  booktitle = {Foundations of Software Technology and Theoretical
                 Computer Science (FSTTCS)},
  pages = {205--217},
  year = {1993}
}
@inproceedings{recursive-alias-types-00,
  author = {David Walker and Greg Morrisett},
  title = {Alias Types for Recursive Data Structures},
  booktitle = {Types in Compilation (TIC)},
  month = sep,
  year = {2000},
  series = {Lecture Notes in Computer Science},
  volume = {2071},
  pages = {177--206},
  publisher = {Springer},
  url = {http://www.cs.cornell.edu/talc/papers/alias-recursion.pdf}
}
@inproceedings{regensburger-holcf-95,
  author = {Franz Regensburger},
  title = {{HOLCF}: Higher Order Logic of Computable Functions},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  month = sep,
  year = {1995},
  pages = {293--307},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {971},
  url = {http://www4.informatik.tu-muenchen.de/publ/papers/Regensburger_HOLT1995.pdf}
}
@phdthesis{regis-gianas-07,
  author = {Yann Régis-Gianas},
  title = {Des types aux assertions logiques : preuve automatique
                 ou assistée de propriétés sur les programmes
                 fonctionnels},
  school = {Université Paris 7},
  year = {2007},
  month = nov,
  url = {http://gallium.inria.fr/~regisgia/these-yann.regis-gianas.pdf}
}
@inproceedings{regis-gianas-pottier-08,
  author = {Yann Régis-Gianas and François Pottier},
  title = {A {Hoare} Logic for Call-by-Value Functional
                 Programs},
  booktitle = {Mathematics of Program Construction (MPC)},
  month = jul,
  year = {2008},
  series = {Lecture Notes in Computer Science},
  volume = {5133},
  publisher = {Springer},
  pdf = {http://gallium.inria.fr/~fpottier/publis/regis-gianas-pottier-hoarefp.pdf},
  pages = {305--335}
}
@inproceedings{rehof-faehndrich-01,
  author = {Jakob Rehof and Manuel Fähndrich},
  title = {Type-Based Flow Analysis: From Polymorphic Subtyping
                 to {CFL}-Reachability},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {54--66},
  year = {2001},
  month = jan,
  url = {http://research.microsoft.com/~rehof/popl01.ps}
}
@techreport{rehof-minimality-96,
  author = {Jakob Rehof},
  year = {1996},
  title = {Minimal Typings in Atomic Subtyping},
  institution = {Department of Computer Science, University of
                 Copenhagen},
  number = {D-278},
  url = {ftp://ftp.diku.dk/diku/semantics/papers/D-278.ps.gz}
}
@inproceedings{rehof-minimality-97,
  author = {Jakob Rehof},
  title = {Minimal Typings in Atomic Subtyping},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1997},
  pages = {278--291},
  url = {http://research.microsoft.com/~rehof/popl97.ps}
}
@inproceedings{reistad-gifford-94,
  author = {Brian Reistad and David K. Gifford},
  title = {Static dependent costs for estimating execution time},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  year = {1994},
  pages = {65--78},
  url = {http://doi.acm.org/10.1145/182409.182439}
}
@inproceedings{remy-89,
  author = {Didier Rémy},
  title = {Type checking records and variants in a natural
                 extension of {ML}},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {77--88},
  year = {1989},
  url = {http://doi.acm.org/10.1145/75277.75284}
}
@inproceedings{remy-efficient-records-92,
  author = {Didier Rémy},
  title = {Efficient Representation of Extensible Records},
  booktitle = {ACM Workshop on ML and its Applications},
  year = {1992},
  month = jun,
  url = {http://gallium.inria.fr/~remy/ftp/eff-repr-of-ext-records.pdf}
}
@techreport{remy-equational-92,
  author = {Didier R{\'e}my},
  title = {Extending {ML} Type System with a Sorted Equational
                 Theory},
  institution = {INRIA},
  number = {1766},
  year = {1992},
  url = {http://gallium.inria.fr/~remy/ftp/eq-theory-on-types.pdf}
}
@inproceedings{remy-esop-98,
  author = {Didier R{\'e}my},
  title = {From Classes to Objects via Subtyping},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {1998},
  month = mar,
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {1381},
  pages = {200--220},
  url = {http://gallium.inria.fr/~remy/ftp/classes-to-objects.pdf}
}
@incollection{remy-for-free-94,
  author = {Didier R{\'e}my},
  title = {Typing Record Concatenation for Free},
  booktitle = {Theoretical Aspects Of Object-Oriented Programming.
                 Types, Semantics and Language Design},
  publisher = {MIT Press},
  year = {1994},
  editor = {Carl A. Gunter and John C. Mitchell},
  url = {http://gallium.inria.fr/~remy/ftp/taoop2.pdf}
}
@inproceedings{remy-icfp-05,
  author = {Didier Rémy},
  title = {Simple, partial type inference for System ${F}$ based
                 on type containment},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2005},
  month = sep,
  url = {http://gallium.inria.fr/~remy/work/fml/fml-icfp.pdf}
}
@inproceedings{remy-icfp05,
  author = {Didier Rémy},
  title = {Simple, partial type inference for System ${F}$ based
                 on type containment},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2005},
  month = sep,
  url = {http://gallium.inria.fr/~remy/work/fml/fml-icfp.pdf}
}
@inproceedings{remy-lfp-92,
  author = {Didier R{\'e}my},
  title = {Projective {ML}},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  pages = {66--75},
  year = {1992},
  url = {http://gallium.inria.fr/~remy/ftp/lfp92.pdf}
}
@inproceedings{remy-mlart-94,
  author = {Didier R{\'e}my},
  title = {Programming Objects with {ML-ART}: An extension to
                 {ML} with Abstract and Record Types},
  booktitle = {International Symposium on Theoretical Aspects of
                 Computer Software (TACS)},
  year = {1994},
  pages = {321--346},
  publisher = {Springer},
  month = apr,
  url = {http://gallium.inria.fr/~remy/ftp/tacs94.pdf}
}
@misc{remy-newton-95,
  author = {Didier R{\'e}my},
  title = {A case study of typechecking with constrained types:
                 Typing record concatenation},
  howpublished = {Workshop on Advances in Types for Computer Science},
  month = aug,
  year = {1995},
  url = {http://gallium.inria.fr/~remy/work/sub-concat.dvi.gz}
}
@incollection{remy-records-94,
  author = {Didier R{\'e}my},
  title = {Type Inference for Records in a Natural Extension of
                 {ML}},
  booktitle = {Theoretical Aspects Of Object-Oriented Programming:
                 Types, Semantics and Language Design},
  publisher = {MIT Press},
  year = {1994},
  editor = {Carl A. Gunter and John C. Mitchell},
  url = {http://gallium.inria.fr/~remy/ftp/taoop1.pdf}
}
@techreport{remy-start-93,
  author = {Didier R{\'e}my},
  title = {Syntactic Theories and the Algebra of Record Terms},
  institution = {INRIA},
  number = {1869},
  year = {1993},
  type = {Research Report},
  url = {http://gallium.inria.fr/~remy/ftp/record-algebras.pdf}
}
@inproceedings{remy-vouillon-objective-ml-97,
  author = {Didier R{\'e}my and J{\'e}r{\^o}me Vouillon},
  title = {{Objective} {ML}: {A} simple object-oriented extension
                 of {ML}},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1997},
  pages = {40--53},
  month = jan,
  url = {http://gallium.inria.fr/~remy/ftp/objective-ml!popl97.pdf}
}
@article{remy-vouillon-objective-ml-98,
  author = {Didier R{\'e}my and J{\'e}r{\^o}me Vouillon},
  title = {{Objective} {ML}: {An} effective object-oriented
                 extension to {ML}},
  journal = {Theory and Practice of Object Systems},
  year = {1998},
  pages = {27--50},
  volume = {4},
  number = {1},
  url = {http://gallium.inria.fr/~remy/ftp/objective-ml!tapos98.pdf}
}
@article{remy-yakobowski-11,
  author = {Didier R{\'e}my and Boris Yakobowski},
  title = {A {Church}-Style Intermediate Language for {MLF}},
  journal = {Theoretical Computer Science},
  year = {2012},
  volume = {435},
  number = {1},
  pages = {77--105},
  month = jun,
  url = {http://gallium.inria.fr/~remy/mlf/Remy-Yakobowski:xmlf@tcs2011.pdf}
}
@article{reps-98,
  author = {Thomas Reps},
  title = {Program analysis via graph reachability},
  journal = {Information and Software Technology},
  year = {1998},
  volume = {40},
  number = {11--12},
  pages = {701--726},
  url = {http://www.cs.wisc.edu/wpis/papers/tr1386.pdf}
}
@phdthesis{retert-09,
  author = {William S. Retert},
  title = {Implementing Permission Analysis},
  school = {University of Wisconsin-Milwaukee},
  year = {2009},
  month = may
}
@inproceedings{reus-schwinghammer-06,
  title = {Separation Logic for Higher-order Store},
  year = {2006},
  author = {Bernhard Reus and Jan Schwinghammer},
  booktitle = {Computer Science Logic},
  series = {Lecture Notes in Computer Science},
  volume = {4207},
  publisher = {Springer},
  pages = {575--590},
  month = sep,
  url = {http://www.ps.uni-sb.de/Papers/abstracts/seplogic-hos.pdf}
}
@article{revuz-92,
  author = {Dominique Revuz},
  title = {Minimization of acyclic deterministic automata in
                 linear time},
  journal = {Theoretical Computer Science},
  volume = {92},
  number = {1},
  year = {1992},
  pages = {181--189}
}
@inproceedings{reynolds-02,
  author = {John C. Reynolds},
  title = {Separation Logic: {A} Logic for Shared Mutable Data
                 Structures},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {55--74},
  year = {2002},
  url = {http://www.cs.cmu.edu/~jcr/seplogic.pdf}
}
@inproceedings{reynolds-69,
  author = {John C. Reynolds},
  title = {Automatic Computation of Data Set Definitions},
  booktitle = {Information Processing 68},
  volume = {1},
  publisher = {North Holland},
  year = {1969},
  pages = {456--461}
}
@inproceedings{reynolds-74,
  author = {John C. Reynolds},
  title = {Towards a theory of type structure},
  booktitle = {Colloque sur la Programmation},
  pages = {408--425},
  year = {1974},
  volume = {19},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://www.springerlink.com/content/p5801737k78207p7/}
}
@inproceedings{reynolds-78,
  author = {John C. Reynolds},
  title = {Syntactic control of interference},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1978},
  pages = {39--46},
  url = {http://doi.acm.org/10.1145/512760.512766}
}
@inproceedings{reynolds-83,
  author = {John C. Reynolds},
  title = {Types, Abstraction and Parametric Polymorphism},
  booktitle = {Information Processing 83},
  publisher = {Elsevier Science},
  year = {1983},
  pages = {513--523},
  url = {http://www.cse.chalmers.se/edu/year/2010/course/DAT140_Types/Reynolds_typesabpara.pdf}
}
@inproceedings{reynolds-85,
  author = {John C. Reynolds},
  title = {Three Approaches to Type Structure},
  booktitle = {Theory and Practice of Software Development
                 ({TAPSOFT})},
  month = mar,
  series = {Lecture Notes in Computer Science},
  volume = {185},
  publisher = {Springer},
  year = {1985},
  pages = {97--138},
  url = {http://dx.doi.org/10.1007/3-540-15198-2_7}
}
@article{reynolds-98a,
  author = {John C. Reynolds},
  title = {Definitional Interpreters for Higher-Order Programming
                 Languages},
  journal = {Higher-Order and Symbolic Computation},
  volume = {11},
  number = {4},
  pages = {363--397},
  month = dec,
  year = {1998},
  url = {https://cs.au.dk/~hosc/local/HOSC-11-4-pp363-397.pdf}
}
@article{reynolds-98b,
  author = {John C. Reynolds},
  title = {Definitional Interpreters Revisited},
  journal = {Higher-Order and Symbolic Computation},
  volume = {11},
  number = {4},
  pages = {355--361},
  month = dec,
  year = {1998},
  url = {https://cs.au.dk/~hosc/local/HOSC-11-4-pp355-361.pdf}
}
@incollection{reynolds-abstraction-94,
  author = {John C. Reynolds},
  title = {User Defined Types and Procedural Data Structures as
                 Complementary Approaches to Data Abstraction},
  booktitle = {Theoretical Aspects Of Object-Oriented Programming:
                 Types, Semantics and Language Design},
  publisher = {MIT Press},
  year = {1994},
  pages = {13--23},
  editor = {Carl A. Gunter and John C. Mitchell}
}
@incollection{reynolds-intro-90,
  author = {John C. Reynolds},
  title = {An Introduction to the Polymorphic Lambda Calculus},
  booktitle = {Logical Foundations of Functional Programming},
  editor = {G{\'e}rard Huet},
  publisher = {Addison-Wesley},
  year = {1990},
  pages = {77--86},
  url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.7.9916}
}
@article{rhiger-03,
  author = {Morten Rhiger},
  title = {A Foundation for Embedded Languages},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {2003},
  volume = {25},
  number = {3},
  pages = {291--315},
  month = may,
  url = {http://doi.acm.org/10.1145/641909.641910}
}
@inproceedings{riba-09,
  author = {Colin Riba},
  title = {On the Values of Reducibility Candidates},
  booktitle = {Typed Lambda Calculi and Applications (TLCA)},
  month = jul,
  year = {2009},
  pages = {264--278},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5608},
  url = {http://perso.ens-lyon.fr/colin.riba/papers/values.pdf}
}
@inproceedings{ringenburg-grossman-05,
  author = {Michael F. Ringenburg and Dan Grossman},
  title = {Types for Describing Coordinated Data Structures},
  booktitle = {Types in Language Design and Implementation (TLDI)},
  pages = {25--36},
  year = {2005},
  month = jan,
  url = {http://www.cs.washington.edu/homes/miker/coord/coordinated_tldi05.pdf}
}
@article{rittri-89,
  author = {Mikael Rittri},
  title = {Using types as Search Keys in Function Libraries},
  journal = {Journal of Functional Programming},
  volume = {1},
  number = {1},
  pages = {71--89},
  year = {1991}
}
@article{rittri-93,
  author = {Mikael Rittri},
  title = {Retrieving library functions by unifying types modulo
                 linear isomorphism},
  journal = {RAIRO Theoretical Informatics and Applications},
  year = {1993},
  volume = {27},
  number = {6},
  pages = {523--540},
  url = {http://www.cs.chalmers.se/pub/users/rittri/retrieving-unifying.ps.Z}
}
@phdthesis{rival-hdr,
  author = {Xavier Rival},
  title = {Abstract Domains for the Static Analysis of Programs
                 Manipulating Complex Data Structures},
  school = {École Normale Supérieure},
  year = {2011},
  type = {Habilitation à diriger des recherches},
  url = {http://www.di.ens.fr/~rival/hdr.pdf}
}
@article{robinson-65,
  author = {J. Alan Robinson},
  title = {A Machine-Oriented Logic Based on the Resolution
                 Principle},
  journal = {Journal of the {ACM}},
  year = {1965},
  volume = {12},
  number = {1},
  pages = {23--41},
  url = {http://doi.acm.org/10.1145/321250.321253}
}
@article{ross-sagiv-98,
  author = {John L. Ross and Mooly Sagiv},
  title = {Building a Bridge between Pointer Aliases and Program
                 Dependences},
  journal = {Nordic Journal of Computing},
  volume = {5},
  number = {4},
  year = {1998},
  mon = {Winter},
  pages = {361--386},
  url = {http://www.math.tau.ac.il/~msagiv/njc98.ps}
}
@article{runciman-toyn-91,
  author = {Colin Runciman and Ian Toyn},
  title = {Retrieving re-usable software components by
                 polymorphic type},
  journal = {Journal of Functional Programming},
  year = {1991},
  pages = {191--211},
  volume = {1},
  number = {2}
}
@book{russell-norvig-09,
  author = {Stuart Russell and Peter Norvig},
  title = {Artificial Intelligence: {A} Modern Approach},
  publisher = {Prentice Hall},
  year = {2009},
  url = {http://aima.cs.berkeley.edu/}
}
@phdthesis{russo-98,
  school = {University of Edinburgh},
  title = {Types For Modules},
  year = {1998},
  pages = {360},
  author = {Claudio V. Russo},
  url = {http://www.dcs.ed.ac.uk/home/cvr/ECS-LFCS-98-389.html}
}
@misc{rust,
  title = {The {Rust} programming language},
  author = {{The Mozilla foundation}},
  year = {2014},
  url = {http://www.rust-lang.org/}
}
@inproceedings{sabelfeld-sands-99,
  author = {Andrei Sabelfeld and David Sands},
  title = {A {PER} Model of Secure Information Flow in Sequential
                 Programs},
  booktitle = {European Symposium on Programming (ESOP)},
  volume = {1575},
  series = {Lecture Notes in Computer Science},
  year = {1999},
  publisher = {Springer},
  pages = {40--58},
  url = {http://www.cs.chalmers.se/~andrei/esop99.ps}
}
@inproceedings{sabin-freuder-94,
  author = {Daniel Sabin and Eugene C. Freuder},
  title = {Contradicting Conventional Wisdom in Constraint
                 Satisfaction},
  booktitle = {International Workshop on Principles and Practice of
                 Constraint Programming (PPCP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {874},
  month = may,
  year = {1994},
  pages = {10--20},
  url = {http://4c.ucc.ie/web/upload/publications/inProc/sabin94contradicting.pdf}
}
@article{sabry-98,
  author = {Amr Sabry},
  title = {What is a Purely Functional Language?},
  journal = {Journal of Functional Programming},
  year = {1998},
  volume = {8},
  number = {1},
  pages = {1--22},
  month = jan,
  url = {http://dx.doi.org/10.1017/S0956796897002943}
}
@inproceedings{sage-06,
  author = {Jessica Gronski and Kenneth Knowles and Aaron Tomb and
                 Stephen N. Freund and Cormac Flanagan},
  title = {{Sage}: Hybrid Checking for Flexible Specifications},
  booktitle = {Scheme and Functional Programming},
  year = {2006},
  month = sep,
  pages = {93--104},
  url = {http://www.cs.williams.edu/~freund/papers/06-sfp.pdf}
}
@techreport{saha-al-98,
  author = {Bratin Saha and Nevin Heintze and Dino Oliva},
  title = {Subtransitive {CFA} using Types},
  institution = {Yale University},
  year = {1998},
  number = {YALEU/DCS/TR-1166},
  month = oct,
  url = {http://flint.cs.yale.edu/flint/publications/cfa.ps.gz}
}
@article{sangiorgi-98,
  author = {Davide Sangiorgi},
  title = {On the bisimulation proof method},
  journal = {Mathematical Structures in Computer Science},
  volume = {8},
  number = {5},
  pages = {447--479},
  year = {1998},
  url = {http://www.cs.unibo.it/~sangio/DOC_public/bis-proof.ps.gz}
}
@inproceedings{sansom-93,
  author = {Patrick M. Sansom},
  title = {Time profiling a lazy functional compiler},
  booktitle = {Functional Programming, Workshops in Computing},
  year = {1993},
  month = jul,
  publisher = {Springer},
  url = {ftp://ftp.dcs.glasgow.ac.uk/pub/glasgow-fp/authors/Patrick_Sansom/1993_profiling-compiler_GLASGOWFP.ps.gz}
}
@inproceedings{scala,
  author = {Martin Odersky and Matthias Zenger},
  title = {Scalable Component Abstractions},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {41--57},
  year = {2005},
  month = oct,
  url = {http://lamp.epfl.ch/~odersky/papers/ScalableComponent.pdf}
}
@phdthesis{schimpf-81,
  author = {Karl Max Schimpf},
  title = {Construction Methods of {LR} Parsers},
  school = {University of Pennsylvania},
  year = {1981},
  month = may,
  url = {http://repository.upenn.edu/cis_reports/725/}
}
@article{schneider-00,
  author = {Fred B. Schneider},
  title = {Enforceable security policies},
  year = {2000},
  month = feb,
  journal = {ACM Transactions on Information and System Security},
  volume = {3},
  number = {1},
  pages = {1--50},
  url = {http://www.cs.cornell.edu/fbs/publications/EnfSecPols.pdf}
}
@book{schneider-97,
  author = {Fred B. Schneider},
  title = {On Concurrent Programming},
  publisher = {Springer},
  year = {1997}
}
@inproceedings{schroeder-mossakowski-02,
  author = {Lutz Schr{\"o}der and Till Mossakowski},
  title = {{HasCASL}: Towards Integrated Specification and
                 Development of Functional Programs},
  booktitle = {International Conference on Algebraic Methodology and
                 Software Technology (AMAST)},
  month = sep,
  year = {2002},
  pages = {99--116},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2422},
  url = {http://www.informatik.uni-bremen.de/~lschrode/hascasl/recursion.ps}
}
@article{schubert-83,
  author = {Lenhart K. Schubert and Mary Angela Papalaskaris and
                 Jay Taugher},
  title = {Determining Type, Part, Color, and Time
                 Relationships},
  journal = {Computer},
  volume = {16},
  number = {10},
  pages = {53--60},
  month = oct,
  year = {1983}
}
@techreport{schwartzbach-95,
  author = {Michael I. Schwartzbach},
  title = {Polymorphic Type Inference},
  institution = {BRICS},
  year = {1995},
  number = {BRICS-LS-95-3},
  month = jun,
  url = {http://www.brics.dk/LS/95/3/BRICS-LS-95-3.ps.gz}
}
@inproceedings{schwinghammer-birkedal-stovring-11,
  author = {Jan Schwinghammer and Lars Birkedal and Kristian
                 Støvring},
  title = {A step-indexed {Kripke} model of hidden state via
                 recursive properties on recursively defined metric
                 spaces},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  year = {2011},
  number = {6604},
  pages = {305--319},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {http://www.itu.dk/~birkedal/papers/relpoms-antiframe-conf.pdf}
}
@inproceedings{schwinghammer-csl-09,
  author = {Jan Schwinghammer and Lars Birkedal and Bernhard Reus
                 and Hongseok Yang},
  title = {Nested {Hoare} triples and frame rules for
                 higher-order store},
  booktitle = {Computer Science Logic},
  pages = {440--454},
  year = {2009},
  volume = {5771},
  series = {Lecture Notes in Computer Science},
  month = sep,
  publisher = {Springer},
  url = {http://www.itu.dk/~birkedal/papers/nested-triples-conf.pdf}
}
@inproceedings{schwinghammer-sfhs-10,
  author = {Jan Schwinghammer and Hongseok Yang and Lars Birkedal
                 and François Pottier and Bernhard Reus},
  title = {A Semantic Foundation for Hidden State},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  month = mar,
  year = {2010},
  pages = {2--17},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6014},
  url = {http://gallium.inria.fr/~fpottier/publis/sfhs.pdf}
}
@article{scott-lcf-93,
  author = {Dana S. Scott},
  title = {A Type-Theoretical Alternative to {ISWIM}, {CUCH},
                 {OWHY}},
  journal = {Theoretical Computer Science},
  volume = {121},
  number = {1--2},
  year = {1993},
  pages = {411--440},
  url = {http://dx.doi.org/10.1016/0304-3975(93)90095-B}
}
@book{sedgewick-graphs-java,
  author = {Robert Sedgewick and Michael Schidlowsky},
  title = {Algorithms in {Java}: Graph Algorithms},
  publisher = {Addison-Wesley},
  year = {2003}
}
@article{sekar-al-95,
  title = {Adaptive Pattern Matching},
  author = {R. C. Sekar and R. Ramesh and I. V. Ramakrishnan},
  pages = {1207--1234},
  journal = {SIAM Journal on Computing},
  month = dec,
  year = {1995},
  volume = {24},
  number = {6},
  url = {http://seclab.cs.sunysb.edu/sekar/papers/adaptive.ps},
  alturl = {http://locus.siam.org/fulltext/SICOMP/volume-24/0224073.pdf}
}
@article{sethi-ullman-70,
  author = {Ravi Sethi and J. D. Ullman},
  title = {The Generation of Optimal Code for Arithmetic
                 Expressions},
  journal = {Journal of the {ACM}},
  volume = {17},
  number = {4},
  year = {1970},
  pages = {715--728},
  url = {http://doi.acm.org/10.1145/321607.321620}
}
@inproceedings{sewell-vitek-00,
  author = {Peter Sewell and Jan Vitek},
  title = {Secure Composition of Untrusted Code: Wrappers and
                 Causality Types},
  month = jul,
  year = {2000},
  booktitle = {{IEEE} Computer Security Foundations Workshop},
  url = {http://www.cl.cam.ac.uk/users/pes20/wraptypes.ps}
}
@techreport{sewell-vitek-99,
  author = {Peter Sewell and Jan Vitek},
  title = {Secure Composition of Untrusted Code: Wrappers and
                 Causality Types},
  number = {478},
  institution = {Computer Laboratory, University of Cambridge},
  month = nov,
  year = {1999},
  url = {http://www.cl.cam.ac.uk/users/pes20/wraptypes-tr.ps}
}
@article{sha-steiglitz-93,
  author = {Edwin Hsing-Mean Sha and Kenneth Steiglitz},
  title = {Maintaining Bipartite Matchings in the Presence of
                 Failures},
  journal = {Networks},
  year = {1993},
  volume = {23},
  number = {5},
  pages = {459--471},
  month = aug,
  url = {http://www.nd.edu/~esha/papers/oldsha/alg.ps}
}
@article{shao-certified-05,
  author = {Zhong Shao and Valery Trifonov and Bratin Saha and
                 Nikolaos Papaspyrou},
  title = {A type system for certified binaries},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {27},
  number = {1},
  year = {2005},
  pages = {1--45},
  url = {http://flint.cs.yale.edu/flint/publications/tscb-toplas.pdf}
}
@inproceedings{sheard-04,
  author = {Tim Sheard},
  title = {Languages of the Future},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = oct,
  year = {2004},
  pages = {116--119},
  url = {http://doi.acm.org/10.1145/1028664.1028711}
}
@inproceedings{sheard-05,
  author = {Tim Sheard},
  title = {Putting {Curry-Howard} To Work},
  booktitle = {Haskell workshop},
  month = sep,
  year = {2005},
  pages = {74--85},
  url = {http://web.cecs.pdx.edu/~sheard/papers/PutCurryHoward2WorkFinalVersion.ps}
}
@inproceedings{sheard-challenges-01,
  author = {Tim Sheard},
  title = {Accomplishments and Research Challenges in
                 Meta-Programming},
  booktitle = {International Workshop on Semantics, Applications, and
                 Implementation of Program Generation (SAIG)},
  pages = {2--44},
  year = {2001},
  volume = {2196},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.cse.ogi.edu/PacSoft/publications/2001/challeges_sheard.pdf}
}
@inproceedings{sheard-metaml-98,
  author = {Tim Sheard},
  title = {Using {MetaML}: {A} staged Programming Language},
  booktitle = {Advanced Functional Programming},
  pages = {207--239},
  year = {1998},
  volume = {1608},
  series = {Lecture Notes in Computer Science},
  month = sep,
  publisher = {Springer},
  url = {http://web.cecs.pdx.edu/~sheard/papers/summerschool.ps}
}
@inproceedings{sheard-pasalic-04,
  author = {Tim Sheard and Emir Pa{\v s}ali{\'c}},
  title = {Meta-Programming with Built-in Type Equality},
  booktitle = {Workshop on Logical Frameworks and Meta-Languages
                 (LFM)},
  year = {2004},
  month = jul,
  url = {http://cs-www.cs.yale.edu/homes/carsten/lfm04/proceedings/pasalic.pdf}
}
@inproceedings{shields-peyton-jones-02,
  author = {Mark B. Shields and Simon {Peyton Jones}},
  title = {First class modules for {Haskell}},
  booktitle = {Foundations of Object-Oriented Languages (FOOL)},
  month = jan,
  year = {2002},
  pages = {28--40},
  url = {http://www.cse.ogi.edu/~mbs/pub/first_class_modules/first_class_modules.pdf}
}
@inproceedings{shinwell-03,
  author = {Mark R. Shinwell and Andrew M. Pitts and Murdoch J.
                 Gabbay},
  title = {{FreshML}: Programming with Binders Made Simple},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {263--274},
  year = {2003},
  month = aug,
  url = {http://www.cl.cam.ac.uk/~amp12/papers/frepbm/frepbm.pdf}
}
@inproceedings{shinwell-05,
  author = {Mark R. Shinwell},
  title = {{Fresh O'Caml}: nominal abstract syntax for the
                 masses},
  booktitle = {ACM Workshop on ML},
  year = {2005},
  month = sep,
  url = {http://www.cl.cam.ac.uk/users/mrs30/papers/masses.pdf}
}
@phdthesis{shinwell-phd,
  author = {Mark R. Shinwell},
  title = {The Fresh Approach: functional programming with names
                 and binders},
  school = {University of Cambridge},
  year = {2005},
  month = feb,
  url = {http://www.cl.cam.ac.uk/users/mrs30/papers/thesis.pdf}
}
@article{shinwell-pitts-05,
  author = {Mark R. Shinwell and Andrew M. Pitts},
  title = {On a Monadic Semantics for Freshness},
  journal = {Theoretical Computer Science},
  year = {2005},
  volume = {342},
  pages = {28--55},
  url = {http://www.cl.cam.ac.uk/users/amp12/papers/monsf/monsf-jv.pdf}
}
@inproceedings{shivers-96,
  author = {Olin Shivers},
  title = {A universal scripting framework or, {Lambda}: the
                 ultimate ``little language''},
  booktitle = {Concurrency and Parallelism: Programming, Networking
                 and Security},
  pages = {254--265},
  year = {1996},
  volume = {1179},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.ai.mit.edu/people/shivers/ll.ps}
}
@article{sikmhs-12,
  author = {Jan Schwinghammer and Lars Birkedal and François
                 Pottier and Bernhard Reus and Kristian St{\o}vring and
                 Hongseok Yang},
  title = {A step-indexed {Kripke} Model of Hidden State},
  journal = {Mathematical Structures in Computer Science},
  note = {To appear},
  month = jan,
  year = {2012},
  url = {http://gallium.inria.fr/~fpottier/publis/sikmhs.pdf}
}
@inproceedings{simonet-02,
  author = {Vincent Simonet},
  title = {Fine-grained Information Flow Analysis for a
                 $\lambda$-calculus with Sum Types},
  booktitle = {{IEEE} Computer Security Foundations Workshop},
  pages = {223--237},
  month = jun,
  year = {2002},
  url = {http://gallium.inria.fr/~simonet/publis/simonet-csfw-02.ps.gz}
}
@inproceedings{simonet-03,
  author = {Vincent Simonet},
  title = {An Extension of {HM(X)} with Bounded Existential and
                 Universal Data-Types},
  month = jun,
  year = {2003},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  url = {http://gallium.inria.fr/~simonet/publis/simonet-icfp03.ps.gz}
}
@techreport{simonet-flowcaml-manual,
  author = {Vincent Simonet},
  title = {The {Flow Caml} system: documentation and user's
                 manual},
  institution = {INRIA},
  number = {0282},
  month = jul,
  year = {2003},
  url = {http://gallium.inria.fr/~simonet/soft/flowcaml/manual/}
}
@techreport{simonet-pottier-hmg,
  author = {Vincent Simonet and François Pottier},
  title = {Constraint-Based Type Inference for Guarded Algebraic
                 Data Types},
  month = jan,
  year = {2005},
  institution = {INRIA},
  type = {Research Report},
  number = {5462},
  url = {http://www.inria.fr/rrrt/rr-5462.html}
}
@inproceedings{simonet-solver-03,
  author = {Vincent Simonet},
  title = {Type inference with structural subtyping: a faithful
                 formalization of an efficient constraint solver},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2895},
  year = {2003},
  month = nov,
  url = {http://gallium.inria.fr/~simonet/publis/simonet-aplas03.pdf}
}
@phdthesis{simonet-these,
  author = {Vincent Simonet},
  title = {Inférence de flots d'information pour {ML}:
                 formalisation et implantation},
  school = {Université Paris 7},
  year = {2004},
  month = mar,
  url = {http://gallium.inria.fr/~simonet/publis/simonet-these.pdf}
}
@article{simplify,
  author = {David Detlefs and Greg Nelson and James B. Saxe},
  title = {{Simplify}: a theorem prover for program checking},
  journal = {Journal of the {ACM}},
  volume = {52},
  number = {3},
  year = {2005},
  pages = {365--473},
  url = {http://doi.acm.org/10.1145/1066100.1066102}
}
@phdthesis{skalka-phd-02,
  author = {Christian Skalka},
  title = {Types for Programming Language-Based Security},
  school = {The Johns Hopkins University},
  year = {2002},
  month = aug,
  url = {http://www.cs.uvm.edu/~skalka/skalka-pubs/skalka-phd-thesis.ps}
}
@inproceedings{skalka-pottier-tip-02,
  author = {Christian Skalka and François Pottier},
  title = {Syntactic Type Soundness for {HM}{$(X)$}},
  month = jul,
  year = {2002},
  booktitle = {Workshop on Types in Programming (TIP)},
  series = {Electronic Notes in Theoretical Computer Science},
  volume = {75},
  url = {http://gallium.inria.fr/~fpottier/publis/skalka-fpottier-tip-02.ps.gz}
}
@inproceedings{skalka-smith-00,
  author = {Christian Skalka and Scott Smith},
  title = {Static Enforcement of Security with Types},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2000},
  pages = {34--45},
  url = {http://www.cs.uvm.edu/~skalka/skalka-pubs/skalka-smith-icfp00.ps}
}
@inproceedings{smallfoot-05,
  author = {Josh Berdine and Cristiano Calcagno and Peter W.
                 O'Hearn},
  title = {Smallfoot: Modular Automatic Assertion Checking with
                 Separation Logic},
  booktitle = {Formal Methods for Components and Objects},
  pages = {115--137},
  year = {2005},
  volume = {4111},
  series = {Lecture Notes in Computer Science},
  month = nov,
  publisher = {Springer},
  url = {http://research.microsoft.com/pubs/67598/smallfoot.pdf}
}
@inproceedings{smans-implicit-09,
  title = {Implicit Dynamic Frames: Combining Dynamic Frames and
                 Separation Logic},
  year = {2009},
  author = {Jan Smans and Bart Jacobs and Frank Piessens},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  pages = {148--172},
  volume = {5653},
  series = {Lecture Notes in Computer Science},
  month = jul,
  publisher = {Springer},
  url = {http://people.cs.kuleuven.be/~jan.smans/ecoop09.pdf}
}
@inproceedings{smetsers-94,
  author = {Sjaak Smetsers and Erik Barendsen and Marko C. J. D.
                 van Eekelen and Marinus J. Plasmeijer},
  title = {Guaranteeing Safe Destructive Updates Through a Type
                 System with Uniqueness Information for Graphs},
  booktitle = {Dagstuhl Seminar on Graph Transformations in Computer
                 Science},
  year = {1994},
  pages = {358--379},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {776},
  url = {http://www.mbsd.cs.ru.nl/publications/papers/1994/smes94-guaranteeing.pdf}
}
@inproceedings{smith-01,
  author = {Geoffrey S. Smith},
  title = {A New Type System for Secure Information Flow},
  booktitle = {{IEEE} Computer Security Foundations Workshop},
  pages = {115--125},
  month = jun,
  year = {2001},
  url = {http://www.cs.fiu.edu/~smithg/papers/csfw01.pdf}
}
@inproceedings{smith-93,
  author = {Geoffrey S. Smith},
  title = {Polymorphic type Inference with Overloading and
                 Subtyping},
  booktitle = {Theory and Practice of Software Development
                 ({TAPSOFT})},
  series = {Lecture Notes in Computer Science},
  volume = {668},
  publisher = {Springer},
  year = {1993},
  month = apr,
  pages = {671--685},
  url = {http://dx.doi.org/10.1007/3-540-56610-4_97}
}
@article{smith-94,
  author = {Geoffrey S. Smith},
  title = {Principal Type Schemes for Functional Programs with
                 Overloading and Subtyping},
  journal = {Science of Computer Programming},
  year = {1994},
  volume = {23},
  number = {2--3},
  pages = {197--226},
  month = dec,
  url = {http://www.cs.fiu.edu/~smithg/papers/scp94.pdf}
}
@phdthesis{smith-phd-89,
  author = {Scott Fraser Smith},
  title = {Partial Objects in Type Theory},
  school = {Cornell University},
  year = {1989},
  month = jan,
  url = {http://www.cs.jhu.edu/~scott/pll/older-papers/thesis.pdf}
}
@inproceedings{smith-volpano-98,
  title = {Secure Information Flow in a Multi-Threaded Imperative
                 Language},
  booktitle = {Principles of Programming Languages ({POPL})},
  author = {Geoffrey Smith and Dennis Volpano},
  month = jan,
  year = {1998},
  pages = {355--364},
  url = {http://www.cs.nps.navy.mil/people/faculty/volpano/papers/popl98.ps.Z}
}
@inproceedings{smith-wang-00,
  author = {Scott Smith and Tiejun Wang},
  title = {Polyvariant Flow Analysis with Constrained Types},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1782},
  pages = {382--396},
  month = mar,
  year = {2000},
  url = {http://link.springer.de/link/service/series/0558/papers/1782/17820382.pdf}
}
@book{sml-97,
  author = {Robin Milner and Mads Tofte and Robert Harper and
                 David MacQueen},
  title = {The Definition of {Standard ML} -- Revised},
  publisher = {MIT Press},
  year = {1997},
  month = may
}
@article{smolka-treinen-94,
  title = {Records for Logic Programming},
  year = {1994},
  author = {Gert Smolka and Ralf Treinen},
  volume = {18},
  journal = {Journal of Logic Programming},
  number = {3},
  month = apr,
  pages = {229--258},
  url = {http://www.ps.uni-sb.de/Papers/abstracts/RecordsLogProg.ps}
}
@article{smyth-plotkin-82,
  author = {Michael B. Smyth and Gordon D. Plotkin},
  title = {The Category-Theoretic Solution of Recursive Domain
                 Equations},
  journal = {SIAM Journal on Computing},
  volume = {11},
  number = {4},
  year = {1982},
  pages = {761--783},
  url = {http://homepages.inf.ed.ac.uk/gdp/publications/Category_Theoretic_Solution.pdf}
}
@inproceedings{snyder-86,
  author = {Alan Snyder},
  title = {Encapsulation and inheritance in object-oriented
                 programming languages},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  year = {1986},
  pages = {38--45},
  url = {http://doi.acm.org/10.1145/28697.28702}
}
@inproceedings{sobel-friedman-98,
  author = {Jonathan Sobel and Daniel P. Friedman},
  title = {Recycling continuations},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {1998},
  pages = {251--260},
  url = {http://www.cs.indiana.edu/hyplan/dfried/rc.ps}
}
@inproceedings{solomon-78,
  author = {Marvin H. Solomon},
  title = {Type Definitions with Parameters},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1978},
  pages = {31--38},
  url = {http://doi.acm.org/10.1145/512760.512765}
}
@article{soloviev-83,
  author = {Sergei V. Soloviev},
  title = {The category of finite sets and Cartesian Closed
                 Categories},
  journal = {Journal of Soviet Mathematics},
  year = {1983},
  volume = {22},
  number = {3},
  pages = {1387--1400}
}
@inproceedings{sozeau-06,
  author = {Matthieu Sozeau},
  title = {Subset Coercions in {Coq}},
  booktitle = {Types for Proofs and Programs},
  year = {2006},
  volume = {4502},
  pages = {237--252},
  url = {http://www.lri.fr/~sozeau/research/russell/article.pdf}
}
@inproceedings{sozeau-finger-07,
  author = {Matthieu Sozeau},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {13--24},
  url = {http://mattam.org/research/publications/Program-ing_Finger_Trees_in_Coq.pdf},
  title = {Program-ing Finger Trees in {Coq}},
  month = sep,
  year = {2007}
}
@article{spec-sharp-04,
  author = {Mike Barnett and Rob DeLine and Manuel Fähndrich and
                 K. Rustan M. Leino and Wolfram Schulte},
  title = {Verification of object-oriented programs with
                 invariants},
  journal = {Journal of Object Technology},
  year = {2004},
  volume = {3},
  number = {6},
  url = {http://research.microsoft.com/research/pubs/view.aspx?type=article&id=1161}
}
@article{spivey-90,
  year = {1990},
  volume = {14},
  title = {A Functional Theory of Exceptions},
  pages = {25--42},
  journal = {Science of Computer Programming},
  author = {Mike Spivey}
}
@inproceedings{stata-abadi-98,
  author = {R. Stata and M. Abadi},
  title = {A Type System for {Java} Bytecode Subroutines},
  year = {1998},
  month = jan,
  pages = {149--160},
  booktitle = {Principles of Programming Languages ({POPL})},
  url = {http://gatekeeper.dec.com/pub/DEC/SRC/research-reports/abstracts/src-rr-158.html}
}
@article{steckler-wand-97,
  author = {Paul A. Steckler and Mitchell Wand},
  title = {Lightweight closure conversion},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {19},
  number = {1},
  year = {1997},
  pages = {48--86},
  url = {ftp://ftp.ccs.neu.edu/pub/people/wand/papers/steckler-wand-97.ps}
}
@inproceedings{steensgaard-96,
  author = {Bjarne Steensgaard},
  booktitle = {Principles of Programming Languages ({POPL})},
  title = {Points-to Analysis in Almost Linear Time},
  year = {1996},
  month = jan,
  pages = {32--41},
  url = {ftp://ftp.research.microsoft.com/users/rusa/popl96.ps}
}
@inproceedings{steffen-fix-machine-95,
  author = {Bernhard Steffen and Andreas Cla{\ss}en and Marion
                 Klein and Jens Knoop and Tiziana Margaria},
  title = {The Fixpoint-Analysis Machine},
  booktitle = {International Conference on Concurrency Theory
                 (CONCUR)},
  month = aug,
  year = {1995},
  pages = {72--87},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {962},
  url = {http://dx.doi.org/10.1007/3-540-60218-6_6}
}
@inproceedings{stehr-00,
  author = {Mark-Oliver Stehr},
  title = {{CINNI} -- {A} Generic Calculus of Explicit
                 Substitutions and its Application to $\lambda$-,
                 $\sigma$- and $\pi$-calculi},
  booktitle = {International Workshop on Rewriting Logic and its
                 Applications (WRLA)},
  year = {2000},
  volume = {36},
  series = {Electronic Notes in Theoretical Computer Science},
  month = sep,
  publisher = {Elsevier Science},
  url = {http://formal.cs.uiuc.edu/stehr/extcinni.ps}
}
@inproceedings{stewart-veristar-12,
  author = {Gordon Stewart and Lennart Beringer and Andrew W.
                 Appel},
  title = {Verified heap theorem prover by paramodulation},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2012},
  pages = {3--14},
  url = {http://www.cs.princeton.edu/~appel/papers/veristar.pdf}
}
@inproceedings{stoughton-81,
  author = {Allen Stoughton},
  title = {Access Flow: {A} Protection Model Which Integrates
                 Access Control and Information Flow},
  pages = {9--18},
  booktitle = {{IEEE} Symposium on Security and Privacy (S\&P)},
  year = {1981}
}
@article{strachey-fundamental,
  author = {Christopher Strachey},
  title = {Fundamental Concepts in Programming Languages},
  journal = {Higher-Order and Symbolic Computation},
  year = {2000},
  volume = {13},
  number = {1--2},
  pages = {11--49},
  month = apr,
  url = {http://dx.doi.org/10.1023/A:1010000313106}
}
@article{strom-yemini-86,
  author = {Robert E. Strom and Shaula Yemini},
  title = {Typestate: {A} programming language concept for
                 enhancing software reliability},
  journal = {IEEE Transactions on Software Engineering},
  volume = {12},
  number = {1},
  year = {1986},
  pages = {157--171},
  url = {http://www.cs.cmu.edu/~aldrich/papers/classic/tse12-typestate.pdf}
}
@inproceedings{stuckey-sulzmann-02,
  author = {Peter J. Stuckey and Martin Sulzmann},
  title = {A Theory of Overloading},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {167--178},
  year = {2002},
  url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.62.8605}
}
@inproceedings{stuckey-sulzmann-wazny-03,
  author = {Peter J. Stuckey and Martin Sulzmann and Jeremy
                 Wazny},
  title = {Interactive type debugging in {Haskell}},
  booktitle = {Haskell workshop},
  pages = {72--83},
  year = {2003},
  url = {http://www.cs.mu.oz.au/~pjs/papers/p316-stuckey.pdf}
}
@inproceedings{su-aiken-01,
  author = {Zhendong Su and Alexander Aiken},
  title = {Entailment with Conditional Equality Constraints},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2001},
  month = apr,
  pages = {170--189},
  series = {Lecture Notes in Computer Science},
  volume = {2028},
  url = {http://www.cs.ucdavis.edu/~su/publications/esop01.pdf}
}
@inproceedings{su-al-02,
  author = {Zhendong Su and Alexander Aiken and Joachim Niehren
                 and Tim Priesnitz and Ralf Treinen},
  title = {The First-Order Theory of Subtyping Constraints},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {203--216},
  year = {2002},
  month = jan,
  url = {http://www.cs.berkeley.edu/~aiken/publications/papers/popl02.pdf}
}
@phdthesis{sulzmann-00,
  author = {Martin Sulzmann},
  title = {A general framework for {Hindley/Milner} type systems
                 with constraints},
  school = {Yale University, Department of Computer Science},
  year = {2000},
  month = may,
  url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.7.7745}
}
@inproceedings{sulzmann-01,
  author = {Martin Sulzmann},
  title = {A General Type Inference Framework for
                 {Hindley/Milner} Style Systems},
  booktitle = {International Symposium on Functional and Logic
                 Programming},
  series = {Lecture Notes in Computer Science},
  volume = {2024},
  pages = {246--263},
  publisher = {Springer},
  month = mar,
  year = {2001},
  url = {http://link.springer.de/link/service/series/0558/papers/2024/20240248.pdf}
}
@techreport{sulzmann-mueller-zenger-99,
  author = {Martin Sulzmann and Martin Müller and Christoph
                 Zenger},
  title = {{Hindley/Milner} style type systems in constraint
                 form},
  institution = {University of South Australia, School of Computer and
                 Information Science},
  type = {Research Report},
  year = {1999},
  number = {ACRC--99--009},
  month = jul,
  url = {http://www.ps.uni-sb.de/~mmueller/papers/hm-constraints.ps.gz}
}
@inproceedings{sulzmann-odersky-wehr-97,
  author = {Martin Sulzmann and Martin Odersky and Martin Wehr},
  title = {Type Inference with Constrained Types},
  booktitle = {Foundations of Object-Oriented Languages (FOOL)},
  year = {1997},
  month = jan,
  url = {ftp://ftp.ira.uka.de/pub/uni-karlsruhe/papers/techreports/1996/1996-28.ps.gz}
}
@techreport{sulzmann-records-97,
  author = {Martin Sulzmann},
  title = {Designing Record Systems},
  institution = {Yale University},
  year = {1997},
  type = {Research Report},
  number = {YALEU/DCS/RR-1128},
  month = apr,
  url = {http://www.cs.mu.oz.au/~sulzmann/publications/tr-1128.ps.gz}
}
@techreport{sulzmann-wang-04,
  author = {Martin Sulzmann and Meng Wang},
  title = {A Systematic Translation of Guarded Recursive Data
                 Types to Existential Types},
  institution = {National University of Singapore},
  number = {TR22/04},
  year = {2004},
  ps = {http://www.cs.mu.oz.au/~sulzmann/publications/translate-grdts.ps.gz}
}
@inproceedings{sumii-09,
  author = {Eijiro Sumii},
  title = {A Complete Characterization of Observational
                 Equivalence in Polymorphic lambda-Calculus with General
                 References},
  booktitle = {Computer Science Logic},
  month = sep,
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {5771},
  pages = {455--469},
  year = {2009},
  url = {http://www.kb.ecei.tohoku.ac.jp/~sumii/pub/poly-ref.pdf}
}
@inproceedings{svendsen-birkedal-icap-14,
  author = {Kasper Svendsen and Lars Birkedal},
  title = {Impredicative Concurrent Abstract Predicates},
  booktitle = {European Symposium on Programming (ESOP)},
  month = apr,
  year = {2014},
  pages = {149--168},
  volume = {8410},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  url = {http://cs.au.dk/~birke/papers/icap-conf.pdf}
}
@inproceedings{svendsen-birkedal-parkinson-hocap-13,
  author = {Kasper Svendsen and Lars Birkedal and Matthew J.
                 Parkinson},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {169--188},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  title = {Modular Reasoning about Separation of Concurrent Data
                 Structures},
  volume = {7792},
  month = mar,
  year = {2013},
  url = {http://cs.au.dk/~birke/papers/hocap-conf.pdf}
}
@inproceedings{svendsen-birkedal-parkinson-joins-13,
  author = {Kasper Svendsen and Lars Birkedal and Matthew J.
                 Parkinson},
  title = {Joins: {A} Case Study in Modular Specification of a
                 Concurrent Reentrant Higher-Order Library},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  month = jul,
  year = {2013},
  pages = {327--351},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {7920},
  url = {http://cs.au.dk/~birke/papers/joins-conf.pdf}
}
@article{swamy-06,
  author = {Nikhil Swamy and Michael Hicks and Greg Morrisett and
                 Dan Grossman and Trevor Jim},
  title = {Safe Manual Memory Management in {Cyclone}},
  journal = {Science of Computer Programming},
  year = {2006},
  volume = {62},
  number = {2},
  pages = {122--144},
  month = oct,
  url = {http://www.cs.umd.edu/~mwh/papers/cyc-mm-scp.pdf}
}
@inproceedings{swierstra-duponcheel-96,
  author = {S. Doaitse Swierstra and Luc Duponcheel},
  title = {Deterministic, Error-Correcting Combinator Parsers},
  booktitle = {Advanced Functional Programming},
  month = aug,
  year = {1996},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1129},
  pages = {184--207},
  url = {http://www.staff.science.uu.nl/~swier101/Papers/1996/DetErrCorrComPars.pdf}
}
@phdthesis{taha-99,
  author = {Walid Taha},
  title = {Multi-stage Programming: Its Theory and Applications},
  school = {Oregon Graduate Institute},
  year = {1999},
  month = nov,
  url = {http://www.cs.rice.edu/~taha/publications/thesis/thesis.pdf}
}
@inproceedings{taha-gentle-04,
  author = {Walid Taha},
  title = {A Gentle Introduction to Multi-stage Programming},
  booktitle = {Domain-Specific Program Generation (DSPG)},
  pages = {30--50},
  year = {2004},
  volume = {3016},
  series = {Lecture Notes in Computer Science},
  month = nov,
  publisher = {Springer},
  url = {http://www.cs.rice.edu/~taha/publications/journal/dspg04a.pdf}
}
@inproceedings{taha-nielsen-03,
  author = {Walid Taha and Michael Florentin Nielsen},
  title = {Environment classifiers},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2003},
  pages = {26--37},
  month = jan,
  url = {http://www.cs.rice.edu/~taha/publications/conference/popl03.pdf}
}
@article{takahashi-95,
  author = {Masako Takahashi},
  title = {Parallel Reductions in $\lambda$-Calculus},
  journal = {Information and Computation},
  year = {1995},
  volume = {118},
  number = {1},
  pages = {120--127},
  month = apr,
  url = {http://dx.doi.org/10.1006/inco.1995.1057}
}
@article{talcott-93,
  author = {Carolyn Talcott},
  title = {A Theory of Binding Structures and Applications to
                 Rewriting},
  journal = {Theoretical Computer Science},
  year = {1993},
  volume = {112},
  number = {1},
  pages = {99--143},
  url = {http://steam.stanford.edu/MT/91amast-tcs.ps.Z}
}
@article{talpin-jouvelot-94,
  author = {Jean-Pierre Talpin and Pierre Jouvelot},
  title = {The type and effect discipline},
  journal = {Information and Computation},
  year = {1994},
  volume = {11},
  number = {2},
  pages = {245--296},
  url = {http://www.irisa.fr/prive/talpin/papers/ic94.pdf}
}
@inproceedings{tan-wusl-09,
  author = {Gang Tan and Zhong Shao and Xinyu Feng and Hongxu
                 Cai},
  title = {Weak Updates and Separation Logic},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  pages = {178--193},
  year = {2009},
  volume = {5904},
  series = {Lecture Notes in Computer Science},
  month = dec,
  publisher = {Springer},
  url = {http://flint.cs.yale.edu/flint/publications/wusl.pdf}
}
@book{tapl,
  author = {Benjamin C. Pierce},
  title = {Types and Programming Languages},
  publisher = {MIT Press},
  year = {2002}
}
@manual{tarditi-appel-00,
  title = {{ML-Yacc} User's Manual},
  author = {David R. Tarditi and Andrew W. Appel},
  month = apr,
  year = {2000},
  url = {http://www.smlnj.org/doc/ML-Yacc/}
}
@article{tarjan-72,
  author = {Robert Tarjan},
  title = {Depth-First Search and Linear Graph Algorithms},
  journal = {SIAM Journal on Computing},
  month = jun,
  year = {1972},
  volume = {1},
  number = {2},
  pages = {146--160},
  url = {http://epubs.siam.org/doi/abs/10.1137/0201010}
}
@article{tarjan-75,
  author = {Robert Endre Tarjan},
  title = {Efficiency of a Good But Not Linear Set Union
                 Algorithm},
  journal = {Journal of the {ACM}},
  year = {1975},
  volume = {22},
  number = {2},
  pages = {215--225},
  month = apr,
  url = {http://www.csd.uwo.ca/~eschost/Teaching/07-08/CS445a/p215-tarjan.pdf}
}
@article{tarjan-79,
  author = {Robert Endre Tarjan},
  title = {Applications of Path Compression on Balanced Trees},
  journal = {Journal of the {ACM}},
  year = {1979},
  volume = {26},
  number = {4},
  pages = {690--715},
  month = oct,
  url = {http://doi.acm.org/10.1145/322154.322161}
}
@article{tarjan-amortized-85,
  author = {Robert Endre Tarjan},
  title = {Amortized Computational Complexity},
  year = {1985},
  journal = {SIAM Journal on Algebraic and Discrete Methods},
  volume = {6},
  number = {2},
  pages = {306--318},
  url = {http://dx.doi.org/10.1137/0606031}
}
@article{tarjan-yannakakis-84,
  author = {Robert E. Tarjan and Mihalis Yannakakis},
  title = {Simple Linear-Time Algorithms to Test Chordality of
                 Graphs, Test Acyclicity of Hypergraphs, and Selectively
                 Reduce Acyclic Hypergraphs},
  journal = {SIAM Journal on Computing},
  year = {1984},
  volume = {13},
  number = {3},
  pages = {566--579},
  month = aug,
  url = {http://dx.doi.org/10.1137/0213035}
}
@article{tarjan-yao-79,
  author = {Robert Endre Tarjan and Andrew Chi-Chih Yao},
  title = {Storing a sparse table},
  journal = {Communications of the {ACM}},
  volume = {22},
  number = {11},
  year = {1979},
  pages = {606--611},
  url = {http://doi.acm.org/10.1145/359168.359175}
}
@inproceedings{template-haskell-02,
  author = {Tim Sheard and Simon {Peyton Jones}},
  title = {Template metaprogramming for {Haskell}},
  booktitle = {Haskell workshop},
  year = {2002},
  month = oct,
  pages = {1--16},
  url = {http://research.microsoft.com/~simonpj/papers/meta-haskell/meta-haskell.pdf}
}
@article{tennent-ghica-00,
  author = {Robert D. Tennent and Dan Ghica},
  title = {Abstract models of storage},
  journal = {Higher-Order and Symbolic Computation},
  year = {2000},
  volume = {13},
  pages = {119--129},
  url = {http://dx.doi.org/10.1023/A:1010022312623}
}
@inproceedings{thatte-94,
  author = {Satish R. Thatt{\'e}},
  title = {Automated synthesis of interface adapters for reusable
                 classes},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1994},
  month = jan,
  pages = {174--187},
  url = {http://doi.acm.org/10.1145/174675.177850}
}
@inproceedings{thielecke-03,
  author = {Hayo Thielecke},
  title = {From control effects to typed continuation passing},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2003},
  pages = {139--149},
  url = {http://www.cs.bham.ac.uk/~hxt/research/effects.pdf}
}
@inproceedings{thielecke-06,
  author = {Hayo Thielecke},
  title = {Frame rules from answer types for code pointers},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2006},
  pages = {309--319},
  url = {http://www.cs.bham.ac.uk/~hxt/research/popl06thielecke.pdf}
}
@article{thielecke-barrel-02,
  author = {Hayo Thielecke},
  title = {Comparing Control Constructs by Double-barrelled
                 {CPS}},
  journal = {Higher-Order and Symbolic Computation},
  year = {2002},
  volume = {15},
  number = {2--3},
  pages = {141--160},
  url = {http://www.cs.bham.ac.uk/~hxt/research/HOSC-double-barrel.pdf}
}
@inproceedings{thiemann-01,
  author = {Peter Thiemann},
  title = {Enforcing Security Properties Using Type
                 Specialization},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  month = apr,
  year = {2001},
  url = {http://www.informatik.uni-freiburg.de/~thiemann/papers/espps-het.ps.gz}
}
@inproceedings{thiemann-99,
  author = {Peter Thiemann},
  title = {{ML}-Style Typing, Lambda Lifting, and Partial
                 Evaluation},
  booktitle = {Latin American Conference on Functional Programming},
  year = {1999},
  month = mar,
  url = {http://www.informatik.uni-freiburg.de/~thiemann/papers/clapf99.ps.gz}
}
@inproceedings{tiuryn-92,
  author = {Jerzy Tiuryn},
  title = {Subtype inequalities},
  pages = {308--317},
  booktitle = {Logic in Computer Science (LICS)},
  month = jun,
  year = {1992}
}
@article{tiuryn-urzyczyn-02,
  author = {Jerzy Tiuryn and Pawel Urzyczyn},
  title = {The subtyping problem for second-order types is
                 undecidable},
  journal = {Information and Computation},
  volume = {179},
  number = {1},
  year = {2002},
  pages = {1--18},
  url = {http://dx.doi.org/10.1006/inco.2001.2950}
}
@inproceedings{tiuryn-wand-93,
  author = {Jerzy Tiuryn and Mitchell Wand},
  title = {Type Reconstruction with Recursive Types and Atomic
                 Subtyping},
  pages = {686--701},
  year = {1993},
  month = apr,
  booktitle = {Theory and Practice of Software Development
                 ({TAPSOFT})},
  series = {Lecture Notes in Computer Science},
  volume = {668},
  publisher = {Springer},
  url = {ftp://ftp.ccs.neu.edu/pub/people/wand/papers/caap-93.dvi}
}
@phdthesis{tofte-88,
  author = {Mads Tofte},
  title = {Operational Semantics and Polymorphic Type Inference},
  school = {University of Edinburgh},
  year = {1988},
  url = {http://www.itu.dk/people/tofte/publ/phdthesis/thesis-part1and2.ps}
}
@article{tofte-retro-04,
  author = {Mads Tofte and Lars Birkedal and Martin Elsman and
                 Niels Hallenberg},
  title = {A Retrospective on Region-Based Memory Management},
  journal = {Higher-Order and Symbolic Computation},
  year = {2004},
  volume = {17},
  number = {3},
  pages = {245--265},
  month = sep,
  url = {http://www.itu.dk/people/birkedal/papers/regmmp.ps.gz}
}
@inproceedings{tofte-talpin-94,
  author = {Mads Tofte and Jean-Pierre Talpin},
  title = {Implementation of the Typed Call-by-Value
                 $\lambda$-Calculus using a Stack of Regions},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1994},
  pages = {188--201},
  url = {http://www.irisa.fr/prive/talpin/papers/popl94.pdf}
}
@article{tofte-talpin-97,
  author = {Mads Tofte and Jean-Pierre Talpin},
  title = {Region-based memory management},
  journal = {Information and Computation},
  volume = {132},
  number = {2},
  year = {1997},
  pages = {109--176},
  url = {http://www.irisa.fr/prive/talpin/papers/ic97.pdf}
}
@inproceedings{tolmach-97,
  author = {Andrew Tolmach},
  title = {Combining Closure Conversion with Closure Analysis
                 using Algebraic Types},
  booktitle = {Types in Compilation (TIC)},
  year = {1997},
  month = jun,
  url = {http://www.cs.pdx.edu/~apt/tic97.ps}
}
@article{tolmach-oliva-98,
  author = {Andrew Tolmach and Dino P. Oliva},
  title = {From {ML} to {Ada}: Strongly-typed Language
                 Interoperability via Source Translation},
  journal = {Journal of Functional Programming},
  year = {1998},
  volume = {8},
  number = {4},
  pages = {367--412},
  month = jul,
  url = {http://dx.doi.org/10.1017/S0956796898003086}
}
@inproceedings{tov-pucella-10,
  author = {Jesse A. Tov and Riccardo Pucella},
  title = {Stateful Contracts for Affine Types},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {2010},
  pages = {550--569},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6012},
  url = {http://www.eecs.harvard.edu/~tov/pubs/affine-contracts/affinecontracts10-bw.pdf}
}
@inproceedings{tov-pucella-11,
  author = {Jesse A. Tov and Riccardo Pucella},
  title = {Practical Affine Types},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2011},
  month = jan,
  pages = {447--458},
  url = {http://www.eecs.harvard.edu/~tov/pubs/alms/}
}
@inproceedings{trifonov-smith-96,
  author = {Valery Trifonov and Scott Smith},
  title = {Subtyping Constrained Types},
  booktitle = {Static Analysis Symposium (SAS)},
  series = {Lecture Notes in Computer Science},
  volume = {1145},
  pages = {349--365},
  year = {1996},
  month = sep,
  publisher = {Springer},
  url = {http://flint.cs.yale.edu/trifonov/papers/subcon.pdf}
}
@inproceedings{tschantz-ernst-05,
  author = {Matthew S. Tschantz and Michael D. Ernst},
  title = {Javari: adding reference immutability to {Java}},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = oct,
  year = {2005},
  pages = {211--230},
  url = {https://homes.cs.washington.edu/~mernst/pubs/ref-immutability-oopsla2005.pdf}
}
@inproceedings{tse-zdancewic-04,
  author = {Stephen Tse and Steve Zdancewic},
  title = {Run-time Principals in Information-flow Type Systems},
  booktitle = {{IEEE} Symposium on Security and Privacy (S\&P)},
  year = {2004},
  month = may,
  url = {http://www.cis.upenn.edu/~stevez/papers/TZ04a.pdf}
}
@inproceedings{tsuiki-94,
  author = {Hideki Tsuiki},
  title = {On Typed Calculi with a Merge Operator},
  booktitle = {Foundations of Software Technology and Theoretical
                 Computer Science (FSTTCS)},
  pages = {101--112},
  year = {1994},
  volume = {880},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.i.h.kyoto-u.ac.jp/~tsuiki/papers/fsttcs.ps.gz}
}
@unpublished{tuerk-10,
  author = {Thomas Tuerk},
  title = {Local reasoning about while-loops},
  year = {2010},
  month = aug,
  note = {Unpublished},
  url = {http://www.cl.cam.ac.uk/~tt291/talks/vstte10.pdf}
}
@phdthesis{turner-95,
  author = {David N. Turner},
  title = {The Polymorphic Pi-Calculus: Theory and
                 Implementation},
  school = {University of Edinburgh},
  year = {1995},
  url = {http://www.lfcs.inf.ed.ac.uk/reports/96/ECS-LFCS-96-345/}
}
@inproceedings{turner-wadler-mossin-95,
  author = {David N. Turner and Philip Wadler and Christian
                 Mossin},
  year = {1995},
  title = {Once upon a type},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  publisher = {ACM Press},
  pages = {1--11},
  month = jun,
  url = {ftp://ftp.dcs.gla.ac.uk/pub/glasgow-fp/authors/Philip_Wadler/once.dvi}
}
@inproceedings{turon-caresl-13,
  author = {Aaron Turon and Derek Dreyer and Lars Birkedal},
  title = {Unifying refinement and {Hoare}-style reasoning in a
                 logic for higher-order concurrency},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2013},
  pages = {377--390},
  url = {http://www.mpi-sws.org/~turon/caresl/caresl.pdf}
}
@inproceedings{unbound-11,
  author = {Stephanie Weirich and Brent A. Yorgey and Tim Sheard},
  title = {Binders unbound},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {333--345},
  month = sep,
  year = {2011},
  url = {http://www.seas.upenn.edu/~sweirich/papers/icfp11.pdf}
}
@article{urban-04,
  author = {Christian Urban and Andrew Pitts and Murdoch Gabbay},
  title = {Nominal Unification},
  journal = {Theoretical Computer Science},
  year = {2004},
  url = {http://www.cl.cam.ac.uk/~cu200/Unification/nomu-tcs.ps},
  volume = {323},
  pages = {473--497}
}
@article{urban-08,
  author = {Christian Urban},
  title = {Nominal Techniques in {Isabelle/HOL}},
  journal = {Journal of Automated Reasoning},
  volume = {40},
  number = {4},
  year = {2008},
  pages = {327--356},
  url = {http://www4.in.tum.de/~urbanc/Publications/nom-tech.ps}
}
@unpublished{urban-nipkow-08,
  author = {Christian Urban and Tobias Nipkow},
  title = {Nominal Verification of Algorithm {W}},
  year = {2008},
  month = mar,
  note = {Unpublished},
  url = {http://www4.in.tum.de/~urbanc/Publications/w-07.pdf}
}
@inproceedings{urban-tasson-05,
  author = {Christian Urban and Christine Tasson},
  title = {Nominal Techniques in {Isabelle/HOL}},
  booktitle = {International Conference on Automated Deduction
                 (CADE)},
  month = jul,
  year = {2005},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {3632},
  pages = {38--53},
  url = {http://www4.in.tum.de/~urbanc/Publications/nom-cade-05.ps}
}
@article{vafeiadis-11,
  author = {Viktor Vafeiadis},
  title = {Concurrent Separation Logic and Operational
                 Semantics},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {276},
  year = {2011},
  pages = {335--351},
  url = {http://www.mpi-sws.org/~viktor/papers/mfps2011-cslsound.pdf}
}
@inproceedings{vaziri-jackson-03,
  author = {Mandana Vaziri and Daniel Jackson},
  title = {Checking Heap-Manipulating Procedures with a
                 Constraint Solver},
  booktitle = {Tools and Algorithms for Construction and Analysis of
                 Systems (TACAS)},
  month = apr,
  year = {2003},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2619},
  url = {http://sdg.lcs.mit.edu/pubs/2003/checkingHMPs.pdf}
}
@inproceedings{vdw-mckinna-08,
  author = {Eelis {van der Weegen} and James McKinna},
  title = {A Machine-Checked Proof of the Average-Case Complexity
                 of {Quicksort} in {Coq}},
  booktitle = {Types for Proofs and Programs},
  month = mar,
  year = {2008},
  pages = {256--271},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5497},
  url = {http://www.xs4all.nl/~weegen/eelis/research/quicksort/}
}
@inproceedings{vergauwen-lewi-94,
  author = {Bart Vergauwen and Johan Lewi},
  title = {Efficient Local Correctness Checking for Single and
                 Alternating {Boolean} Equation Systems},
  booktitle = {International Colloquium on Automata, Languages and
                 Programming},
  year = {1994},
  pages = {304--315},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {820},
  url = {http://dx.doi.org/10.1007/3-540-58201-0_77}
}
@inproceedings{vergauwen-nested-94,
  author = {Bart Vergauwen and Johan Lewi and I. Avau and A.
                 Poté},
  title = {Efficient computation of nested fix-points, with
                 applications to model checking},
  booktitle = {International Conference on Temporal Logic (ICTL)},
  pages = {165--179},
  year = {1994},
  volume = {827},
  series = {Lecture Notes in Computer Science},
  month = jul,
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/BFb0013987}
}
@inproceedings{vergauwen-wauman-lewi-94,
  author = {Bart Vergauwen and J. Wauman and Johan Lewi},
  title = {Efficient fixpoint computation},
  booktitle = {Static Analysis Symposium (SAS)},
  pages = {314--328},
  year = {1994},
  volume = {864},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/3-540-58485-4_49}
}
@techreport{verifast,
  author = {Bart Jacobs and Frank Piessens},
  title = {The {VeriFast} Program Verifier},
  institution = {Department of Computer Science, Katholieke
                 Universiteit Leuven},
  year = {2008},
  number = {CW-520},
  month = aug,
  url = {http://people.cs.kuleuven.be/~bart.jacobs/verifast/verifast.pdf}
}
@inproceedings{villard-lozes-calcagno-09,
  author = {Jules Villard and Étienne Lozes and Cristiano
                 Calcagno},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  month = dec,
  pages = {194--209},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  title = {Proving Copyless Message Passing},
  url = {http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/VLC-aplas09.pdf},
  volume = {5904},
  year = {2009}
}
@inproceedings{villard-lozes-calcagno-10,
  author = {Jules Villard and Étienne Lozes and Cristiano
                 Calcagno},
  booktitle = {Tools and Algorithms for Construction and Analysis of
                 Systems (TACAS)},
  month = mar,
  pages = {275--279},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  title = {Tracking Heaps that Hop with {Heap-Hop}},
  url = {http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/VLC-tacas10.pdf},
  volume = {6015},
  year = {2010}
}
@article{volpano-97,
  author = {Dennis Volpano},
  title = {Provably-Secure Programming Languages for Remote
                 Evaluation},
  journal = {{ACM} {SIGPLAN} Notices},
  volume = {32},
  number = {1},
  pages = {117--119},
  month = jan,
  year = {1997}
}
@article{volpano-smith-97,
  author = {Dennis Volpano and Geoffrey Smith},
  title = {A Type-Based Approach to Program Security},
  journal = {Lecture Notes in Computer Science},
  volume = {1214},
  pages = {607--621},
  month = apr,
  year = {1997},
  url = {http://www.cs.nps.navy.mil/people/faculty/volpano/papers/tapsoft97.ps.Z}
}
@inproceedings{volpano-smith-csfw-97,
  author = {Dennis Volpano and Geoffrey Smith},
  year = {1997},
  title = {Eliminating Covert Flows with Minimum Typings},
  booktitle = {{IEEE} Computer Security Foundations Workshop},
  pages = {156--168},
  month = jun,
  url = {http://www.cs.nps.navy.mil/people/faculty/volpano/papers/csfw97.ps.Z}
}
@article{volpano-smith-irvine-96,
  author = {Dennis Volpano and Geoffrey Smith and Cynthia Irvine},
  title = {A Sound Type System for Secure Flow Analysis},
  journal = {Journal of Computer Security},
  volume = {4},
  number = {3},
  pages = {167--187},
  year = {1996},
  url = {http://www.cs.nps.navy.mil/people/faculty/volpano/papers/jcs96.ps.Z}
}
@inproceedings{vorobyov-96,
  author = {Sergei G. Vorobyov},
  title = {An Improved Lower Bound for the Elementary Theories of
                 Trees},
  booktitle = {International Conference on Automated Deduction
                 (CADE)},
  pages = {275--287},
  year = {1996},
  volume = {1104},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.mpi-sb.mpg.de/~sv/publications/complexity/2ILB.ps.Z}
}
@inproceedings{vouillon-mellies-04,
  author = {Jérôme Vouillon and Paul-André Melliès},
  title = {Semantic types: a fresh look at the ideal model for
                 types},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2004},
  pages = {52--63},
  url = {http://www.pps.jussieu.fr/~vouillon/publi/cbv.ps.gz}
}
@inproceedings{vries-06,
  author = {Edsko de Vries and Rinus Plasmeijer and David
                 Abrahamson},
  title = {Uniqueness Typing Redefined},
  booktitle = {Implementation of Functional Languages (IFL)},
  pages = {181--198},
  year = {2006},
  volume = {4449},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {https://www.cs.tcd.ie/~devriese/pub/ifl06-paper.pdf}
}
@inproceedings{vries-07,
  author = {Edsko de Vries and Rinus Plasmeijer and David
                 Abrahamson},
  title = {Equality Based Uniqueness Typing},
  booktitle = {Trends in Functional Programming (TFP)},
  year = {2007},
  url = {https://www.cs.tcd.ie/~devriese/pub/tfp07-paper.pdf}
}
@unpublished{vytiniotis-boxy-05,
  author = {Dimitrios Vytiniotis and Stephanie Weirich and Simon
                 {Peyton Jones}},
  title = {Boxy types: type inference for higher-rank types and
                 impredicativity},
  note = {Manuscript},
  month = apr,
  year = {2005},
  url = {http://research.microsoft.com/Users/simonpj/papers/boxy/}
}
@article{vytiniotis-outsidein-11,
  author = {Dimitrios Vytiniotis and Simon L. {Peyton Jones} and
                 Tom Schrijvers and Martin Sulzmann},
  title = {{OutsideIn(X)}: Modular type inference with local
                 assumptions},
  journal = {Journal of Functional Programming},
  volume = {21},
  number = {4--5},
  year = {2011},
  pages = {333--412},
  url = {http://research.microsoft.com/en-us/um/people/simonpj/papers/constraints/jfp-outsidein.pdf}
}
@inproceedings{vytiniotis-pie-07,
  author = {Dimitrios Vytiniotis and Stephanie Weirich},
  title = {Dependent Types: Easy as {PIE}},
  booktitle = {Trends in Functional Programming (TFP)},
  year = {2007},
  month = apr,
  url = {http://www.seas.upenn.edu/~sweirich/papers/tfp07.pdf}
}
@inproceedings{wadler-85,
  author = {Philip L. Wadler},
  title = {How to replace failure by a list of successes},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {201},
  month = sep,
  year = {1985},
  pages = {113--128},
  url = {http://dx.doi.org/10.1007/3-540-15975-4_33}
}
@inproceedings{wadler-blott-89,
  author = {Philip Wadler and Stephen Blott},
  title = {How to make ad-hoc polymorphism less ad-hoc},
  pages = {60--76},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1989},
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/class/class.ps.gz}
}
@article{wadler-comprehending-92,
  author = {Philip Wadler},
  title = {Comprehending monads},
  journal = {Mathematical Structures in Computer Science},
  year = {1992},
  volume = {2},
  pages = {461--493},
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/monads/monads.ps.gz}
}
@inproceedings{wadler-essence-92,
  author = {Philip Wadler},
  title = {The essence of functional programming},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1992},
  pages = {1--14},
  note = {Invited talk},
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/essence/essence.ps}
}
@inproceedings{wadler-free-89,
  author = {Philip Wadler},
  title = {Theorems for free!},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  month = sep,
  year = {1989},
  pages = {347--359},
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/free/free.ps.gz}
}
@article{wadler-isomorphism-07,
  author = {Philip Wadler},
  title = {The {Girard}-{Reynolds} isomorphism (second edition)},
  journal = {Theoretical Computer Science},
  year = {2007},
  volume = {375},
  number = {1--3},
  pages = {201--226},
  month = may,
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/gr2/gr2.pdf}
}
@incollection{wadler-linear-90,
  author = {Philip Wadler},
  title = {Linear types can change the world!},
  booktitle = {Programming Concepts and Methods},
  publisher = {North Holland},
  year = {1990},
  editor = {M. Broy and C. Jones},
  month = apr,
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/linear/linear.ps}
}
@article{wadler-thiemann-03,
  author = {Philip Wadler and Peter Thiemann},
  title = {The marriage of effects and monads},
  journal = {ACM Transactions on Computational Logic},
  volume = {4},
  number = {1},
  pages = {1--32},
  month = jan,
  year = {2003},
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/effectstocl/effectstocl.ps.gz}
}
@inproceedings{walker-00,
  author = {David Walker},
  title = {A Type System for Expressive Security Policies},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2000},
  pages = {254--267},
  url = {http://www.cs.cornell.edu/home/walker/papers/sa-popl00_ps.gz}
}
@incollection{walker-attapl-05,
  author = {David Walker},
  title = {Substructural Type Systems},
  booktitle = {Advanced Topics in Types and Programming Languages},
  pages = {3--43},
  publisher = {MIT Press},
  year = {2005},
  editor = {Benjamin C. Pierce},
  chapter = {1}
}
@article{walker-capabilities-00,
  author = {David Walker and Karl Crary and Greg Morrisett},
  title = {Typed memory management via static capabilities},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {22},
  number = {4},
  year = {2000},
  pages = {701--771},
  url = {http://www.cs.princeton.edu/~dpw/papers/capabilities-toplas.pdf}
}
@phdthesis{wallach-99,
  author = {Dan S. Wallach},
  title = {A New Approach to Mobile Code Security},
  school = {Princeton University},
  month = jan,
  year = {1999},
  url = {http://www.cs.princeton.edu/sip/pub/dwallach-dissertation.html}
}
@article{wallach-appel-felten-00,
  author = {Dan S. Wallach and Andrew W. Appel and Edward W.
                 Felten},
  title = {Safkasi: {A} Security Mechanism for Language-based
                 Systems},
  journal = {ACM Transactions on Software Engineering and
                 Methodology},
  month = oct,
  year = {2000},
  volume = {9},
  number = {4},
  pages = {341--378},
  url = {http://www.cs.rice.edu/~dwallach/pub/tosem2000.ps}
}
@inproceedings{wallach-felten-stack-98,
  author = {Dan S. Wallach and Edward Felten},
  title = {Understanding {Java} Stack Inspection},
  booktitle = {{IEEE} Symposium on Security and Privacy (S\&P)},
  month = may,
  year = {1998},
  url = {http://www.cs.princeton.edu/sip/pub/oakland98.php3}
}
@article{wand-80,
  author = {Mitchell Wand},
  title = {Continuation-Based Program Transformation Strategies},
  journal = {Journal of the {ACM}},
  volume = {27},
  number = {1},
  year = {1980},
  pages = {164--180},
  url = {http://dx.doi.org/10.1145/322169.322183}
}
@inproceedings{wand-85,
  author = {Mitchell Wand},
  title = {Embedding type structure in semantics},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1985},
  pages = {1--6},
  url = {http://doi.acm.org/10.1145/318593.318602}
}
@inproceedings{wand-86,
  author = {Mitchell Wand},
  title = {Finding the Source of Type Errors},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {38--43},
  year = {1986},
  month = jan,
  url = {http://doi.acm.org/10.1145/512644.512648}
}
@article{wand-87,
  author = {Mitchell Wand},
  title = {A Simple Algorithm and Proof for Type Inference},
  journal = {Fundamenta Informaticæ},
  volume = {10},
  pages = {115--122},
  year = {1987},
  url = {http://www.cs.ucla.edu/~palsberg/course/cs239/reading/wand87.pdf}
}
@article{wand-concat,
  author = {Mitchell Wand},
  title = {Type Inference for Record Concatenation and Multiple
                 Inheritance},
  month = jul,
  year = {1991},
  volume = {93},
  number = {1},
  pages = {1--15},
  journal = {Information and Computation},
  url = {ftp://ftp.ccs.neu.edu/pub/people/wand/papers/ic-91.dvi}
}
@incollection{wand-objects,
  author = {Mitchell Wand},
  title = {Type Inference for Objects with Instance Variables and
                 Inheritance},
  booktitle = {Theoretical Aspects Of Object-Oriented Programming:
                 Types, Semantics and Language Design},
  editor = {Carl A. Gunter and John C. Mitchell},
  publisher = {MIT Press},
  pages = {97--120},
  year = {1994},
  url = {ftp://ftp.ccs.neu.edu/pub/people/wand/papers/gunter-mitchell-94.dvi}
}
@inproceedings{wand-steckler-94,
  author = {Mitchell Wand and Paul A. Steckler},
  title = {Selective and lightweight closure conversion},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1994},
  pages = {435--445},
  url = {http://doi.acm.org/10.1145/174675.178044}
}
@article{ward-96,
  author = {Martin Ward},
  title = {Derivation of Data Intensive Algorithms by Formal
                 Transformation -- The {Schorr-Waite} Graph Marking
                 Algorithm},
  journal = {IEEE Transactions on Software Engineering},
  year = {1996},
  volume = {22},
  number = {9},
  pages = {665--686},
  month = sep,
  url = {http://www.cse.dmu.ac.uk/~mward/martin/papers/sw-alg-t.pdf}
}
@incollection{warren-82,
  author = {D. H. D. Warren},
  title = {Higher-order extensions to {PROLOG}: are they
                 needed?},
  booktitle = {Machine Intelligence 10},
  pages = {441--454},
  publisher = {Ellis Horwood},
  year = {1982},
  editor = {J. E. Hayes and D. Michie and Y-H. Pao}
}
@inproceedings{warth-douglass-millstein-08,
  author = {Alessandro Warth and James R. Douglass and Todd D.
                 Millstein},
  title = {Packrat parsers can support left recursion},
  booktitle = {{ACM} Workshop on Evaluation and Semantics-Based
                 Program Manipulation ({PEPM})},
  month = jan,
  year = {2008},
  pages = {103--110},
  url = {http://www.cs.ucla.edu/~todd/research/pepm08.pdf}
}
@article{wegener-02,
  author = {Ingo Wegener},
  title = {A simplified correctness proof for a well-known
                 algorithm computing strongly connected components},
  journal = {Information Processing Letters},
  year = {2002},
  volume = {83},
  number = {1},
  pages = {17--19},
  url = {http://ls2-www.cs.uni-dortmund.de/~wegener/papers/connected.pdf}
}
@inproceedings{weirich-00,
  author = {Stephanie Weirich},
  title = {Type-Safe Cast: Functional Pearl},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2000},
  month = sep,
  pages = {58--67},
  url = {http://www.cis.upenn.edu/~sweirich/papers/cast/cast.pdf}
}
@article{weirich-polytypic-06,
  author = {Stephanie Weirich},
  title = {Type-Safe Run-time Polytypic Programming},
  journal = {Journal of Functional Programming},
  year = {2006},
  volume = {16},
  number = {10},
  pages = {681--710},
  month = nov,
  url = {http://www.seas.upenn.edu/~sweirich/papers/erasure/erasure-jfp.pdf}
}
@misc{weirich-tc-04,
  author = {Stephanie Weirich},
  title = {A typechecker that produces a typed term from an
                 untyped source},
  howpublished = {Part of the Glasgow Haskell compiler's test suite},
  month = sep,
  year = {2004},
  url = {http://cvs.haskell.org/cgi-bin/cvsweb.cgi/fptools/testsuite/tests/ghc-regress/gadt/tc.hs?rev=1.1}
}
@inproceedings{wells-02,
  author = {J. B. Wells},
  title = {The Essence of Principal Typings},
  booktitle = {International Colloquium on Automata, Languages and
                 Programming},
  pages = {913--925},
  publisher = {Springer},
  volume = {2380},
  series = {Lecture Notes in Computer Science},
  year = {2002},
  url = {http://www.macs.hw.ac.uk/~jbw/papers/Wells:The-Essence-of-Principal-Typings:ICALP-2002.pdf}
}
@techreport{wells-95,
  author = {J. B. Wells},
  title = {The Undecidability of {Mitchell's} Subtyping
                 Relation},
  institution = {Computer Science Department, Boston University},
  year = {1995},
  month = dec,
  url = {http://www.cs.bu.edu/ftp/pub/jbw/types/subtyping-undecidable.ps.gz},
  type = {Technical Report},
  number = {95-019}
}
@article{wells-99,
  author = {J. B. Wells},
  title = {Typability and type checking in System {F} are
                 equivalent and undecidable},
  journal = {Annals of Pure and Applied Logic},
  year = {1999},
  volume = {98},
  number = {1--3},
  pages = {111--156},
  url = {http://www.macs.hw.ac.uk/~jbw/papers/f-undecidable-APAL.ps.gz}
}
@phdthesis{werner-94,
  author = {Benjamin Werner},
  title = {Une Théorie des Constructions Inductives},
  school = {Université Paris 7},
  year = {1994}
}
@inproceedings{westbrook-05,
  author = {Edwin Westbrook and Aaron Stump and Ian Wehrman},
  title = {A language-based approach to functionally correct
                 imperative programming},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2005},
  pages = {268--279},
  url = {http://cl.cse.wustl.edu/papers/rsp1-icfp05.pdf}
}
@phdthesis{westbrook-08,
  author = {Edwin M. Westbrook},
  title = {Higher-Order Encodings with Constructors},
  school = {Washington University},
  year = {2008},
  month = dec,
  url = {http://www.cs.rice.edu/~emw4/thesis-westbrook.pdf}
}
@techreport{why,
  author = {Jean-Christophe Filliâtre},
  title = {{Why}: a multi-language multi-prover verification
                 tool},
  institution = {LRI, Université Paris Sud},
  type = {Research Report},
  number = {1366},
  month = mar,
  year = {2003},
  url = {http://www.lri.fr/~filliatr/ftp/publis/why-tool.ps.gz}
}
@inproceedings{why-07,
  author = {Jean-Christophe Filliâtre and Claude Marché},
  title = {The {Why}/{Kra\-ka\-toa}/{Ca\-du\-ceus} Platform for
                 Deductive Program Verification},
  booktitle = {Computer Aided Verification},
  month = jul,
  year = {2007},
  pages = {173--177},
  volume = {4590},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.lri.fr/~filliatr/ftp/publis/cav07.pdf}
}
@article{williams-64,
  author = {J. W. J. Williams},
  title = {Algorithm 232: Heapsort},
  journal = {Communications of the {ACM}},
  year = {1964},
  volume = {7},
  number = {6},
  pages = {347--348},
  month = jun,
  url = {http://doi.acm.org/10.1145/512274.512284}
}
@inproceedings{wing-rollins-zaremsky-92,
  author = {Jeannette M. Wing and Eugene Rollins and Amy Moormann
                 Zaremski},
  title = {Thoughts on a {Larch/ML} and a New Application for
                 {LP}},
  booktitle = {First International Workshop on Larch},
  year = {1992},
  month = jul,
  url = {http://reports-archive.adm.cs.cmu.edu/anon/usr0/ftp/home/ftp/1992/CMU-CS-92-135.ps},
  pages = {297--312}
}
@inproceedings{wisnesky-malecha-morrisett-09,
  author = {Ryan Wisnesky and Gregory Malecha and Greg Morrisett},
  title = {Certified Web Services in {Ynot}},
  booktitle = {Workshop on Automated Specification and Verification
                 of Web Systems},
  month = jul,
  year = {2009},
  url = {http://wisnesky.net/wwv09.pdf}
}
@inproceedings{wolff-11,
  author = {Roger Wolff and Ronald Garcia and \'{E}ric Tanter and
                 Jonathan Aldrich},
  title = {Gradual typestate},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  month = jul,
  year = {2011},
  pages = {459--483},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6813},
  url = {http://www.cs.cmu.edu/~aldrich/papers/aldrich-gradual-ecoop11.pdf}
}
@inproceedings{woodward-79,
  author = {J. P. L. Woodward},
  title = {Applications for Multilevel Secure Operating Systems},
  booktitle = {Proceedings NCC},
  year = {1979},
  pages = {319--328},
  volume = {48},
  publisher = {{AFIPS} Press},
  month = jun
}
@article{wright-cartwright-97,
  author = {Andrew K. Wright and Robert Cartwright},
  title = {A Practical Soft Type System for {Scheme}},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {19},
  number = {1},
  pages = {87--152},
  month = jan,
  year = {1997},
  url = {http://doi.acm.org/10.1145/239912.239917}
}
@article{wright-felleisen-94,
  title = {A Syntactic Approach to Type Soundness},
  author = {Andrew K. Wright and Matthias Felleisen},
  pages = {38--94},
  journal = {Information and Computation},
  month = nov,
  year = {1994},
  volume = {115},
  number = {1},
  url = {http://www.cs.rice.edu/CS/PLT/Publications/Scheme/ic94-wf.ps.gz}
}
@techreport{wright-restriction-93,
  author = {Andrew K. Wright},
  institution = {Rice University},
  title = {Polymorphism for Imperative Languages without
                 Imperative Types},
  year = {1993},
  month = feb,
  number = {93-200}
}
@article{wright-restriction-95,
  author = {Andrew K. Wright},
  title = {Simple Imperative Polymorphism},
  journal = {Lisp and Symbolic Computation},
  volume = {8},
  number = {4},
  year = {1995},
  month = dec,
  pages = {343--356},
  url = {http://www.cs.rice.edu/CS/PLT/Publications/Scheme/lasc95-w.ps.gz}
}
@inproceedings{wyk-99,
  author = {Eric van Wyk and Oege de Moor and Simon {Peyton
                 Jones}},
  title = {Aspect-oriented compilers},
  booktitle = {Generative and Component-Based Software Engineering},
  pages = {121--133},
  year = {1999},
  volume = {1799},
  series = {Lecture Notes in Computer Science},
  month = sep,
  publisher = {Springer},
  url = {http://www.research.microsoft.com/~simonpj/Papers/aspects.ps.gz}
}
@phdthesis{xi-98,
  author = {Hongwei Xi},
  title = {Dependent Types in Practical Programming},
  school = {Carnegie Mellon University},
  year = {1998},
  month = dec,
  url = {http://www.cs.bu.edu/~hwxi/academic/papers/thesis.ps}
}
@inproceedings{xi-ats,
  author = {Hongwei Xi},
  title = {Applied Type System},
  month = feb,
  year = {2004},
  booktitle = {{TYPES} 2003},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3085},
  pages = {394--408},
  url = {http://www.cs.bu.edu/~hwxi/academic/papers/types03.pdf}
}
@inproceedings{xi-chen-chen-03,
  author = {Hongwei Xi and Chiyan Chen and Gang Chen},
  title = {Guarded Recursive Datatype Constructors},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2003},
  month = jan,
  pages = {224--235},
  url = {http://www.cs.bu.edu/fac/hwxi/academic/papers/popl03.ps}
}
@inproceedings{xi-cps-01,
  author = {Hongwei Xi and Carsten Schürmann},
  title = {{CPS} Transform for {Dependent ML}},
  booktitle = {Workshop on Logic, Language, Information and
                 Computation (WoLLIC)},
  year = {2001},
  month = aug,
  url = {http://www.cs.bu.edu/~hwxi/academic/papers/DMLcps.pdf}
}
@inproceedings{xi-dead-99,
  author = {Hongwei Xi},
  title = {Dead Code Elimination through Dependent Types},
  booktitle = {Practical Aspects of Declarative Languages (PADL)},
  pages = {228--242},
  year = {1999},
  volume = {1551},
  series = {Lecture Notes in Computer Science},
  month = jan,
  publisher = {Springer},
  url = {http://www.cs.bu.edu/~hwxi/academic/papers/padl99.ps}
}
@misc{xi-dml,
  author = {Hongwei Xi},
  title = {Dependent {ML}},
  year = {2001},
  url = {http://www.cs.bu.edu/~hwxi/DML/DML.html}
}
@article{xi-dml-07,
  author = {Hongwei Xi},
  title = {Dependent {ML}: an approach to practical programming
                 with dependent types},
  journal = {Journal of Functional Programming},
  year = {2007},
  volume = {17},
  number = {2},
  pages = {215--286},
  url = {http://www.cs.bu.edu/~hwxi/academic/papers/JFPdml.pdf}
}
@article{xi-patterns-03,
  author = {Hongwei Xi},
  title = {{Dependently Typed Pattern Matching}},
  journal = {Journal of Universal Computer Science},
  volume = {9},
  number = {8},
  year = {2003},
  pages = {851--872},
  url = {http://www.cs.bu.edu/~hwxi/academic/papers/jucs03.pdf}
}
@inproceedings{xi-pfenning-99,
  author = {Hongwei Xi and Frank Pfenning},
  title = {Dependent Types in Practical Programming},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1999},
  month = jan,
  pages = {214--227},
  url = {http://www.ececs.uc.edu/~hwxi/academic/papers/popl99.ps}
}
@inproceedings{xi-views-05,
  author = {Dengping Zhu and Hongwei Xi},
  title = {Safe Programming with Pointers through Stateful
                 Views},
  booktitle = {Practical Aspects of Declarative Languages (PADL)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3350},
  year = {2005},
  month = jan,
  pages = {83--97},
  url = {http://www.cs.bu.edu/~hwxi/academic/papers/padl05.pdf}
}
@inproceedings{xie-aiken-05,
  author = {Yichen Xie and Alex Aiken},
  title = {Scalable error detection using {Boolean}
                 satisfiability},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2005},
  pages = {351--363},
  url = {http://glide.stanford.edu/saturn/papers/popl05.pdf}
}
@inproceedings{xu-06,
  author = {Dana N. Xu},
  title = {Extended static checking for {Haskell}},
  booktitle = {Haskell workshop},
  year = {2006},
  pages = {48--59},
  publisher = {ACM Press},
  url = {http://www.cl.cam.ac.uk/~nx200/research/escH-hw.ps}
}
@inproceedings{xu-09,
  author = {Dana N. Xu and Simon {Peyton Jones} and Koen
                 Claessen},
  title = {Static contract checking for {Haskell}},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2009},
  pages = {41--52},
  url = {http://research.microsoft.com/en-us/um/people/simonpj/papers/verify/HaskellContract.ps}
}
@inproceedings{yang-join-08,
  author = {Hongseok Yang and Oukseh Lee and Josh Berdine and
                 Cristiano Calcagno and Byron Cook and Dino Distefano
                 and Peter W. O'Hearn},
  title = {Scalable Shape Analysis for Systems Code},
  month = jul,
  year = {2008},
  pages = {385--398},
  booktitle = {Computer Aided Verification},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5123},
  url = {http://research.microsoft.com/en-us/um/cambridge/projects/terminator/cav08b.pdf}
}
@article{yi-06,
  author = {Kwangkeun Yi},
  title = {Educational Pearl: 'Proof-directed debugging'
                 revisited for a first-order version},
  journal = {Journal of Functional Programming},
  volume = {16},
  number = {6},
  year = {2006},
  pages = {663--670},
  url = {http://ropas.snu.ac.kr/~kwang/paper/06-jfp-yi.pdf}
}
@inproceedings{yoshida-96,
  author = {Nobuko Yoshida},
  title = {Graph Types for Monadic Mobile Processes},
  booktitle = {Foundations of Software Technology and Theoretical
                 Computer Science (FSTTCS)},
  mon = dec,
  year = {1996},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1180},
  pages = {371--386},
  url = {http://www.mcs.le.ac.uk/~nyoshida/paper/graph1_short.ps.gz}
}
@techreport{yoshida-96-full,
  author = {Nobuko Yoshida},
  title = {Graph Types for Monadic Mobile Processes},
  number = {ECS-LFCS-96-350},
  institution = {University of Edinburgh},
  year = {1996},
  url = {http://www.lfcs.inf.ed.ac.uk/reports/96/ECS-LFCS-96-350/}
}
@inproceedings{yoshida-al-02,
  author = {Nobuko Yoshida and Kohei Honda and Martin Berger},
  title = {Linearity and Bisimulation},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  month = apr,
  year = {2002},
  url = {http://www.mcs.le.ac.uk/~nyoshida/paper/fossacs_ca_final.ps.gz}
}
@techreport{yoshida-al-02-long,
  author = {Nobuko Yoshida and Kohei Honda and Martin Berger},
  title = {Linearity and Bisimulation},
  institution = {University of Leicester},
  month = dec,
  year = {2001},
  number = {MSC-2001/48},
  url = {http://www.mcs.le.ac.uk/~nyoshida/paper/lb.ps.gz}
}
@inproceedings{yoshida-honda-berger-07,
  author = {Nobuko Yoshida and Kohei Honda and Martin Berger},
  title = {Logical Reasoning for Higher-Order Functions with
                 Local State},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  pages = {361--377},
  month = apr,
  year = {2007},
  volume = {4423},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.doc.ic.ac.uk/~mberger/publications/fossacs07/fossacs07.pdf}
}
@inproceedings{zdancewic-myers-01,
  author = {Steve Zdancewic and Andrew C. Myers},
  title = {Secure Information Flow and {CPS}},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  month = apr,
  year = {2001},
  url = {http://www.cs.cornell.edu/zdance/lincont.ps}
}
@article{zdancewic-myers-02,
  author = {Steve Zdancewic and Andrew C. Myers},
  title = {Secure Information Flow via Linear Continuations},
  journal = {Higher Order and Symbolic Computation},
  month = sep,
  year = {2002},
  volume = {15},
  number = {2--3},
  pages = {209--234},
  url = {http://www.cis.upenn.edu/~stevez/papers/ZM02.pdf}
}
@inproceedings{zendra-97,
  author = {Olivier Zendra and Dominique Colnet and Suzanne
                 Collin},
  title = {Efficient Dynamic Dispatch without Virtual Function
                 Tables. The {SmallEiffel} Compiler},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {125--141},
  year = {1997},
  month = oct,
  url = {http://www.loria.fr/~colnet/publis/oopsla97.ps.gz}
}
@article{zenger-97,
  author = {Christoph Zenger},
  title = {Indexed Types},
  journal = {Theoretical Computer Science},
  year = {1997},
  volume = {187},
  number = {1--2},
  pages = {147--165},
  url = {http://dx.doi.org/10.1016/S0304-3975(97)00062-5}
}
@phdthesis{zenger-98,
  author = {Christoph Zenger},
  title = {Indizierte Typen},
  school = {Universität Karlsruhe},
  year = {1998},
  month = jul,
  url = {http://www.christoph-zenger.de/papers/thesis.ps.gz}
}
@techreport{zheng-myers-04,
  author = {Lantian Zheng and Andrew C. Myers},
  title = {Dynamic Security Labels and Noninterference},
  institution = {Cornell University},
  year = {2004},
  number = {2004-1924},
  month = jan,
  url = {http://www.cs.cornell.edu/andru/papers/dynl-tr.pdf}
}
@inproceedings{zhu-xi-03,
  author = {Dengping Zhu and Hongwei Xi},
  title = {A Typeful and Tagless Representation for {XML}
                 Documents},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2895},
  year = {2003},
  month = nov,
  pages = {89--104},
  url = {http://www.cs.bu.edu/~hwxi/academic/papers/aplas03.pdf}
}
@misc{zibin-gil-01,
  author = {Yoav Zibin and Yossi Gil},
  title = {Theory and Practice of Incremental Subtyping Tests and
                 Message Dispatching},
  month = dec,
  year = {2001},
  url = {http://www.cs.technion.ac.il/~yogi/incremental-dispatching.ps.gz}
}
@inproceedings{zibin-gil-02,
  author = {Yoav Zibin and Yossi Gil},
  title = {Fast Algorithm for Creating Space Efficient
                 Dispatching Tables with Application to
                 Multi-Dispatching},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {142--160},
  year = {2002},
  month = nov,
  url = {http://www.cs.technion.ac.il/~zyoav/publications/OOPSLA02-dispatching-TS.pdf}
}
@inproceedings{zibin-gil-03,
  author = {Yoav Zibin and Yossi Gil},
  title = {Incremental Algorithms for Dispatching in Dynamically
                 Typed Languages},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2003},
  month = jan,
  url = {http://www.cs.technion.ac.il/~zyoav/publications/POPL03-dispatching-CT.pdf}
}
@techreport{zwanenburg-97,
  author = {Jan Zwanenburg},
  title = {A Type System for Record Concatenation and Subtyping},
  month = jul,
  year = {1997},
  institution = {Eindhoven University of Technology},
  url = {http://www.cs.ru.nl/~janz/publications/type_check.ps}
}

This file was generated by bibtex2html 1.96.