[ 目次, 前節,
次節, 索引 ]
参考文献
Allen, John. 1978. Anatomy of Lisp. New York: McGraw-Hill.
(後藤英一・戸島 訳, Lispの構造 Lispプログラミング, 日本コンピュータ協会 1983)
ANSI X3.226-1994. American National Standard for Information
Systems---Programming Language---Common Lisp.
Appel, Andrew W. 1987. Garbage collection can be faster than stack
allocation. Information Processing Letters 25(4):275--279.
Backus, John. 1978. Can programming be liberated from the von
Neumann style? Communications of the ACM 21(8):613--641.
"(J. バッカス. 米澤明憲訳. プログラミングはフォン・ノイマン・スタイルから解放されうるか?
関数的プログラミング・スタイルとそのプログラム代数,
bit 11(9):14--29,(10):19--32,(11):52--61.)"
Baker, Henry G., Jr. 1978. List processing in real time on a serial
computer. Communications of the ACM 21(4):280--293.
Batali, John, Neil Mayle, Howard Shrobe, Gerald Jay Sussman, and
Daniel Weise. 1982. The Scheme-81 architecture---System and chip.
In Proceedings of the MIT Conference on Advanced Research in
VLSI, edited by Paul Penfield, Jr. Dedham, MA: Artech House.
Borning, Alan. 1977. ThingLab---An object-oriented system for
building simulations using constraints. In Proceedings of the 5th
International Joint Conference on Artificial Intelligence.
Borodin, Alan, and Ian Munro. 1975. The Computational
Complexity of Algebraic and Numeric Problems. New York: American
Elsevier.
Chaitin, Gregory J. 1975. Randomness and mathematical proof.
Scientific American 232(5):47--52.
Church, Alonzo. 1941. The Calculi of Lambda-Conversion.
Princeton, N.J.: Princeton University Press.
Clark, Keith L. 1978. Negation as failure. In Logic and Data
Bases. New York: Plenum Press, pp. 293--322.
Clinger, William. 1982. Nondeterministic call by need is neither
lazy nor by name. In Proceedings of the ACM Symposium on Lisp and
Functional Programming, pp. 226--234.
Clinger, William, and Jonathan Rees. 1991. Macros that work. In
Proceedings of the 1991 ACM Conference on Principles of
Programming Languages, pp. 155--162.
Colmerauer A., H. Kanoui, R. Pasero, and P. Roussel. 1973. Un système
de communication homme-machine en français. Technical report,
Groupe Intelligence Artificielle, Université d'Aix Marseille,
Luminy.
Cormen, Thomas, Charles Leiserson, and Ronald Rivest. 1990.
Introduction to Algorithms. Cambridge, MA: MIT Press.
(浅野哲夫・岩野和生・梅尾博司・和田幸一 訳, アルゴリズムイントロダクション,
近代科学社 1995)
Darlington, John, Peter Henderson, and David Turner. 1982.
Functional Programming and Its Applications. New York: Cambridge
University Press.
Dijkstra, Edsger W. 1968a. The structure of the ``THE''
multiprogramming system. Communications of the ACM
11(5):341--346.
Dijkstra, Edsger W. 1968b. Cooperating sequential processes. In
Programming Languages, edited by F. Genuys. New York: Academic Press, pp.
43--112.
Dinesman, Howard P. 1968. Superior Mathematical Puzzles. New
York: Simon and Schuster.
deKleer, Johan, Jon Doyle, Guy Steele, and Gerald J. Sussman. 1977.
AMORD: Explicit control of reasoning. In Proceedings of the ACM
Symposium on Artificial Intelligence and Programming Languages, pp.
116--125.
Doyle, Jon. 1979. A truth maintenance system. Artificial
Intelligence 12:231--272.
Feigenbaum, Edward, and Howard Shrobe. 1993. The Japanese National
Fifth Generation Project: Introduction, survey, and evaluation. In
Future Generation Computer Systems, vol. 9, pp. 105--117.
Feeley, Marc. 1986. Deux approches à l'implantation du
language Scheme. Masters thesis, Université de Montréal.
Feeley, Marc and Guy Lapalme. 1987. Using closures for code
generation. Journal of Computer Languages 12(1):47--66.
Feller, William. 1957. An Introduction to Probability Theory
and Its Applications, volume 1. New York: John Wiley & Sons.
(河田龍夫監訳, 確立論とその応用I(上, 下), 紀伊國屋書店 1960, 1961)
Fenichel, R., and J. Yochelson. 1969. A Lisp garbage collector for
virtual memory computer systems. Communications of the ACM
12(11):611--612.
Floyd, Robert. 1967. Nondeterministic algorithms. JACM, 14(4):636--644.
Forbus, Kenneth D., and Johan deKleer. 1993. Building Problem
Solvers. Cambridge, MA: MIT Press.
Friedman, Daniel P., and David S. Wise. 1976. CONS should not
evaluate its arguments. In Automata, Languages, and Programming:
Third International Colloquium, edited by S. Michaelson and R.
Milner, pp. 257--284.
Friedman, Daniel P., Mitchell Wand, and Christopher T. Haynes. 1992.
Essentials of Programming Languages. Cambridge, MA: MIT
Press/McGraw-Hill.
Gabriel, Richard P. 1988. The Why of $Y$. Lisp Pointers
2(2):15--25.
Goldberg, Adele, and David Robson. 1983. Smalltalk-80: The
Language and Its Implementation. Reading, MA: Addison-Wesley.
Gordon, Michael, Robin Milner, and Christopher Wadsworth. 1979.
Edinburgh LCF. Lecture Notes in Computer Science, volume 78. New
York: Springer-Verlag.
Gray, Jim, and Andreas Reuter. 1993. Transaction Processing:
Concepts and Models. San Mateo, CA: Morgan-Kaufman.
Green, Cordell. 1969. Application of theorem proving to problem
solving. In Proceedings of the International Joint Conference on
Artificial Intelligence, pp. 219--240.
Green, Cordell, and Bertram Raphael. 1968. The use of
theorem-proving techniques in question-answering systems. In
Proceedings of the ACM National Conference, pp. 169--181.
Griss, Martin L. 1981. Portable Standard Lisp, a brief overview.
Utah Symbolic Computation Group Operating Note 58, University of Utah.
Guttag, John V. 1977. Abstract data types and the development of
data structures. Communications of the ACM 20(6):397--404.
Hamming, Richard W. 1980. Coding and Information Theory.
Englewood Cliffs, N.J.: Prentice-Hall.
Hanson, Christopher P. 1990. Efficient stack allocation for
tail-recursive languages. In Proceedings of ACM Conference on
Lisp and Functional Programming, pp. 106--118.
Hanson, Christopher P. 1991. A syntactic closures macro facility.
Lisp Pointers, 4(3).
Hardy, Godfrey H. 1921. Srinivasa Ramanujan. Proceedings of
the London Mathematical Society XIX(2).
Hardy, Godfrey H., and E. M. Wright. 1960. An Introduction to
the Theory of Numbers. 4th edition. New York: Oxford University
Press.
Havender, J. 1968. Avoiding deadlocks in multi-tasking systems.
IBM Systems Journal 7(2):74--84.
Hearn, Anthony C. 1969. Standard Lisp. Technical report AIM-90,
Artificial Intelligence Project, Stanford University.
Henderson, Peter. 1980. Functional Programming: Application and
Implementation. Englewood Cliffs, N.J.: Prentice-Hall.
Henderson. Peter. 1982. Functional Geometry. In Conference Record
of the 1982 ACM Symposium on Lisp and Functional Programming,
pp. 179--187.
Hewitt, Carl E. 1969. PLANNER: A language for proving theorems in
robots. In Proceedings of the International Joint Conference on
Artificial Intelligence, pp. 295--301.
Hewitt, Carl E. 1977. Viewing control structures as patterns of
passing messages. Journal of Artificial Intelligence}
8(3):323--364.
Hoare, C. A. R. 1972. Proof of correctness of data representations.
Acta Informatica 1(1).
Hodges, Andrew. 1983. Alan Turing: The Enigma. New York: Simon
and Schuster.
Hofstadter, Douglas R. 1979. Gödel, Escher, Bach: An Eternal
Golden Braid. New York: Basic Books.
(ダグラス R ホフスタッター. 野崎昭弘, はやし・はじめ, 柳瀬尚紀訳. デーデル, エッ
シャー, バッハあるいは不思議の輪, 白楊社, 1985.)
Hughes, R. J. M. 1990. Why functional programming matters. In
Research Topics in Functional Programming, edited by David Turner.
Reading, MA: Addison-Wesley, pp. 17--42.
IEEE Std 1178--1990. 1990. IEEE Standard for the Scheme
Programming Language.
Ingerman, Peter, Edgar Irons, Kirk Sattley, and Wallace Feurzeig;
assisted by M. Lind, Herbert Kanner, and Robert Floyd. 1960. THUNKS:
A way of compiling procedure statements, with some comments on
procedure declarations. Unpublished manuscript. (Also, private
communication from Wallace Feurzeig.)
Kaldewaij, Anne. 1990. Programming: The Derivation of
Algorithms. New York: Prentice-Hall.
Knuth, Donald E. 1973. Fundamental Algorithms. Volume 1 of
The Art of Computer Programming. 2nd edition. Reading, MA:
Addison-Wesley.
(ドナルド E クヌース. 広瀬健訳. 基本算法/基礎概念 サイエンス社 1978.
米田信夫, 筧捷彦訳. 基本算法/情報構造. サイエンス社 1978.)
Knuth, Donald E. 1981. Seminumerical Algorithms. Volume 2 of
The Art of Computer Programming. 2nd edition. Reading, MA:
Addison-Wesley.
(ドナルド E クヌース. 渋谷政昭訳. 準数値算法/乱数 サイエンス社 1981.
中川圭介訳. 準数値算法/算術演算. サイエンス社 1986.)
Kohlbecker, Eugene Edmund, Jr. 1986. Syntactic extensions in the
programming language Lisp. Ph.D. thesis, Indiana University.
Konopasek, Milos, and Sundaresan Jayaraman. 1984. The TK!Solver
Book: A Guide to Problem-Solving in Science, Engineering, Business,
and Education. Berkeley, CA: Osborne/McGraw-Hill.
Kowalski, Robert. 1973. Predicate logic as a programming language.
Technical report 70, Department of Computational Logic, School of
Artificial Intelligence, University of Edinburgh.
Kowalski, Robert. 1979. Logic for Problem Solving. New York:
North-Holland.
(浦昭二監修/山田眞一・菊地光昭・桑野龍夫訳, 論理による問題の解法, 培風館 1987)
Lamport, Leslie. 1978. Time, clocks, and the ordering of events in a
distributed system. Communications of the ACM 21(7):558--565.
Lampson, Butler, J. J. Horning, R. London, J. G. Mitchell, and G. K.
Popek. 1981. Report on the programming language Euclid. Technical
report, Computer Systems Research Group, University of Toronto.
Landin, Peter. 1965. A correspondence between Algol 60 and Church's
lambda notation: Part I. Communications of the ACM
8(2):89--101.
Lieberman, Henry, and Carl E. Hewitt. 1983. A real-time garbage
collector based on the lifetimes of objects. Communications of
the ACM 26(6):419--429.
Liskov, Barbara H., and Stephen N. Zilles. 1975. Specification
techniques for data abstractions. IEEE Transactions on Software
Engineering 1(1):7--19.
McAllester, David Allen. 1978. A three-valued truth-maintenance
system. Memo 473, MIT Artificial Intelligence Laboratory.
McAllester, David Allen. 1980. An outlook on truth maintenance.
Memo 551, MIT Artificial Intelligence Laboratory.
McCarthy, John. 1960. Recursive functions of symbolic expressions
and their computation by machine. Communications of the ACM
3(4):184--195.
McCarthy, John. 1967. A basis for a mathematical theory of
computation. In Computer Programing and Formal Systems, edited
by P. Braffort and D. Hirschberg. North-Holland.
McCarthy, John. 1978. The history of Lisp. In Proceedings of
the ACM SIGPLAN Conference on the History of Programming Languages.
McCarthy, John, P. W. Abrahams, D. J. Edwards, T. P. Hart, and M. I.
Levin. 1965. Lisp 1.5 Programmer's Manual.d} 2nd edition.
Cambridge, MA: MIT Press.
McDermott, Drew, and Gerald Jay Sussman. 1972. Conniver reference
manual. Memo 259, MIT Artificial Intelligence Laboratory.
Miller, Gary L. 1976. Riemann's Hypothesis and tests for primality.
Journal of Computer and System Sciences 13(3):300--317.
Miller, James S., and Guillermo J. Rozas. 1994. Garbage collection is
fast, but a stack is faster. Memo 1462, MIT Artificial Intelligence
Laboratory.
Moon, David. 1978. MacLisp reference manual, Version 0. Technical
report, MIT Laboratory for Computer Science.
Moon, David, and Daniel Weinreb. 1981. Lisp machine manual.
Technical report, MIT Artificial Intelligence Laboratory.
Morris, J. H., Eric Schmidt, and Philip Wadler. 1980. Experience
with an applicative string processing language. In Proceedings
of the 7th Annual ACM SIGACT/SIGPLAN Symposium on the Principles of
Programming Languages.
Phillips, Hubert. 1934. The Sphinx Problem Book. London: Faber
and Faber.
Pitman, Kent. 1983. The revised MacLisp Manual (Saturday evening
edition). Technical report 295, MIT Laboratory for Computer Science.
Rabin, Michael O. 1980. Probabilistic algorithm for testing primality.
Journal of Number Theory 12:128--138.
Raymond, Eric. 1993. The New Hacker's Dictionary. 2nd edition.
Cambridge, MA: MIT Press.
(福崎俊博訳, ハッカーズ大辞典, アスキー出版局 1995)
Raynal, Michel. 1986. Algorithms for Mutual Exclusion.
Cambridge, MA: MIT Press.
Rees, Jonathan A., and Norman I. Adams IV. 1982. T: A dialect of Lisp
or, lambda: The ultimate software tool. In Conference Record of
the 1982 ACM Symposium on Lisp and Functional Programming, pp.
114--122.
Rees, Jonathan, and William Clinger (eds). 1991. The revised$^4$
report on the algorithmic language Scheme. Lisp Pointers, 4(3).
Rivest, Ronald, Adi Shamir, and Leonard Adleman. 1977. A method for
obtaining digital signatures and public-key cryptosystems. Technical
memo LCS/TM82, MIT Laboratory for Computer Science.
Robinson, J. A. 1965. A machine-oriented logic based on the
resolution principle. Journal of the ACM 12(1):23.
Robinson, J. A. 1983. Logic programming---Past, present, and future.
New Generation Computingd} 1:107--124.
Spafford, Eugene H. 1989. The Internet Worm: Crisis and aftermath.
Communications of the ACM 32(6):678--688.
Steele, Guy Lewis, Jr. 1977. Debunking the ``expensive procedure
call'' myth. In Proceedings of the National Conference of the
ACM, pp. 153--62.
Steele, Guy Lewis, Jr. 1982. An overview of Common Lisp. In
Proceedings of the ACM Symposium on Lisp and Functional Programming,
pp. 98--107.
Steele, Guy Lewis, Jr. 1990. Common Lisp: The Language. 2nd
edition. Digital Press.
(井田昌之翻訳・監修, 川合進・川辺治之・佐治信之・塩田英二・田中啓介・元吉文男・
湯浦克彦・六条範俊訳, Common Lisp第2版, 共立出版 bit別冊 1991)
Steele, Guy Lewis, Jr., and Gerald Jay Sussman. 1975. Scheme: An
interpreter for the extended lambda calculus. Memo 349, MIT
Artificial Intelligence Laboratory.
Steele, Guy Lewis, Jr., Donald R. Woods, Raphael A. Finkel, Mark R.
Crispin, Richard M. Stallman, and Geoffrey S. Goodfellow. 1983.
The Hacker's Dictionary. New York: Harper & Row.
Stoy, Joseph E. 1977. Denotational Semantics. Cambridge, MA:
MIT Press.
Sussman, Gerald Jay, and Richard M. Stallman. 1975. Heuristic
techniques in computer-aided circuit analysis. IEEE Transactions
on Circuits and Systems CAS-22(11):857--865.
Sussman, Gerald Jay, and Guy Lewis Steele Jr. 1980. Constraints---A
language for expressing almost-hierachical descriptions. AI
Journal 14:1--39.
Sussman, Gerald Jay, and Jack Wisdom. 1992. Chaotic evolution of the
solar system. Science 257:256--262.
Sussman, Gerald Jay, Terry Winograd, and Eugene Charniak. 1971.
Microplanner reference manual. Memo 203A, MIT Artificial Intelligence
Laboratory.
Sutherland, Ivan E. 1963. SKETCHPAD: A man-machine graphical
communication system. Technical report 296, MIT Lincoln Laboratory.
Teitelman, Warren. 1974. Interlisp reference manual. Technical
report, Xerox Palo Alto Research Center.
Thatcher, James W., Eric G. Wagner, and Jesse B. Wright. 1978.
Data type specification: Parameterization and the power of
specification techniques. In Conference Record of the Tenth Annual ACM
Symposium on Theory of Computing, pp. 119-132.
%%San Diego, California, 1-3 May 1978.
Turner, David. 1981. The future of applicative languages. In
Proceedings of the 3rd European Conference on Informatics, Lecture
Notes in Computer Science, volume 123. New York: Springer-Verlag, pp.
334--348.
Wand, Mitchell. 1980. Continuation-based program transformation
strategies. Journal of the ACM 27(1):164--180.
Waters, Richard C. 1979. A method for analyzing loop programs.
IEEE Transactions on Software Engineering 5(3):237--247.
Winograd, Terry. 1971. Procedures as a representation for data in a
computer program for understanding natural language. Technical report
AI TR-17, MIT Artificial Intelligence Laboratory.
Winston, Patrick. 1992. Artificial Intelligence. 3rd edition.
Reading, MA: Addison-Wesley.
Zabih, Ramin, David McAllester, and David Chapman. 1987.
Non-deterministic Lisp with dependency-directed backtracking.
AAAI-87, pp. 59--64.
Zippel, Richard. 1979. Probabilistic algorithms for sparse
polynomials. Ph.D. dissertation, Department of Electrical Engineering
and Computer Science, MIT.
Zippel, Richard. 1993. Effective Polynomial Computation.
Boston, MA: Kluwer Academic Publishers.
[ 目次, 前節, 次節, 索引 ]