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.