No Ifs, Ands, or Buts: Uncovering the Simplicity of Conditionals

  • Jonathan Edwards | MIT CSAIL, Software Design Group

Schematic tables are a new representation for conditionals. Roughly a cross between decision tables and data flow graphs, they represent computation and decision-making orthogonally. They unify the full range of conditional constructs, from if statements through pattern matching to polymorphic predicate dispatch. Program logic is maintained in a declarative canonical form that enforces completeness and disjointness among choices. Schematic tables can be used either as a code specification/generation tool, or as a self-contained diagrammatic programming language. They give program logic the clarity of truth tables, and support high-level direct manipulation of that logic, avoiding much of the mental computation demanded by conventional conditionals.

Speaker Details

Jonathan Edwards is a Research Fellow with the Software Design Group at MIT CSAIL. He co-founded and was CTO of IntraNet Inc. He worked on the type system of the Alloy 3 modeling language. Currently he is working on the non-textual programming language Subtext. His research goal is to better understand the creative act of programming, and to develop languages and tools that facilitate it.

    • Portrait of Jeff Running

      Jeff Running