# 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