[Pharo-project] type-inference: it works!

Alexandre Bergel alexandre.bergel at me.com
Fri Mar 30 10:15:11 EDT 2012


Hi Francisco,

I've tried your implementation. It seems to work in Pharo 1.4. Do you have unit test somewhere?
How does your profiler work? From what you have said in your email, it seems you are profiling the execution. Is that true?

Cheers,
Alexandre


On 29 Mar 2012, at 18:47, Francisco Garau wrote:

> Load the attached ChangeSets: first Ti-Engine and then Ti-Support.
> 
> You could then evaluate the below expressions -- watch the Transcript to see which methods are being analysed. 
> 
> TiSystem current reset. 
> string := '3 + 4'. 
> Compiler new analyze: string in: nil to: nil notifying: nil ifFail: [1]. 
> "=> return {<SmallInteger>} "
> 
> TiSystem current reset. 
> string := 'Display boundingBox'. 
> Compiler new analyze: string in: nil to: nil notifying: nil ifFail: [1].  
> "=> return {<Rectangle origin: <Point x: <SmallInteger> y: <SmallInteger>> corner: <Point x: <SmallInteger> y: <SmallInteger>>>}" 
> 
> TiSystem current explore. 
> 
> Analysing 'Display boundingBox' shows a couple of surprises: 
> The code never goes through the #new method (it creates objects using #basicNew and #@)
> Object code goes through Object>>value but knowing that the implementation just answers self, it could be easily optimised. 
> 
> I will try to package it more nicely under Monticello -- there are still a few rough edges that need to be polished before getting it to the same state it was in 2001...
> 
> Cheers, 
> Francisco 
> <Ti-Engine.2.cs><Ti-Support.2.cs>

-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20120330/f53495eb/attachment-0001.html>


More information about the Pharo-dev mailing list