Skip to main content Accessibility help
×
Hostname: page-component-7bb8b95d7b-495rp Total loading time: 0 Render date: 2024-09-07T13:22:37.506Z Has data issue: false hasContentIssue false

Bibliography

Published online by Cambridge University Press:  05 February 2013

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: 2012

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

Abadi, M. and L., Cardelli (1996). A Theory of Objects. Springer-Verlag.CrossRefGoogle Scholar
Abadi, M. and C., Fournet (2001). Mobile values, new names, and secure communication. In Proceedings of the ACM Symposium on Principles of Programming Languages, pp. 104–15, Association for Computing Machinery.Google Scholar
Aczel, P. (1977). An introduction to inductive definitions. In Jon, Barwise, editor, Handbook of Mathematical Logic, chapter C.7, pp. 783–818. North-Holland.Google Scholar
Allen., J. (1978). The Anatomy of LISP. Computer Science Series. McGraw-Hill.Google Scholar
Allen, S. (1987). A non-type-theoretic definition of Martin-Löf's types. In LICS, pp. 215–21. IEEE Computer Society.Google Scholar
Allen, S. F., M., Bickford, R. L., Constable, R., Eaton, C., Kreitz, L., Lorigo, and E., Moran (2005). Innovations in computational type theory using NuPRL. J. Appl. Logic, 4: 428–69.CrossRefGoogle Scholar
Andreoli, J.-M. (1992). Logic programming with focusing proofs in linear logic. J. Log. Comput., 2: 297–347.CrossRefGoogle Scholar
Ariola, Z. M. and M., Felleisen (1997). The call-by-need lambda calculus. J. Funct. Prog., 7: 265–301.CrossRefGoogle Scholar
Arvind, R., S., Nikhil, and K., Pingali (1986). I-structures: Data structures for parallel computing. In J. H., Fasel and R. M., Keller, editors, Graph Reduction, Volume 279 of Lecture Notes in Computer Science Series, pp. 336–69. Springer.CrossRefGoogle Scholar
Avron, A. (1991). Simple consequence relations. Inf. Comput., 92:105–39.CrossRefGoogle Scholar
Barendregt, H. (1984). The Lambda Calculus, Its Syntax and Semantics. Volume 103 of Studies in Logic and the Foundations of Mathematics. North-Holland.Google Scholar
Barendregt, H. (1992). Lambda calculi with types. In S., Abramsky, D. M., Gabbay, and T. S. E, Maibaum, editors, Handbook of Logic in Computer Science, Volume 2 of Computational Structures Series. Oxford University Press.Google Scholar
Bertot, Y., G., Huet, J.-J., Lévy, and G., Plotkin (editors) (2009). From Semantics to Computer Science: Essays in Honor of Gilles Kahn. Cambridge University Press.CrossRefGoogle Scholar
Blelloch, G. E. (1990). Vector Models for Data-Parallel Computing. MIT Pres.Google Scholar
Blelloch, G. E. and J., Greiner (1995). Parallelism in sequential functional languages. In FPCA, pp. 226–37.CrossRefGoogle Scholar
Blelloch, G. E. and J., Greiner (1996). A provable time and space efficient implementation of NESL. In ICFP, pp. 213–25.CrossRefGoogle Scholar
Brookes, S. D. (2002). The essence of parallel Algol. Inf. Comput., 179(1): 118–49.CrossRefGoogle Scholar
Burstall, R. M., D. B., MacQueen, and D., Sannella (1980). Hope: An experimental applicative language. In LISP Conference, pp. 136–43.Google Scholar
Buss, S. R. (editor). (1998). Handbook of Proof Theory. Elsevier.
Cardelli, L. (1988). Structural subtyping and the notion of power type. In Proceedings of the ACM Symposium on Principles of Programming Languages, pp. 70–9. Association for Computing Machinery.Google Scholar
Cardelli, L. (1997). Program fragments, linking, and modularization. In Proceedings of the ACM Symposium on Principles of Programming Languages, pp. 266–77. Association for Computing Machinery.Google Scholar
Castagna, G. and B. C., Pierce (1994). Decidable bounded quantification. In Proceedings of the ACM Symposium on Principles of Programming Languages, pp. 151–62. Association for Computing Machinery.Google Scholar
Church, A. (1941). The Calculi of Lambda-Conversion. Princeton University Press.Google Scholar
Colmerauer, A. and P., Roussel (1993). The birth of Prolog. In Proceedings of the Second ACM SIGPLAN Conference on the History of Programming Languages, HOPL-II, pp. 37–52. Association for Computing Machinery.Google Scholar
Constable, R. L. (1986). Implementing Mathematics with the Nupri Proof Development System. Prentice-Hall.Google Scholar
Constable, R. L. (1998). Types in logic, mathematics, and programming. In S. R., Buss, editor, Handbook of Proof Theory, chapter X. Elsevier.Google Scholar
Constable, R. L. and S. F., Smith (1987). Partial objects in constructive type theory. In LICS, pp. 183–93. IEEE Computer Society.Google Scholar
Cook, W. R. (2009). On understanding data abstraction, revisited. In OOPSLA, pp. 557–72.Google Scholar
Cousineau, G. and M., Mauny (1998). The Functional Approach to Programming. Cambridge University Press.CrossRefGoogle Scholar
Crary, K. (2009). A syntactic account of singleton types via hereditary substitution. In Proceedings of the Fourth International Workshop on Logical Frameworks and MetaLanguages: Theory and Practice, LFMTP '09, pp. 21–29. Association for Computing Machinary.Google Scholar
Dreyer, D. (2005). Understanding and Evolving the ML Module System. Ph.D. dissertation. Carnegie Mellon University.Google Scholar
Engberg, U. and M., Nielsen. (2000). A calculus of communicating systems with label passing — ten years after. In G. D., Plotkin, C., Stirling, and M., Tofte (editors), Proof, Language, and Interaction, Essays in Honour of Robin Milner, pp. 599–622. MIT Press.Google Scholar
Felleisen, M. and R., Hieb (1992). The revised report on the syntactic theories of sequential control and state. TCS: Theoretical Computer Science, 103.Google Scholar
Gelernter, D. (1985). Generative communication in Linda. ACM Trans. Prog. Lang. Syst., 7: 80–112.CrossRefGoogle Scholar
Gentzen, G. (1969). Investigations into logical deduction. In M. E., Szabo, editor, The Collected Papers of Gerhard Gentzen, pp. 68–213. North-Holland.Google Scholar
Girard, J.-Y. (1972). Interpretation fonctionelle et elimination des coupures de l'arithmetique d'ordre superieur. These d'etat, Universite Paris VII.Google Scholar
Girard, J.-Y. (1989). Proofs and Types. Translated by P., Taylor and Y., Lafont. Cambridge University Press.Google Scholar
Gödel, K. (1980). On a hitherto unexploited extension of the finitary standpoint. Translated by W., Hodges and B., Watson. Philos. Logic, 9: 133–42.Google Scholar
Gordon, M. J., A. J., Milner, and C., P. Wadsworth. Edinburgh LCF, Volume 78 of Lecture Notes in Computer Science Series. Springer-Verlag.
Greiner, J. and G. E., Blelloch (1999). A provably time-efficient parallel implementation of full speculation. ACM Trans. Prog. Lang. Syst., 21: 240–85.CrossRefGoogle Scholar
Griffin, T. (1990). A formulae-as-types notion of control. In Proceedings of the ACM Symposium on Principles of Programming Languages, pp. 47–58. Association for Computing Machinery.Google Scholar
Halstead, R. H. Jr. (1985). Multilisp: A language for concurrent symbolic computation. ACM Trans. Prog. Lang. Syst., 7: 501–38.CrossRefGoogle Scholar
Harper, R. (1992). Constructing type systems over an operational semantics. J. Symb. Comput., 14: 71–84.CrossRefGoogle Scholar
Harper, R. (1994). A simplified account of polymorphic references. Inf. Process. Lett., 51: 201–6.CrossRefGoogle Scholar
Harper, R. and M., Lillibridge (1994). A type-theoretic approach to higher order modules with sharing. In Proceecings of the ACM Symposium on Principles of Programming Languages, pp. 123–37. Association for Computing Machinery.Google Scholar
Harper, R., J. C., Mitchell, and E., Moggi (1990). Higher-order modules and the phase distinction. In Proceedings of the ACM Symposium on Principles of Programming Languages, pp. 341–54. Association for Computing Machinery.Google Scholar
Harper, R., F., Honsell, and G., Plotkin (1993). A framework for defining logics. J. Assoc. Comput. Mach., 40: 194–204.CrossRefGoogle Scholar
Hinze, R. and J., Jeuring (2003). Generic Haskell: practice and theory. In R. C., Backhouse and J., Gibbons, editors, Generic Programming, Volume 2793 of Lecture Notes in Computer Science, pp. 1–56. Springer.Google Scholar
Hoare, C. A. R. (1978). Communicating sequential processes. Commun. ACM, 21: 666–77.CrossRefGoogle Scholar
Hoare, T. (2009). Null references: the billion dollar mistake. Paper presented at QCon.Google Scholar
Jones, S. L. P. (2003). Haskell 98: Introduction. J. Funct. Program., 13: 0–6.Google Scholar
Kleene, S. C. (1952). Introduction to Metamathematics. van Nostrand.Google Scholar
Kowalski, R. A. (1988). The early years of logic programming. Commun. ACM, 31: 38–43.CrossRefGoogle Scholar
Lakatos, I. (1976). Proofs and Refutations: The Logic of Mathematical Discovery. Cambridge University Press.CrossRefGoogle Scholar
Landin, P. J. (1965). A correspondence between Algol 60 and Church's lambda notation. Commun. ACM, 8: 89–101; 158–65.CrossRefGoogle Scholar
Lee, D. K., K., Crary, and R., Harper (2007). Towards a mechanized metatheory of Standard ML. In Proceedings of the ACM Symposium on Principles of Programming Languages, pp. 173–84. Association for Computing Machinery.Google Scholar
Leroy, X. (1994). Manifest types, modules, and separate compilation. In Pro. ACM Symposium on Principles of Programming Languages, pp. 109–22, 1994.Google Scholar
Leroy, X. (1995). Applicative functors and fully transparent higher-order modules. In Proceedings of the ACM Symposium on Principles of Programming Languages, pp. 142–53. Association for Computing Machinery.Google Scholar
Licata, D. R. and R., Harper (2010). A monadic formalization of ML5. In K., Crary and M., Miculan, editors, Logical Frameworks and Metalanguages: Theory and Practice, Volume 34 of EPTCS Series, pp. 69–83. Association for Computing Mechinery.Google Scholar
Lillibridge, M. (1997). Translucent Sums: A Foundation for Higher-Order Module Systems. Ph.D. dissertation, Carnegie Mellon University School of Computer Science.Google Scholar
Liskov, B. and J. M., Wing (1994). A behavioral notion of subtyping. ACM Trans. Prog. Lang. Syst., 16: 1811–41.CrossRefGoogle Scholar
MacLane, S. (1998). Categories for the Working Mathematician (2nd ed). Graduate Texts in Mathematics Series. Springer-Verlag.Google Scholar
MacQueen, D. B. (1986). Using dependent types to express modular structure. In Proceedings of the ACM Symposium on Principles of Programming Languges, pp. 277–86. Association for Computing Machinery.Google Scholar
MacQueen, D. B. (2009). Kahn networks at the dawn of functional programming. In Bertot, et al., editors, From Semantics to Computer Science: Essays in Honor of Gilles Kahn, chapter 5. Cambridge University Press.Google Scholar
Martin-Löf, P. (1980). Constructive mathematics and computer programming. In Logic, Methodology and Philosophy of Science IV, pp. 153–75. North-Holland.Google Scholar
Martin-Löf, P. (1983). On the meanings of the logical constants and the justifications of the logical laws. Unpublished lecture notes.Google Scholar
Martin-Löf, P. (1984). Intuitionistic Type Theory. Studies in Proof Theory Series. Bibliopolis.Google Scholar
Martin-Löf, P. (1987). Truth of a proposition, evidence of a judgement, validity of a proof. Synthese, 73: 407–20.CrossRefGoogle Scholar
McCarthy, J. (1965). LISP1.5 Programmer's Manual. MIT Press.Google Scholar
Mendler, N. P. (1987). Recursive types and type constraints in second-order lambda calculus. In LICS, pp. 30–6. IEEE Computer Society.Google Scholar
Milner, R. (1978). A theory of type polymorphism in programming. JCSS, 17: 348–75.Google Scholar
Milner, R. (1999). Communicating and Mobile Systems — the Pi-Calculus. Cambridge University Press.Google Scholar
Milner, R., M., Tofte, R., Harper, and D., MacQueen (1997). The Definition of Standard ML (Revised). MIT Press.Google Scholar
Mitchell, J. C. (1984). Coercion and type inference. In Proceedings of the ACM Symposium on Principles of Programming Languages, pp. 175–85. Association for Computing Machinery.Google Scholar
Mitchell, J. C. (1986). Representation independence and data abstraction. In Proceedings of the ACM Symposium on Principles of Programming Languages, pp. 263–76. Association for Computing Machinery.Google Scholar
Mitchell, J. C. (1996). Foundations for Programming Languages. MIT Press.Google Scholar
Mitchell, J. C. and G. D., Plotkin (1988). Abstract types have existential type. ACM Trans. Prog. Lang. Syst., 10: 470–502.CrossRefGoogle Scholar
Murphy, T. VII, K., Crary, R., Harper, and F., Pfenning (2004). A symmetric modal lambda calculus for distributed computing. In LICS, pp. 286–95. IEEE Computer Society.Google Scholar
Murthy, C. R. (1991). An evaluation semantics for classical proofs. In LICS, pp. 96–107. IEEE Computer Society.Google Scholar
Nanevski, A. (2003). From dynamic binding to state via modal possibility. In PPDP, pp. 207–18. Association for Computing Machinery.Google Scholar
Nederpelt, R. P., J. H., Geuvers, and R. C., deVrijer (editors) (1994). Selected Papers on Automath, Volume 133 of Studies in Logic and the Foundations of Mathematics Series. North-Holland.
Ocaml (2012). Available at http://caml.inria.fr/ocaml/.
Park, D. M. R. (1981). Concurrency and automata on infinite sequences. In P., Deussen, editor, Theoretical Computer Science, Volume 104 of Lecture Notes in Computer Science Series, pp. 167–83. Springer.CrossRefGoogle Scholar
Pierce, B. C. (2002). Types and Programming Languages. MIT Press.Google Scholar
Pierce, B. C. (2004). Advanced Topics in Types and Programming Languages. MIT Press.Google Scholar
Pitts, A. M. (1998). Existential types: Logical relations and operational equivalence. In K. G., Larsen, S., Skyum, and G., Winskel, editors, ICALP, Volume 1443 of Lecture Notes in Computer Science Series, pp. 309–26. Springer.Google Scholar
Pitts, A. M. (2000). Operational semantics and program equivalence. In G., Barthe, P., Dybjer, L., Pinto, and J., Saraiva, editors, APPSEM, Volume 2395 of Lecture Notes in Computer Science Series, pp. 378–412. Springer.Google Scholar
Pitts, A. M. and I. D. B., Stark (1993). Observable properties of higher order functions that dynamically create local names, or what's new? In A. M., Borzyszkowski and S., Sokolowski, editors, MFCS, Volume 711 of Lecture Notes in Computer Science Series, pp. 122–141. Springer.Google Scholar
Plotkin, G. D. (1977). LCF considered as a programming language. Theor. Comput. Sci., 5: 223–55.CrossRefGoogle Scholar
Plotkin, G. D. (1981). A structural approach to operational semantics. Technical Report DAIMIFN-19, Aarhus University, Computer Science Department.Google Scholar
Plotkin, G. D. (2004). The origins of structural operational semantics. J. Logic Algebraic Program., 60: 3–15.Google Scholar
Reppy, J. H. (1999). Concurrent Programming in ML. Cambridge University Press.CrossRefGoogle Scholar
Reynolds, J. C. (1974). Towards a theory of type structure. In B., Robinet, editor, Symposium on Programming, Volume 19 of Lecture Notes in Computer Science Series, pp. 408–23. Springer.CrossRefGoogle Scholar
Reynolds, J. C. (1980). Using category theory to design implicit conversions and generic operators. In N. D., Jones, editor, Semantics-Directed Compiler Generation, Volume 94 of Lecture Notes in Computer Science Series, pp. 211–58. Springer.CrossRefGoogle Scholar
Reynolds, J. C. (1981). The essence of Algol. In Proceedings of the 1981 International Symposium on Algorithmic Languages, pp. 345–72. North-Holland.Google Scholar
Reynolds, J. C. (1983). Types, abstraction, and parametric polymorphism. In Information Processing '83, pp. 513–23. North-Holland.Google Scholar
Reynolds, J. C. (1993). The discoveries of continuations. Lisp Symbol. Comput., 6: 233–48.CrossRefGoogle Scholar
Reynolds, J. C. (1998). Theories of Programming Languages. Cambridge University Press, Cambridge, England.CrossRefGoogle Scholar
Rossberg, A., C. V., Russo, and D., Dreyer (2010). F-ing modules. In A., Kennedy and N., Benton, editors, TLDI, pp. 89–102. ACM.Google Scholar
Scott, D. (1980). Lambda calculus: Some models, some philosophy. In J., Barwise, H. J., Keisler, and K., Kunen, editors, The Kleene Symposium, pp. 223–65. North-Holland, Amsterdam.CrossRefGoogle Scholar
Scott, D. S. (1976). Data types as lattices. SIAM J. Comput., 5(3): 522–87.CrossRefGoogle Scholar
Scott, D. S. (1982). Domains for denotational semantics. In M., Nielsen and E. M., Schmidt, editors, ICALP, volume 140 of Lecture Notes in Computer Science, pp. 577–613. Springer.Google Scholar
Smyth, M. B. and G. D., Plotkin (1982). The category-theoretic solution of recursive domain equations. SIAM J. Comput., 11(4): 761–83.CrossRefGoogle Scholar
Statman, R. (1985). Logical relations and the typed lambda-calculus. Information and Control, 65(2/3): 85–97.CrossRefGoogle Scholar
Steele, G. L. (1990). Common Lisp: The Language (2nd ed.). Digital Press.Google Scholar
Stone, C. A. and R., Harper (2006). Extensional equivalence and singleton types. ACM Trans. Comput. Log., 7: 676–722.CrossRefGoogle Scholar
Taylor, P. (1999). Practical Foundations of Mathematics. Cambridge Studies in Advanced Mathematics. Cambridge University Press.Google Scholar
Turner, D. (1987). An overview of Miranda. Bull. EATCS, 33: 103–14.Google Scholar
Wadler, P. (1989). Theorems for free! In FPCA, pp. 347–59.CrossRefGoogle Scholar
Wadler, P. (2003). Call-by-value is dual to call-by-name. In C., Runciman, and O., Shivers, editors, ICFP, pp. 189–201. Association for Computing Machinery.Google Scholar
Wand, M. (1979). Fixed-point constructions in order-enriched categories. Theor. Comput. Sci., 8: 13–30.CrossRefGoogle Scholar
Watkins, K., I., Cervesato, F., Pfenning, and D., Walker (2008). Specifying properties of concurrent computations in clf. Electr. Notes Theor. Comput. Sci., 199: 67–87.CrossRefGoogle Scholar
Wright, A. K. and M., Felleisen (1994). A syntactic approach to type soundness. Inf. Comput., 115: 38–94.CrossRefGoogle Scholar
Zeilberger, N. (2008). On the unity of duality. Ann. Pure Appl. Logic, 153: 66–96.CrossRefGoogle Scholar

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.

  • Bibliography
  • Robert Harper, Carnegie Mellon University, Pennsylvania
  • Book: Practical Foundations for Programming Languages
  • Online publication: 05 February 2013
  • Chapter DOI: https://doi.org/10.1017/CBO9781139342131.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.

  • Bibliography
  • Robert Harper, Carnegie Mellon University, Pennsylvania
  • Book: Practical Foundations for Programming Languages
  • Online publication: 05 February 2013
  • Chapter DOI: https://doi.org/10.1017/CBO9781139342131.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.

  • Bibliography
  • Robert Harper, Carnegie Mellon University, Pennsylvania
  • Book: Practical Foundations for Programming Languages
  • Online publication: 05 February 2013
  • Chapter DOI: https://doi.org/10.1017/CBO9781139342131.053
Available formats
×