Skip to main content Accessibility help
×
Hostname: page-component-76fb5796d-vfjqv Total loading time: 0 Render date: 2024-04-30T06:47:34.224Z Has data issue: false hasContentIssue false

References

Published online by Cambridge University Press:  05 March 2016

Robert Harper
Affiliation:
Carnegie Mellon University, Pennsylvania
Get access

Summary

Image of the first page of this content. For PDF version, please use the ‘Save PDF’ preceeding this image.'
Type
Chapter
Information
Publisher: Cambridge University Press
Print publication year: 2016

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Martín, Abadi and Luca, Cardelli. A Theory of Objects. Springer-Verlag, 1996.
Peter, Aczel. An introduction to inductive definitions. In Jon Barwise, editor, Handbook of Mathematical Logic, chapter C.7, pages 783–818. North-Holland, 1977.
John, Allen. Anatomy of LISP. Computer Science Series. McGraw-Hill, 1978.
S. F., Allen, M., Bickford, R. L., Constable, R., Eaton, C., Kreitz, L., Lorigo, and E., Moran. Innovations in computational type theory using Nuprl. Journal of Applied Logic, 4(4):428–469, 2006. ISSN 1570-8683. doi: 10.1016/j.jal.2005.10.005.Google Scholar
Stuart, Allen. A non-type-theoretic definition of Martin-Löf's types. In LICS, pages 215– 221, 1987.
Zena M., Ariola and Matthias, Felleisen. The call-by-need lambda calculus. J. Funct. Program., 7(3):265–301, 1997.Google Scholar
Arvind, RishiyurS., Nikhil, and Keshav, Pingali. I-structures: Data structures for parallel computing. In Joseph H., Fasel and Robert M., Keller, editors, Graph Reduction, volume 279 of Lecture Notes in Computer Science, pages 336–369. Springer, 1986. ISBN 3-540-18420-1.
Arnon, Avron. Simple consequence relations. Information and Computation, 92:105–139, 1991.Google Scholar
Henk, Barendregt. The Lambda Calculus, Its Syntax and Semantics, volume 103 of Studies in Logic and the Foundations of Mathematics. North-Holland, 1984.
Henk, Barendregt. Lambda calculi with types. In S., Abramsky, D. M., Gabbay, and T. S. E., Maibaum, editors, Handbook of Logic in Computer Science, volume 2, Computational Structures. Oxford University Press, 1992.
Yves, Bertot, Gérard, Huet, Jean-Jacques, Lévy, and Gordon, Plotkin, editors. From Semantics to Computer Science: Essays in Honor of Gilles Kahn. Cambridge University Press, 2009.
Guy E., Blelloch. Vector Models for Data-Parallel Computing. MIT Press, 1990. ISBN 0-262-02313-X.
Guy E., Blelloch and John, Greiner. Parallelism in sequential functional languages. In FPCA, pages 226–237, 1995.
Guy E., Blelloch and John, Greiner. A provable time and space efficient implementation of NESL. In ICFP, pages 213–225, 1996.
Manuel, Blum. On the size of machines. Information and Control, 11(3):257–265, September 1967.Google Scholar
Stephen D., Brookes. The essence of parallel algol. Inf. Comput., 179(1):118–149, 2002.Google Scholar
Samuel R., Buss, editor. Handbook of Proof Theory. Elsevier, 1998.
Luca, Cardelli. Structural subtyping and the notion of power type. In Proc. ACMSymposium on Principles of Programming Languages, pages 70–79, 1988.
Luca, Cardelli. Program fragments, linking, and modularization. In Proc. ACM Symposium on Principles of Programming Languages, pages 266–277, 1997.
Giuseppe, Castagna and Benjamin C., Pierce. Decidable bounded quantification. In Proc. ACM Symposium on Principles of Programming Languages, pages 151–162, 1994.
Alonzo, Church. The Calculi of Lambda-Conversion. Princeton University Press, 1941.
Robert L., Constable. ImplementingMathematicswith theNuprl Proof Development System. Prentice-Hall, 1986.
Robert L., Constable. Types in logic, mathematics, and programming. In Buss (1998), chapter X.
Robert L., Constable and Scott F., Smith. Partial objects in constructive type theory. In LICS, pages 183–193. IEEE Computer Society, 1987.
William R., Cook. On understanding data abstraction, revisited. In OOPSLA, pages 557– 572, 2009.
Rowan, Davies. Practical Refinement-Type Checking. PhD thesis, CarnegieMellon University School of Computer Science, May 2005. Available as Technical Report CMU– CS–05–110.
Rowan, Davies and Frank, Pfenning. Intersection types and computational effects. In Martin Odersky and PhilipWadler, editors, ICFP, pages 198–208. ACM, 2000. ISBN 1-58113-202-6.
Ewen, Denney. Refinement types for specification. In David, Gries and Willem P. de, Roever, editors, PROCOMET, volume 125 of IFIP Conference Proceedings, pages 148–166. Chapman & Hall, 1998. ISBN 0-412-83760-9.
Derek, Dreyer. Understanding and Evolving the ML Module System. PhD thesis, Carnegie Mellon University, Pittsburgh, PA, May 2005.
Joshua, Dunfield and Frank, Pfenning. Type assignment for intersections and unions in callby- value languages. In Andrew D., Gordon, editor, FoSSaCS, volume 2620 of Lecture Notes in Computer Science, pages 250–266. Springer, 2003. ISBN 3-540-00897-7.
Uffe, Engberg and Mogens, Nielsen. A calculus of communicating systems with label passing—ten years after. In Gordon D., Plotkin, Colin, Stirling, and Mads, Tofte, editors, Proof, Language, and Interaction, Essays in Honour of Robin Milner, pages 599–622. The MIT Press, 2000.
Matthias, Felleisen and Robert, Hieb. The revised report on the syntactic theories of sequential control and state. TCS: Theoretical Computer Science, 103, 1992. Tim Freeman and Frank Pfenning. Refinement types for ml. In David S. Wise, editor, PLDI, pages 268–277. ACM, 1991. ISBN 0-89791-428-7.
Daniel, Friedman and David, Wise. The impact of applicative programming on multiprocessing. In International Conference on Parallel Processing, 1976.
David, Gelernter. Generative communication in Linda. ACM Trans. Program. Lang. Syst., 7(1):80–112, 1985.Google Scholar
Gerhard, Gentzen. Investigations into logical deduction. In M. E., Szabo, editor, The Collected Papers of Gerhard Gentzen, pages 68–213. North-Holland, 1969.
J.-Y., Girard. Interpretation fonctionelle et elimination des coupures de l'arithmetique d'ordre superieur. These d'etat, Universite Paris VII, 1972.
Jean-Yves, Girard. Proofs and Types. Cambridge University Press, 1989. Translated by Paul, Taylor and Yves, Lafont.
Kurt, Gödel. On a hitherto unexploited extension of the finitary standpoint. Journal of Philosophical Logic, 9:133–142, 1980. Translated by Wilfrid, Hodges and Bruce, Watson.Google Scholar
Gödel Von, Kurt. Über eine bisher noch nicht benützte erweiterung des finiten standpunktes. dialectica, 12(3-4):280–287, 1958.Google Scholar
Michael J., Gordon, Arthur J., Milner, and Christopher P., Wadsworth. Edinburgh LCF, volume 78 of Lecture Notes in Computer Science. Springer-Verlag, 1979.
John, Greiner and Guy E., Blelloch. A provably time-efficient parallel implementation of full speculation. ACM Trans. Program. Lang. Syst., 21(2):240–285, 1999.Google Scholar
Timothy, Griffin. A formulae-as-types notion of control. In Proc. ACM Symposium on Principles of Programming Languages, pages 47–58, 1990.
Carl, Gunter. Semantics of Programming Languages. Foundations of Computing Series. MIT Press, 1992.
Robert H. Halstead, Jr. Multilisp: A language for concurrent symbolic computation. ACM Trans. Program. Lang. Syst., 7(4):501–538, 1985.Google Scholar
Robert, Harper. Constructing type systems over an operational semantics. J. Symb. Comput., 14(1):71–84, 1992.Google Scholar
Robert, Harper. A simplified account of polymorphic references. Inf. Process. Lett., 51(4): 201–206, 1994.Google Scholar
Robert, Harper, Furio, Honsell, and Gordon, Plotkin. A framework for defining logics. Journal of the Association for Computing Machinery, 40:194–204, 1993.Google Scholar
Robert, Harper and Mark, Lillibridge. A type-theoretic approach to higher-order modules with sharing. In Proc. ACM Symposium on Principles of Programming Languages, pages 123–137, 1994.
Robert, Harper, John C., Mitchell, and Eugenio, Moggi. Higher-order modules and the phase distinction. In Proc. ACM Symposium on Principles of Programming Languages, pages 341–354, 1990.
Ralf, Hinze and Johan, Jeuring. Generic Haskell: Practice and theory. In Roland, Carl Backhouse and Jeremy, Gibbons, editors, Generic Programming, volume 2793 of Lecture Notes in Computer Science, pages 1–56. Springer, 2003. ISBN 3-540-20194- 7.
C. A. R., Hoare. Communicating sequential processes. Commun. ACM, 21(8):666–677, 1978.Google Scholar
Tony, Hoare. Null references: The billion dollarmistake. Presentation atQCon 2009, August 2009.
S. C., Kleene. Introduction to Metamathematics. Van Nostrand, 1952.
Imre, Lakatos. Proofs and Refutations: The Logic of Mathematical Discovery. Cambridge University Press, 1976.
P. J., Landin. A correspondence between Algol 60 and Church's lambda notation. CACM, 8:89–101; 158–165, 1965.Google Scholar
Daniel K., Lee, Karl, Crary, and Robert, Harper. Towards a mechanized metatheory of standard ml. In Proc. ACM Symposium on Principles of Programming Languages, pages 173–184, 2007.
Xavier, Leroy. Manifest types,modules, and separate compilation. In Proc. ACM Symposium on Principles of Programming Languages, pages 109–122, 1994.
Xavier, Leroy. Applicative functors and fully transparent higher-order modules. In Proc. ACM Symposium on Principles of Programming Languages, pages 142–153, 1995.
Mark, Lillibridge. Translucent Sums: A Foundation for Higher-Order Module Systems. PhD thesis, Carnegie Mellon University School of Computer Science, Pittsburgh, PA, May 1997.
Barbara, Liskov and Jeannette M., Wing. A behavioral notion of subtyping. ACM Trans. Program. Lang. Syst., 16(6):1811–1841, 1994.Google Scholar
Saunders, MacLane. Categories for the Working Mathematician. Graduate Texts in Mathematics. Springer-Verlag, second edition, 1998.
David B., MacQueen. Using dependent types to express modular structure. In Proc. ACM Symposium on Principles of Programming Languges, pages 277–286, 1986.
David B., MacQueen. Kahn networks at the dawn of functional programming. In Bertot et al. (2009), chapter 5.
Yitzhak, Mandelbaum, David, Walker, and Robert, Harper. An effective theory of type refinements. In Runciman and Shivers (2003), pages 213–225. ISBN 1-58113-756-7.
Per, Martin-Löf. Constructive mathematics and computer programming. In Logic, Methodology and Philosophy of Science IV, pages 153–175. North-Holland, 1980.
Per, Martin-Löf. On the meanings of the logical constants and the justifications of the logical laws. Unpublished Lecture Notes, 1983.
Per, Martin-Löf. Intuitionistic Type Theory. Studies in Proof Theory. Bibliopolis, Naples, Italy, 1984.
Per, Martin-Löf. Truth of a proposition, evidence of a judgement, validity of a proof. Synthese, 73(3):407–420, 1987.Google Scholar
John, McCarthy. LISP 1.5 Programmer's Manual. MIT Press, 1965.
N. P., Mendler. Recursive types and type constraints in second-order lambda calculus. In LICS, pages 30–36, 1987.
Robin, Milner. A theory of type polymorphism in programming. JCSS, 17:348–375, 1978.Google Scholar
Robin, Milner. Communicating and mobile systems—the Pi-calculus. Cambridge University Press, 1999. ISBN 978-0-521-65869-0.
Robin, Milner, Mads, Tofte, Robert, Harper, and David, MacQueen. The Definition of Standard ML (Revised). MIT Press, 1997.
John C., Mitchell. Coercion and type inference. In Proc. ACM Symposium on Principles of Programming Languages, pages 175–185, 1984.
John C., Mitchell. Representation independence and data abstraction. In Proc. ACM Symposium on Principles of Programming Languages, pages 263–276, 1986.
John C., Mitchell. Foundations for Programming Languages. MIT Press, 1996.
John C., Mitchell and Gordon D., Plotkin. Abstract types have existential type. ACM Trans. Program. Lang. Syst., 10(3):470–502, 1988.Google Scholar
Eugenio, Moggi. Computational lambda-calculus and monads. In LICS, pages 14–23. IEEE Computer Society, 1989. ISBN 0-8186-1954-6.
Tom Murphy, VII, Karl, Crary, Robert, Harper, and Frank, Pfenning. A symmetric modal lambda calculus for distributed computing. In LICS, pages 286–295, 2004.
Chetan R., Murthy. An evaluation semantics for classical proofs. In LICS, pages 96–107. IEEE Computer Society, 1991.
Aleksandar, Nanevski. From dynamic binding to state via modal possibility. In PPDP, pages 207–218. ACM, 2003. ISBN 1-58113-705-2.
R. P., Nederpelt, J. H., Geuvers, and R. C. de, Vrijer, editors. Selected Papers on Automath, volume 133 of Studies in Logic and the Foundations of Mathematics. North-Holland, 1994.
B., Nordstrom, K., Petersson, and J. M., Smith. Programming in Martin-Löf's Type Theory. Oxford University Press, 1990. URL http://www.cs.chalmers.se/Cs/Research/Logic/book.
OCaml. Ocaml, 2012. URL http://caml.inria.fr/ocaml/.
David Michael Ritchie, Park. Concurrency and automata on infinite sequences. In Peter Deussen, editor, Theoretical Computer Science, volume 104 of Lecture Notes in Computer Science, pages 167–183. Springer, 1981. ISBN 3-540-10576-X.
Frank, Pfenning and Rowan, Davies. A judgmental reconstruction of modal logic. Mathematical Structures in Computer Science, 11(4):511–540, 2001.Google Scholar
Benjamin C., Pierce. Types and Programming Languages. MIT Press, 2002.
Benjamin C., Pierce. Advanced Topics in Types and Programming Languages. MIT Press, 2004.
Andrew M., Pitts. Existential types: Logical relations and operational equivalence. In Kim Guldstrand, Larsen, Sven, Skyum, and Glynn, Winskel, editors, ICALP, volume 1443 of Lecture Notes in Computer Science, pages 309–326. Springer, 1998. ISBN 3-540-64781-3.
Andrew M., Pitts. Operational semantics and program equivalence. In Gilles, Barthe, Peter, Dybjer, Luis, Pinto, and João, Saraiva, editors, APPSEM, volume 2395 of Lecture Notes in Computer Science, pages 378–412. Springer, 2000. ISBN 3-540-44044-5.
Andrew M., Pitts and Ian D. B., Stark. Observable properties of higher order functions that dynamically create local names, or what's new? In Andrzej M.|Borzyszkowski and Stefan Sokolowski, editors, MFCS, volume 711 of Lecture Notes in Computer Science, pages 122–141. Springer, 1993. ISBN 3-540-57182-5.
G. D., Plotkin. A structural approach to operational semantics. Technical Report DAIMI FN-19, Aarhus University Computer Science Department, 1981.
Gordon D., Plotkin. LCF considered as a programming language. Theor. Comput. Sci., 5 (3):223–255, 1977.Google Scholar
Gordon D., Plotkin. The origins of structural operational semantics. J. of Logic and Algebraic Programming, 60:3–15, 2004.Google Scholar
John H., Reppy. Concurrent Programming in ML. Cambridge University Press, 1999.
J. C., Reynolds. Types, abstraction, and parametric polymorphism. In Information Processing '83, pages 513–523. North-Holland, 1983.
John C., Reynolds. Towards a theory of type structure. In Bernard|Robinet, editor, Symposium on Programming, volume 19 of Lecture Notes in Computer Science, pages 408–423. Springer, 1974. ISBN 3-540-06859-7.
John C., Reynolds. Using category theory to design implicit conversions and generic operators. In Neil D., Jones, editor, Semantics-Directed Compiler Generation, volume 94 of Lecture Notes in Computer Science, pages 211–258. Springer, 1980. ISBN 3-540- 10250-7.
John C., Reynolds. The essence of Algol. In Proceedings of the 1981 International Symposium on Algorithmic Languages, pages 345–372. North-Holland, 1981.
John C., Reynolds. The discoveries of continuations. Lisp and Symbolic Computation, 6 (3-4):233–248, 1993.Google Scholar
John C., Reynolds. Theories of Programming Languages. Cambridge University Press, 1998.
Andreas, Rossberg, Claudio V., Russo, and Derek, Dreyer. F-ing, modules. In Andrew, Kennedy and Nick, Benton, editors, TLDI, pages 89–102. ACM, 2010. ISBN 978-1- 60558-891-9.
Colin, Runciman and Olin, Shivers, editors. Proceedings of the Eighth ACM SIGPLAN International Conference on Functional Programming, ICFP 2003, Uppsala, Sweden, August 25-29, 2003, 2003. ACM. ISBN 1-58113-756-7.
Dana, Scott. Lambda calculus: Some models, some philosophy. In J., Barwise, H. J., Keisler, and K., Kunen, editors, The Kleene Symposium, pages 223–265. North Holland, 1980a.
Dana S., Scott. Data types as lattices. SIAM J. Comput., 5(3):522–587, 1976.Google Scholar
Dana S., Scott. Relating theories of the lambda calculus. To HB Curry: Essays on combinatory logic, lambda calculus and formalism, pages 403–450, 1980b.Google Scholar
Dana S., Scott. Domains for denotational semantics. In Mogens, Nielsen and Erik, Meineche Schmidt, editors, ICALP, volume 140 of Lecture Notes in Computer Science, pages 577–613. Springer, 1982. ISBN 3-540-11576-5.
Michael B., Smyth and Gordon D., Plotkin. The category-theoretic solution of recursive domain equations. SIAM J. Comput., 11(4):761–783, 1982.Google Scholar
Richard, Statman. Logical relations and the typed lambda-calculus. Information and Control, 65(2/3):85–97, 1985.Google Scholar
Guy L., Steele. Common Lisp: The Language. Digital Press, 2nd edition edition, 1990.
Christopher A., Stone and Robert, Harper. Extensional equivalence and singleton types. ACM Trans. Comput. Log., 7(4):676–722, 2006.Google Scholar
Paul, Taylor. Practical Foundations of Mathematics. Cambridge Studies in Advanced Mathematics. Cambridge University Press, 1999.
P. W., Trinder, K., Hammond, H.-W., Loidl, and S. L. Peyton, Jones. Algorithm + strategy = parallelism. Journal of Functional Programming, 8:23–60, 1998.Google Scholar
Jaap van, Oosten. Realizability: A historical essay. Mathematical Structures in Computer Science, 12(3):239–263, 2002.Google Scholar
Philip, Wadler. Theorems for free! In FPCA, pages 347–359, 1989.
Philip, Wadler. Comprehending monads. Mathematical Structures in Computer Science, 2 (4):461–493, 1992.Google Scholar
Philip, Wadler. Call-by-value is dual to call-by-name. In Runciman and Shivers (2003), pages 189–201. ISBN 1-58113-756-7.
Mitchell, Wand. Fixed-point constructions in order-enriched categories. Theor. Comput. Sci., 8:13–30, 1979.Google Scholar
Stephen A., Ward and Robert H., Halstead. Computation structures. MIT Electrical Engineering and Computer Science Series. MIT Press, 1990. ISBN 978-0-262-23139-8.
Kevin, Watkins, Iliano, Cervesato, Frank, Pfenning, and David, Walker. Specifying properties of concurrent computations in clf. Electr. Notes Theor. Comput. Sci., 199:67–87, 2008.Google Scholar
Andrew K., Wright and Matthias, Felleisen. A syntactic approach to type soundness. Inf. Comput., 115(1):38–94, 1994.Google Scholar
Hongwei, Xi and Frank, Pfenning. Eliminating array bound checking through dependent types. In JackW., Davidson, Keith D., Cooper, and A. Michael, Berman, editors, PLDI, pages 249–257. ACM, 1998. ISBN 0-89791-987-4.

Save book to Kindle

To save this book to your Kindle, first ensure coreplatform@cambridge.org is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about saving to your Kindle.

Note you can select to save to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

  • References
  • Robert Harper, Carnegie Mellon University, Pennsylvania
  • Book: Practical Foundations for Programming Languages
  • Online publication: 05 March 2016
  • Chapter DOI: https://doi.org/10.1017/CBO9781316576892.053
Available formats
×

Save book to Dropbox

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Dropbox.

  • References
  • Robert Harper, Carnegie Mellon University, Pennsylvania
  • Book: Practical Foundations for Programming Languages
  • Online publication: 05 March 2016
  • Chapter DOI: https://doi.org/10.1017/CBO9781316576892.053
Available formats
×

Save book to Google Drive

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Google Drive.

  • References
  • Robert Harper, Carnegie Mellon University, Pennsylvania
  • Book: Practical Foundations for Programming Languages
  • Online publication: 05 March 2016
  • Chapter DOI: https://doi.org/10.1017/CBO9781316576892.053
Available formats
×