Страницы

пятница, 16 июня 2017 г.

Коллекция основ по программированию

Нашёл на просторах веба:

The greatest of the great (mentioned by many people):

C. A. R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10):576-580 and 583, October 1969.
bib ]
Peter J. Landin. The next 700 programming languages. Communications of the ACM, 9(3):157-166, March 1966.
bib ]
Robin Milner. A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348-375, August 1978.
bib ]
Gordon Plotkin. Call-by-name, call-by-value, and the λ-calculus. Theoretical Computer Science, 1:125-159, 1975.
bib ]
John C. Reynolds. Towards a theory of type structure. In Colloque sur la Programmation, Paris, France, volume 19 of Lecture Notes in Computer Science, pages 408-425. Springer-Verlag, 1974.
bib ]

Pretty great works (mentioned by multiple people):

Luca Cardelli. A semantics of multiple inheritance. In G. Kahn, D. MacQueen, and G. Plotkin, editors, Semantics of Data Types, volume 173 of Lecture Notes in Computer Science, pages 51-67. Springer-Verlag, 1984. Full version in Information and Computation, 76(2/3):138-164, 1988.
bib ]
Luis Damas and Robin Milner. Principal type schemes for functional programs. In ACM Symposium on Principles of Programming Languages (POPL), Albuquerque, New Mexico, pages 207-212, 1982.
bib ]
Edsger W. Dijkstra. Recursive programming. In Saul Rosen, editor, Programming Systems and Languages, chapter 3C, pages 221-227. McGraw-Hill, New York, 1960.
bib ]
Edsger W. Dijkstra. Go to statement considered harmful. 11(3):147-148, March 1968.
bib ]
William A. Howard. The formulas-as-types notion of construction. In J. P. Seldin and J. R. Hindley, editors, To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus, and Formalism, pages 479-490. Academic Press, 1980. Reprint of 1969 article.
bib ]
Robert Kowalski. Predicate logic as programming language. In IFIP Congress, pages 569-574, 1974. Reprinted in Computers for Artificial Intelligence Applications, (eds. Wah, B. and Li, G.-J.), IEEE Computer Society Press, Los Angeles, 1986, pp. 68-73.
bib ]
Peter J. Landin. The mechanical evaluation of expressions. Computer Journal, 6(4):308-320, January 1964.
bib ]
John McCarthy. Recursive functions of symbolic expressions and their computation by machine, part I. Communications of the ACM, 3(4):184-195, April 1960.
bib ]
Eugenio Moggi. Computational lambda-calculus and monads. In IEEE Symposium on Logic in Computer Science (LICS), Asilomar, California, pages 14-23, June 1989. Full version, titled Notions of Computation and Monads, in Information and Computation, 93(1), pp. 55-92, 1991.
bib ]
Greg Morrisett, David Walker, Karl Crary, and Neal Glew. From System-F to typed assembly language. ACM Transactions on Programming Languages and Systems, 21(3):527-568, May 1999.
bib ]
George C. Necula. Proof-carrying code. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Paris, France, pages 106-119, January 1997.
bib ]
Gordon D. Plotkin. LCF considered as a programming language. Theoretical Computer Science, 5:223-255, 1977.
bib ]
Gordon D. Plotkin. A structural approach to operational semantics. Technical Report DAIMI FN-19, Computer Science Department, Aarhus University, Aarhus, Denmark, September 1981.
bib ]
Guy Lewis Steele, Jr. RABBIT: A compiler for SCHEME. Technical Report AITR-474, MIT Artificial Intelligence Laboratory, May 6 1978.
bib | .pdf ]

A great many great works (mentioned at least once): 

C. Boehm and G. Jacopini. Flow diagrams, Turing machines, and languages with only two formation rules. Communications of the ACM, 9(5):366-371, 1966.
bib ]
Alonzo Church. A formulation of the simple theory of types. Journal of Symbolic Logic, 5:56-68, 1940.
bib ]
Alonzo Church. The Calculi of Lambda Conversion. Princeton University Press, 1941.
bib ]
Haskell B. Curry and Robert Feys. Combinatory Logic, volume 1. North Holland, 1958. Second edition, 1968.
bib ]
O. J. Dahl and K. Nygaard. SIMULA-An ALGOL-based simulation language. Communications of the ACM, 9(9):671-678, September 1966.
bib ]
Matthias Felleisen. On the expressive power of programming languages. Science of Computer Programming, 17(1-3):35-75, December 1991.
bib | www ]
Andrzej Filinski. Representing layered monads. In ACM Symposium on Principles of Programming Languages (POPL), San Antonio, Texas, pages 175-188, New York, NY, 1999.
bib | .html ]
Robert W. Floyd. Assigning meanings to programs. In J. T. Schwartz, editor, Mathematical Aspects of Computer Science, volume 19 of Proceedings of Symposia in Applied Mathematics, pages 19-32, Providence, Rhode Island, 1967. American Mathematical Society.
bib ]
Michael J. Gordon, Robin Milner, F. Lockwood Morris, Malcolm Newey, and Christopher P. Wadsworth. A metalanguage for interactive proof in LCF. Internal Report CSR-16-77, University of Edinburgh, Edinburgh, Scotland, September 1977.
bib ]
C. A. R. Hoare. Proof of a program: FIND. Communications of the ACM, 14(1):39-45, January 1971.
bib ]
C. A. R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666-677, August 1978. Reprinted in ``Distributed Computing: Concepts and Implementations'' edited by McEntire, O'Reilly and Larson, IEEE, 1984.
bib ]
Thomas Johnsson. Lambda lifting: transforming programs to recursive equations. In Functional programming languages and computer architecture. Proc. of a conference (Nancy, France, Sept. 1985), pages 190-203, New York, NY, USA, 1985. Springer-Verlag Inc.
bib | .html ]
Neil D. Jones, Carsten K. Gomard, and Peter Sestoft. Partial Evaluation and Automatic Program Generation. Prentice Hall International, Hemel Hempstead, Hertfordshire, UK, 1993.
bib ]
G. Kahn. The semantics of a simple language for parallel programming. In J. L. Rosenfeld, editor, Information processing, pages 471-475, Stockholm, Sweden, Aug 1974. North Holland, Amsterdam.
bib ]
Gilles Kahn. Natural semantics. In Franz-Josef Brandenburg, Guy Vidal-Naquet, and Martin Wirsing, editors, Proceedings of the Symposium on Theoretical Aspects of Computer Science (STACS), volume 247 of Lecture Notes in Computer Science, pages 22-39. Springer-Verlag, 1987.
bib ]
Donald E. Knuth. Structured programming with go to statements. Computing Surveys, 6(4):261-301, 1974.
bib ]
Robin Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer-Verlag, 1980.
bib ]
Peter Naur et al. Revised report on the algorithmic language ALGOL 60. Communications of the ACM, 6(1):1-17, January 1963.
bib ]
John C. Reynolds. Types, abstraction, and parametric polymorphism. In R. E. A. Mason, editor, Information Processing 83, Paris, France, pages 513-523. Elsevier, 1983.
bib ]
John C. Reynolds. Definitional interpreters for higher-order programming languages. Higher-Order and Symbolic Computation, 11(4):363-397, 1998. Reprinted from the proceedings of the 25th ACM National Conference (1972), with a foreword.
bib ]
Dana Scott. Continuous lattices. In F. W. Lawvere, editor, Toposes, Algebraic Geometry, and Logic, number 274 in Lecture Notes in Mathematics, pages 97-136. Springer-Verlag, 1972.
bib ]
Dana Scott and Christopher Strachey. Toward a mathematical semantics for computer languages. Programming Research Group Technical Monograph PRG-6, Oxford Univ. Computing Lab., 1971.
bib ]
Dana S. Scott. Outline of a mathematical theory of computation. Technical Monograph PRG-2, Oxford University Computing Laboratory, Oxford, England, November 1970.
bib ]
Brian Cantwell Smith. Reflection and semantics in lisp. In ACM Symposium on Principles of Programming Languages (POPL), Salt Lake City, Utah, pages 23-39, January 1984.
bib ]
Christopher Strachey. Towards a formal semantics. In Formal Language Description Languages for Computer Programming, pages 198-220. North Holland, 1966.
bib ]
Christopher Strachey. Fundamental concepts in programming languages. Lecture Notes, International Summer School in Computer Programming, Copenhagen, August 1967. Reprinted in Higher-Order and Symbolic Computation, 13(1/2), pp. 1-49, 2000.
bib ]
Christopher Strachey and Christopher P. Wadsworth. Continuations: A mathematical semantics for handling full jumps. Programming Research Group Technical Monograph PRG-11, Oxford Univ. Computing Lab., 1974. Reprinted in Higher-Order and Symbolic Computation, vol. 13 (2000), pp. 135-152.
bib ]
D. A. Turner. A new implementation technique for applicative languages. Software - Practice and Experience, 9(1):31-49, Jan 1979.
bib ]
David Ungar and Randall B. Smith. Self: The power of simplicity. Lisp and Symbolic Computation, 4(3):187-205, 1991.
bib ]
N. Wirth. The programming language Pascal (revised report). Technical report 5, Dept. Informatik, Inst. Fьr Computersysteme, ETH Zьrich, Zьrich, Switzerland, Jul 1973.
bib ]
Niklaus Wirth and C. A. R. Hoare. A contribution to the development of ALGOL. Communications of the ACM, 9(6):413-432, June 1966.
bib ]
Andrew K. Wright and Matthias Felleisen. A syntactic approach to type soundness. Information and Computation, 115(1):38-94, November 1994.
bib ]
Взято здесь:

Great Works in Programming Languages

Комментариев нет:

Отправить комментарий