Jason (jcreed) wrote,

In class this morning, Karl finished discussion of CPS conversion, and topped it off with an explanation of how you get callcc and exceptions on the cheap with that technique. I had seen how you get callcc before, but I was taken aback by how lovely exceptions turn out.

Over lunch spoons and wjl and I chatted about something I think subpar was working on a while ago. The idea is that if you want to encourage people to donate money to a project that will only succeed with a rather large investment in it, and which can't help but benefit even freeloaders that didn't donate, then offer the following deal: a person may commit $X, and if a certain threshold of commitment is reached, say $T, then the project is funded with all committed money. Otherwise, every committer receives back $(1 + ε)X. The person running the project risks $εT, but if every agent in the system is rational in a sort of minimaxing sense, then they will each commit $W/(1+ε) to the project, where $W is what it is actually worth in utility to each agent. Thus if the actual value to the community of the project is at least (1 + ε) times its cost, then it will be built.

Also we talked about random web stuff - spoons wanted something that would help people who travel a lot (to conferences, vacations, whatever) automate knowing when they are in the same city as friends of theirs who also travel a lot.

During the afternoon I read some papers about pattern compilation, and started hacking on a little pattern compiler myself. Played some piano at the William Pitt union, went to D's for hot dogs. Turnout was very high --- ofsusan and lincoln3 and Anthony Rowe, Cathy and Spoons, all the Dalzell folks and Steve, Lisa, and the other Jason. Good times.

After I got back I hacked on the pattern compiler some more, and what surprises me is that it seems to actually work, and it's not really that complicated. I have tuple patterns and slightly-suboptimal case patterns, in that I haven't got anything but two-way constructor tests working yet. However, the framework is all there to make it work. It makes me wonder if I am doing something seriously unambitious by accident, since this is supposed to be a final project for the class. It's really cute, though, the way it's working right now; with exhaustivity checking --- pretty much for free --- I get counterexamples when the match fails to be exhaustive, and redundancy checking should be easy.
Tags: classes, economics, homework, social, web

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 1 comment