6.945 | Spring 2009 | Graduate

Adventures in Advanced Symbolic Programming

Calendar

List of Topics

1. Additive systems

  • Ideas
    • Generic operations
      • Additivity
      • Danger/paranoid programming style
      • Translucency
    • Language layers
      • Implicit and explicit features
      • Emulation
      • Embedding
    • Pattern-directed invocation
      • Rule systems
      • Term rewriting
  • Applications
    • Algebra, calculus, differential geometry
    • Peephole optimization
  • Implementation
    • Combinators
    • Continuation procedures
    • Dependencies and provenance
  • Mechanisms
    • Arbitrary association
    • Interpretation
    • Compilation
    • Matching and instantiation
    • Unification

2. Searching

  • Ideas
    • Separating generation and test
    • Amb and backtracking
  • Applications
    • Puzzles
    • Games
  • Implementation
    • Control of meaning of time
    • Concurrency
    • Indeterminacy
    • Memoization
  • Mechanisms
    • Continuations
    • Dependency-directed backtracking

3. Propagation systems

  • Ideas
    • The problem with expressions
    • Partial information
    • Constraints
    • Multiple inconsistent worldviews
      • Alternate sets of assumptions
      • Local consistency with global inconsistency
  • Applications
    • Modeling
    • Electrical analysis/synthesis
    • Accountability, social structure models
  • Implementation
    • Cells and propagators
    • Generic merge
  • Mechanisms
    • Truth maintenance systems
    • SAT solving interleaved with computation

4. Push and pull

  • Strict and non-strict
  • Values and requests
  • Underlying continuations

Course Info

As Taught In
Spring 2009
Level
Learning Resource Types
Problem Sets
Projects