Summer of Code: Extended Type Inference System for Perl 5

acme on 2005-07-14T09:54:15

The Perl Foundation took part in Google's Summer of Code program and managed to get 8 projects funded. This is the fifth in a series of informal interviews finding out more information about these projects. Up now is Gary Jackson with "Extended Type Inference System for Perl 5".

Hi there! Tell us a bit about yourself, including age, where you are a student and what you are studying
I am 27 and studying Computer Science at the University of Maryland. I'm a degree-seeking graduate student after a five year hiatus from school.

You've had a Google Summer of Code project funded. What will you be doing? How will you be doing this? What's the final product?
I'm extending a type inference system for Perl 5 that I wrote this past Spring to handle aggregate data types, objects, and type qualifiers (if time allows). The idea behind this project is to provide a tool to Perl programmers who wish to use it, not to enforce some stuffy type system on all Perl programmers.

How did you get interested in this topic?
I took a graduate level programming languages course this past Fall, and I took a language-based security class in the Spring. I think some of the tools and techiques we talked about in those classes could help make Perl programs more robust.

Where do you see your project going after this summer?
I plan on writing an academic paper about it and submitting it to conferences and journals. If this project is worthwhile, I could go a long way with it.

Is there any way to track your progress over the next few months? Got a blog?
Not yet, but I'll get one soon.

Did you expect to get funded?
Not really. Mine was an eleventh-hour entry and a bit of a lark. I expected to hear some sort of feedback about my project, but heard none. The acceptance letter was a complete surprise.

Got a silly fact about yourself or the project?
Everyone I tell about the project thinks I'm crazy. To a certain extent, they are right. I do not believe that a sound type system can be written for Perl 5 programs (at least, not useful Perl 5 programs). However, I still think that type inference techniques can catch some meaningful errors at compile time.