Recursive functions of symbolic expressions and their computation by machine, Part I
1960/04/01 by John McCarthy · 1,374 citations
Computer Science · Mathematics · #Cellular Automata and Applications #Citation #Computation #Computer science #Evolutionary Algorithms and Applications #Logic, programming, and type systems #Mathematics #Programming language #Symbolic computation #World Wide Web
paper · pdf · doi:10.1145/367177.367199
published in Communications of the ACM 3(4), 184-195 (Association for Computing Machinery)
openalex publication_date 1960/04/01 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/21
Abstract
A programming system called LISP (for LISt Processor) has been developed for the IBM 704 computer by the Artificial Intelligence group at M.I.T. The system was designed to facilitate experiments with a proposed system called the Advice Taker, whereby a machine could be instructed to handle declarative
Cited by
- Can programming be liberated from the von Neumann style?
- Computing with Hereditarily Finite Sequences
- Evolution of Emacs Lisp
- LaForge: Always-Correct and Fast Incremental Builds from Simple\n Specifications
- Semantic Hypergraphs
- Hey Pentti, We Did (More of) It!: A Vector-Symbolic Lisp With Residue Arithmetic
- GPU-based track-finding for the J-PARC muon g-2/EDM experiment
- Revisiting Elementary Denotational Semantics
- The development of computational methods for Feynman diagrams
- Pantograph: A Fluid and Typed Structure Editor
- Hey Pentti, We Did It!: A Fully Vector-Symbolic Lisp
- Solar forecasting methods for renewable energy integration
- Bringing Algebraic Hierarchical Decompositions to Concatenative Functional Languages
- The Design Principles of the Elixir Type System
- 2500 years of going meta: from Aristotle to SysML v2
- The Design and Algorithms of a Verification Condition Generator
- Comparative Analysis of Classic Garbage-Collection Algorithms for a Lisp-like Language
- A Lambda Calculus for Quantum Computation
- Advancing SLM Tool-Use Capability using Reinforcement Learning
- Incremental Computation: What Is the Essence?
- Josephine: Using JavaScript to safely manage the lifetimes of Rust data
- Bit-Blasting ACL2 Theorems
- Views: a hardware-friendly graph database model for storing semantic information
- Early LISP history (1956 - 1959)
- Executable Archaeology: Reanimating the Logic Theorist from its IPL-V Source
- Down for the count? Getting reference counting back in the ring
- JEFL: Joint Embedding of Formal Proof Libraries
- General Mathematical Proof of Occam's Razor; Upgrading Theoretical Physicists' Methodology
- Monetary Macro Accounting Theory
- Perspectives and Ethics of the Autonomous Artificial Thinking Systems
- From Tool Calling to Symbolic Thinking: LLMs in a Persistent Lisp Metaprogramming Loop
- Deep Generation of Coq Lemma Names Using Elaborated Terms
- A history of Haskell
- Multiverse: Your Language Models Secretly Decide How to Parallelize and Merge Generation
- On Integrating Deductive Synthesis and Verification Systems
- A Benchmark Dataset for Graph Regression with Homogeneous and Multi-Relational Variants
- Law of Excluded Quantum Gambling Strategies
- Ezhil: A Tamil Programming Language
- The Mysteries of Lisp -- I: The Way to S-expression Lisp
- Axioms and Theorems for a Theory of Arrays
- Programming with time
- Everything old is new again: Quoted Domain Specific Languages
- Measure, Manifold, Learning, and Optimization: A Theory Of Neural Networks
- Podracer architectures for scalable Reinforcement Learning
- Declarativeness: the work done by something else
- Computer science as empirical inquiry
- The emperor's old clothes
- Classes of recursive functions based on Ackermann’s function
- How Computers Work: Computational Thinking for Everyone
- Three Paradigms of Computer Science
- Very concurrent mark-&-sweep garbage collection without fine-grain synchronization
- A brief history of just-in-time
- An overview of COMMON LISP
- An efficient machine-independent procedure for garbage collection in various list structures
- Definitional interpreters for higher-order programming languages
- Uniprocessor garbage collection techniques
- The Main Features of CPL
- Conception, evolution, and application of functional programming languages
- The Mechanical Evaluation of Expressions
- Thinking about computational thinking
- Computer Languages for Symbol Manipulation
- The Nature of Computation
- Chapter 5 Dynamically Typed Languages
- Structured Programming with go to Statements
- Debunking the “expensive procedure call” myth or, procedure call implementations considered harmful or, LAMBDA
- An Intensional Concurrent Faithful Encoding of Turing Machines
- Pathological Cases for a Class of Reachability-Based Garbage Collectors
- Pel, A Programming Language for Orchestrating AI Agents
- CAR and CDR [wikipedia]
- Functional programming [wikipedia]
- Linked list [wikipedia]
- McCarthy Formalism [wikipedia]
- XRate: a fast prototyping, training and annotation tool for phylo-grammars. [europepmc]
- A formal mathematical framework for physiological observations, experiments and analyses. [europepmc]
- Computational science: shifting the focus from tools to models. [europepmc]
- Pattern activation/recognition theory of mind. [europepmc]
- Enabling External Inquiries to an Existing Patient Registry by Using the Open Source Registry System for Rare Diseases: Demonstration of the System Using the European Society for Immunodeficiencies Registry. [europepmc]
- A Genetic Programming-Based Low-Level Instructions Robot for Realtimebattle. [europepmc]
- Advancements in Microprocessor Architecture for Ubiquitous AI-An Overview on History, Evolution, and Upcoming Challenges in AI Implementation. [europepmc]
- A Robust Design-Based Expert System for Feature Selection and COVID-19 Pandemic Prediction in Japan. [europepmc]
- Principled Limitations on Self-Representation for Generic Physical Systems. [europepmc]
- AI generations: from AI 1.0 to AI 4.0. [europepmc]
- Deep Generation of Coq Lemma Names Using Elaborated Terms [europepmc]
Related