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.


Leave a Reply

You can use these XHTML tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>