October 31, 2009 in Personal,Research | Comments (0)
Tags: conference, family, holiday, Jasna, peeks, Pola
I’m currently hanging out at my gate in Pearson airport. In a couple hours I’ll be on my way to Paris and tomorrow morning I’ll catch my connecting flight to Amsterdam and then I take the train to Utrecht to see Jasna’s sister, Ana, and her husband, Andre.
Jasna and I aren’t very good with separation, though I think this time went better than most. It could be that it’s a shorter separation this time — five days, in contrast to Jasna’s recent two-month trip — or that we’re too tired from last night’s Hallowe’en party to get as worked up. Maybe we’re just getting better at it, though. It’s not like no tears were shed, but I think we did relatively well.
Unfortunately today my camera battery decided to crap out on me. The upside to this is Jasna lent me her (very awesome) DSLR camera for the trip. I’ll try to keep pictures of blondes down to a minimum. Mostly I’m excited to see Ana and Andre, but I think they’ll be busy most of the time, so I’ll probably venture into Amsterdam at least once to entertain myself. I brought the camera cable with me, so watch my photo gallery in the next day or two for pictures to start appearing.
The conference — and my presentation there — I haven’t thought a whole lot about yet. I’ll have to disappear to Eindhoven, which I think is only about half an hour from Utrecht — but then again maybe everything’s half an hour away from everything in the Netherlands, who knows — and see what’s going on there. I’m fairly excited to see what FOPARA ends up being like since this is the first year the workshop’s being done. I’m especially excited to see the Hume project people, like Kevin Hammond, since I’ve never met any.
I should say there’s still a lot of work that’s going on behind the scenes, work even on what I’m going to present to FOPARA. While I was in Calgary we decided to put in a new typing system based on bunched logics which deals elegantly with a lot of the problems with peeks that we’ve been sorting out in Pola, plus some new features.
I'm currently hanging out at my gate in Pearson airport. In a couple hours I'll be on my way to Paris and tomorrow morning I'll catch my connecting flight to Amsterdam and then I take the train to Utrecht to see Jasna's sister, Ana, and her husband, Andre.
Jasna and I aren't very good with ...
October 7, 2009 in Research | Comments (0)
Tags: algebra, bounds, peeks, Pola
My visit this week to Calgary to work with Brian and Robin is coming to an end and has definitely paid off again. We have another day at least of work ahead of us, but probably not much more real work will get done by then since we still have the FOPARA paper to finish up and get camera ready. But, just in the past couple of days we’ve already made tremendous progress in improving and stabilizing the language. It won’t be too much longer before “core Pola” is finalized.
I should say there was one interesting result that Brian told me about. The peek construct is a unique construct to the language, which allows one to, under some restrictions, break affineness, i.e., allows one to reference a variable multiple times to give the programmer more expressiveness. It’s a delicate business since affineness is what keeps Pola programs polynomial-time, particularly in the context of recursion. As it turns out, if you remove the recursion-symbol restrictions on peeks — allowing recursion within the condition of a peek—but keep the other restrictions on peeks, you exactly capture PSPACE! We demonstrated this by changing just a couple lines of code, allowing recursion, and coding up QSAT to play with. (more…)
My visit this week to Calgary to work with Brian and Robin is coming to an end and has definitely paid off again. We have another day at least of work ahead of us, but probably not much more real work will get done by then since we still have the FOPARA paper to ...
June 17, 2009 in Research | Comments (0)
Tags: bounds, peeks, Pola
My undergraduate supervisor (from the University of Calgary), Robin Cockett, was in town today on a short visit. My two current supervisors, Robin and I spent the entire day in a friendly research meeting. I suppose the biggest benefit was the everyone got to meet each other, but we also covered a lot of ground on Pola and what we should be focusing on.
The first big change is that we’re going to, again, redo peeks and cases. Peeks and cases have long been a problem with Pola and one which is, so far as I know, completely unique to Pola. In a typical functional language, case constructs are no matter at all: you have some datum and you case on it to see what it is (is it an empty list or a non-empty list?) and go on your way. In Pola things are not so neat and tidy: central to the workings of Pola is the idea that often you’re not allowed to reference a variable more than once (lest you break out of polynomial time). This restriction can be waived, very delicately, if you promise to only “peek” at a value but not use it. The distinction between a case (“consuming” a value) and a peek has always been a bit awkward, but also very dangerous to play with if you don’t want to accidentally allow non-polynomial things slipping in. I think we’ve finally figured out a good scheme.
The second big change is discussing how to the bounds inference. This is a huge one because having the compiler infer bounds is, in my mind, the raison d’être for Pola. I’m almost done implementing very loose, clumsy bounds. They’re correct as upper bounds, but they’re so loose as to be nigh useless. There will never be a perfect solution to getting totally tight bounds and I’m becoming increasingly aware that there is a huge trade-off between being able to get tight bounds on things and having to carry around a lot of typing information that allows you to infer those bounds. This is what I’ll be spending most of my time on in the near future.
As for the problem I mentioned last time about having to implement my own polynomial arithmetic: I just rewrote it myself and I’m happy with it. It works and it’s much cleaner than before.
My undergraduate supervisor (from the University of Calgary), Robin Cockett, was in town today on a short visit. My two current supervisors, Robin and I spent the entire day in a friendly research meeting. I suppose the biggest benefit was the everyone got to meet each other, but we also covered a lot of ...