1. 10

This seems like a nice discussion of bi-directional programming, something I think folks here have expressed some interest in.

  1.  

  2. 3

    I shouldn’t really comment after such an abbreviated read of it…. but my response after a quick scan was, “Yup. That’s going to be really really hard to get right. Which is why everybody cheats and does something like Model View Controller instead.”

    1. 1

      I agree that the two aspects of the approach are:

      • A lot of ways to interpret the idea, many of which are going to conflict with each other.
      • Very hard to do even a single interpretation correctly and without serious time issues.

      But I still think the idea is appealing because it promises general solutions to many problem.

    2. 2

      This was a really impressive piece, though that’s no surprise because the author, Benjamin C. Pierce, is an enormous name in type theory. I’ve been working on (and dreaming about… mostly the dreaming) a system that’s eventually going to need something much like this, and having this tour of the design space is very useful.

      I can certainly see how it probably sounds very abstract and low-payoff. Pierce outlines a few different applications for it; mine will someday be a structure editor working on arbitrary data formats given a schema and a stylesheet for each, which is not far from what he’s focusing on, although he talks primarily about formats that are already self-describing, such as XML and JSON ones.

      I’d like to say more here to add value, but I guess there really isn’t a lot. If this sounds at all interesting to you, it’s well worth the read; if it doesn’t, it’s probably going to seem unmotivated and confusing. :)