Ideas for master's thesis
ebugbee at gmail.com
Wed Jun 4 01:41:48 CEST 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
>>> 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
>> 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.)
More information about the Python-list