Posts Tagged ‘peeks’

Off to Holland

October 31, 2009 in Personal,Research | Comments (0)

Tags: , , , , ,

I’m cur­rently hanging out at my gate in Pear­son air­port. In a couple hours I’ll be on my way to Paris and tomor­row morn­ing I’ll catch my con­nect­ing flight to Ams­ter­dam and then I take the train to Utrecht to see Jasna’s sis­ter, Ana, and her hus­band, Andre.

Jasna and I aren’t very good with sep­ar­a­tion, though I think this time went bet­ter than most. It could be that it’s a shorter sep­ar­a­tion this time — five days, in con­trast 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 get­ting bet­ter at it, though. It’s not like no tears were shed, but I think we did rel­at­ively well.

Unfor­tu­nately today my cam­era bat­tery decided to crap out on me. The upside to this is Jasna lent me her (very awe­some) DSLR cam­era for the trip. I’ll try to keep pic­tures of blondes down to a min­imum. Mostly I’m excited to see Ana and Andre, but I think they’ll be busy most of the time, so I’ll prob­ably ven­ture into Ams­ter­dam at least once to enter­tain myself. I brought the cam­era cable with me, so watch my photo gal­lery in the next day or two for pic­tures to start appearing.

The con­fer­ence — and my present­a­tion there — I haven’t thought a whole lot about yet. I’ll have to dis­ap­pear to Eind­hoven, 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 Neth­er­lands, 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 espe­cially excited to see the Hume pro­ject people, like Kevin Ham­mond, 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 Cal­gary we decided to put in a new typ­ing sys­tem based on bunched logics which deals eleg­antly with a lot of the prob­lems with peeks that we’ve been sort­ing out in Pola, plus some new features.


Another successful trip to Calgary

October 7, 2009 in Research | Comments (0)

Tags: , , ,

My visit this week to Cal­gary to work with Brian and Robin is com­ing to an end and has def­in­itely paid off again. We have another day at least of work ahead of us, but prob­ably not much more real work will get done by then since we still have the FOPARA paper to fin­ish up and get cam­era ready. But, just in the past couple of days we’ve already made tre­mend­ous pro­gress in improv­ing and sta­bil­iz­ing the lan­guage. It won’t be too much longer before “core Pola” is finalized.

I should say there was one inter­est­ing res­ult that Brian told me about. The peek con­struct is a unique con­struct to the lan­guage, which allows one to, under some restric­tions, break affine­ness, i.e., allows one to ref­er­ence a vari­able mul­tiple times to give the pro­gram­mer more express­ive­ness. It’s a del­ic­ate busi­ness since affine­ness is what keeps Pola pro­grams polynomial-​​time, par­tic­u­larly in the con­text of recur­sion. As it turns out, if you remove the recursion-​​symbol restric­tions on peeks — allow­ing recur­sion within the con­di­tion of a peek—but keep the other restric­tions on peeks, you exactly cap­ture PSPACE! We demon­strated this by chan­ging just a couple lines of code, allow­ing recur­sion, and cod­ing up QSAT to play with. (more…)


Robin’s visit to London

June 17, 2009 in Research | Comments (0)

Tags: , ,

My under­gradu­ate super­visor (from the Uni­ver­sity of Cal­gary), Robin Cock­ett, was in town today on a short visit. My two cur­rent super­visors, Robin and I spent the entire day in a friendly research meet­ing. I sup­pose the biggest bene­fit was the every­one got to meet each other, but we also covered a lot of ground on Pola and what we should be focus­ing on.

The first big change is that we’re going to, again, redo peeks and cases. Peeks and cases have long been a prob­lem with Pola and one which is, so far as I know, com­pletely unique to Pola. In a typ­ical func­tional lan­guage, case con­structs are no mat­ter 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: cent­ral to the work­ings of Pola is the idea that often you’re not allowed to ref­er­ence a vari­able more than once (lest you break out of poly­no­mial time). This restric­tion can be waived, very del­ic­ately, if you prom­ise to only “peek” at a value but not use it. The dis­tinc­tion between a case (“con­sum­ing” a value) and a peek has always been a bit awk­ward, but also very dan­ger­ous to play with if you don’t want to acci­dent­ally allow non-​​polynomial things slip­ping in. I think we’ve finally figured out a good scheme.

The second big change is dis­cuss­ing how to the bounds infer­ence. This is a huge one because hav­ing the com­piler infer bounds is, in my mind, the raison d’être for Pola. I’m almost done imple­ment­ing very loose, clumsy bounds. They’re cor­rect as upper bounds, but they’re so loose as to be nigh use­less. There will never be a per­fect solu­tion to get­ting totally tight bounds and I’m becom­ing increas­ingly aware that there is a huge trade-​​off between being able to get tight bounds on things and hav­ing to carry around a lot of typ­ing inform­a­tion that allows you to infer those bounds. This is what I’ll be spend­ing most of my time on in the near future.

As for the prob­lem I men­tioned last time about hav­ing to imple­ment my own poly­no­mial arith­metic: I just rewrote it myself and I’m happy with it. It works and it’s much cleaner than before.