On 26 mars 2013, at 12:05, Frank Shearar wrote:

> On 26 March 2013 10:51, Camille Teruel <[email protected]> wrote:
>> 
>> On 26 mars 2013, at 11:02, Tudor Girba wrote:
>> 
>> I like this project proposal. A little addition would be to add type
>> inference for code written in the inspector where we already have concrete
>> types that we could leverage for development tools. Would you consider that?
>> 
>> 
>> Do you mean that type information could be gathered on object inspection?
>> If so it's a cool idea and the same thing could be done with a debugger.
> 
> As an example, since you know the actual type of all variables and
> method arguments, you can use that information when writing code in
> the debugger: you've just written a message send to some variable but
> that that variable's class doesn't understand that message, for
> instance. (This should be a warning, not an error.)
> 
>> I just didn't want to force the student to develop new type inference
>> mechanisms because some solutions already exist in Pharo.
>> The project is more about making cool tools that use type information
>> provided by an existing solution.
> 
> That includes both Francisco Garau's and Santiago Bragagnolo's work on
> Concrete Type Inference, Roel Wuyt's RoelTyper and my own tiny
> inference engine in SqueakCheck
> (http://www.squeaksource.com/SqueakCheck/ and its ConfigurationOf
> might well need fixing for Pharo).

Thanks Frank, I wasn't aware of your engine, I will have a look on it. 

> 
> frank
> 
>> Doing both tasks would be too much work for one student.
>> However, if the existing solutions don't fit the tool the student wants to
>> develop he is still free to improve them.
>> 
>> 
>> Cheers,
>> Doru
>> 
>> 
>> On Tue, Mar 26, 2013 at 10:51 AM, Camille Teruel <[email protected]>
>> wrote:
>>> 
>>> Hi Janko,
>>> 
>>> Here is another project proposition.
>>> 
>>> Programming tools for Pharo based on Type Inference
>>> 
>>> 
>>> Level: intermediate/advanced
>>> 
>>> Possible mentor: Camille Teruel
>>> Possible second mentor: Stéphane Ducasse
>>> 
>>> Description: Type inference mechanisms can be used to compute the types of
>>> variables from the source code. This information is very interesting in the
>>> context of a dynamically-typed language like Smalltalk. Several type
>>> inference tools already exists for Smalltalk but the type information they
>>> bring has not revealed all its potential yet. The student will have to
>>> leverage this type information with new programming tools.
>>> 
>>> Example of such tools are:
>>> 
>>> Code analysis tools:
>>> 
>>> better "implementors of" and "senders of" lists
>>> dead code finder
>>> 
>>> Development tools:
>>> 
>>> type mismatch hints at compile time
>>> better code completion
>>> 
>>> Technical details:
>>> 
>>> The student will have to analyze existing type inference tools and choose
>>> an appropriate solution. Then he will have to learn how to build UIs with
>>> Spec.
>>> 
>>> Benefits for the Pharo community
>>> 
>>> New useful development tools
>>> Improvement of existing code base thank to these tools
>>> 
>>> Benefits for the student
>>> 
>>> Use a highly reflective dynamic language
>>> Learn the basics of type inference
>>> Learn how to make UIs with Spec
>>> Have an impact on the code base of a large project
>>> 
>>> 
>> 
>> 
>> 
>> --
>> www.tudorgirba.com
>> 
>> "Every thing has its own flow"
>> 
>> 
> 


Reply via email to