Talk notes: We Really Don't Know How to Compute! Gerald Sussman 2011


The legendary Professor Sussman of SICP-fame asks us to consider if our current languages are still far too limited and primitive, and if instead of correctness, we should aim for simpler and faster evolution in our programs. My notes on the talk are below, with time-stamps should you want semi-random-access.

Follow-up: Looking online for more information

  • A nice summary: http://lesswrong.com/lw/87t/gerald_jay_sussman_talk_on_computing_extensions/
  • Older article, describing the International Lisp Conference of 2009 where Sussman (first?) gave a talk about propagators and the need for new computing perspectives: http://programming-musings.org/2009/03/29/sussmaniana/
  • Brief mention of Radul and Sussman's paper, The Art of the Propagator on Lambda the Ultimate: http://lambda-the-ultimate.org/node/3250
    • Comments are interesting; Peter van Roy (CTM book author) wonders why the authors seemingly ignored "3 decades" of work on constraints programming.
      • He mentions this survey: "The best survey I know of is the recent Ph.D. dissertation of Guido Tack, which explains both theory and implementation and gives many insights: Constraint Propagation: Models, Techniques, Implementation (Jan. 2009). It explains the issues around concurrency and confluence and much more. It gives the foundation of the state-of-the-art Gecode constraint solving library. There are other good books, by Marriott and Stuckey (1998) and Krzysztof Apt (2003) in particular, but they are less up-to-date."
      • Reply: someone asked Radul/Sussman, and reported back to say that they are taking a very different focus: propagators as the foundation for language design. Whereas others working on constraint systems see those as subordinate to the language, suitable for a library.
        • See also the paper, The Art of the Interpreter which doesn't claim to discover interpreters, but focuses on foundational/essential ideas.
      • A comment by Nada to see Radul's thesis, which does address prior art of constraints-systems. http://dspace.mit.edu/handle/1721.1/49525
  • Discussion of the talk on LtU is extensive: http://lambda-the-ultimate.org/node/4389
    • Large number of comments and debate on type systems.
      • Paul Snively criticizes Sussman a bit, or rather, the idea that type systems are a distraction from advancing in computation, saying that biology is increasingly drawing on mathematics.
        • He recommends the paper Foundations of Inference and E.T. Jaynes' book Probability Theory: The Logic of Science saying that there's no such thing as statistics, only probability.
        • The Jaynes book does get very favorable reviews on Amazon.
    • More comments on how this differs from constraint solving:
      • User vieriro mentions the paper A Survey of Programming Languages and Platforms for Multi-Agent Systems as related.
    • User Jules Jacobs notes that genetic algorithms don't work, per paper by Mitchell, Holland, and Forrest (1994); at least, it's always outperformed by hill-climbing.
    • Kay Schluehr writes:

      When it comes to building "flexible computers" the whole debate about static analysis is misplaced.

      We know already how it works: an unknown LISP programmer came up with a simple solution to a problem in the 1970s at the times when Sussmann was a young guy and now 40 years later everyone in language research flocks on the same problem and proudly presents the "type safe solution". It's a game play and it bores me but I understand the value system of those who play it and accept it. It gives researchers lots of puzzles to solve and they are happy and write papers and the world is fine.

      But it is still a different game than building "flexible machines" which requires intuitions and approaches not much trained in the past decades. I'm sure whatever we'll find will become "type safe" a few decades later or even faster but that's an afterthought. The instruments of exploration are mostly a matter of taste and skill of individual researchers.

  • Clojure version of the propagator: https://github.com/travis/propagator
  • HN discussion: http://news.ycombinator.com/item?id=3163473
    • pyrtsa commented:

      Anybody noticed how closely this, being from the programmer's point of view, is related to what Bret Victor has been talking about from the UI perspective? Take http://worrydream.com/#!/ScrubbingCalculator, or any of the "Kill Math" or "Explorable Xplanations" articles, for an example.

      Combining a good UI to the propagators as explained by Sussman in this video, would make a disruptive product on any field where decision making is needed. (Not like such tools didn't exist already in the hands of some, of course.)

blog comments powered by Disqus