Ideas for master's thesis

Edward Bugbee ebugbee at gmail.com
Tue Jun 3 19:41:48 EDT 2008


On Jun 3, 2008, at 2:35 PM, Andrii V. Mishkovskyi wrote:

> 2008/6/4 Larry Bugbee <ebugbee at gmail.com>:
>>> I would like to do something with this language, yet
>>> I don't know if there are any needs/science fields, that could be  
>>> used
>>> as a basis for a thesis.
>>
>> Personally, I'd like to see *optional* data typing added to Python
>> perhaps along the lines of what was done in Pyrex.  You declare the
>> data type when you know it, or when it matters, and skip it
>> otherwise.  Your paper could analyze its pros and cons, analyze any
>> potential performance gains, and recommend how to implement it.  Your
>> professor will suggest some additional questions.
>>
>> I suspect, if the type be known and declared, the interpreter could  
>> be
>> streamlined and quicker, you might get asserts for free, and perhaps,
>> Python becomes even more self-documenting.  Perhaps I've missed it,
>> but I haven't seen a strong analytical case made for or against
>> optional data typing.  Your paper?
>
> I think what you are talking about is already implemented in Python
> 3.0 as annotations. Forgive me if I missed your point.

Close.  I haven't followed Python 3 features that closely so had to go  
back and read about annotations.  If my read is correct, annotations  
address only arguments and return values and do not affect runtime  
code.  They are there, principally, for documentation and library  
argument checking purposes.  That's a start.

In addition to arguments, I'd like the ability to optionally declare  
the types for local and global variables, and going beyond doc and  
external lib checking, I'd like to see the declarations affect the  
compilation, potentially sidestepping runtime type checking.  I  
suspect performance could be improved if the intrepreter could make  
some assumptions and not have to check type and every time.  But, that  
is a guess on my part and a paper doing a deeper analysis might prove  
or disprove the hypothesis.  (A good analysis would be non-trivial  
which is why I'm thinking it could be a good Master's Project/Thesis.)

Larry



More information about the Python-list mailing list