> frank
>
> On 30 March 2012 14:33, Francisco Garau <
francisco.garau@gmail.com> wrote:
>> No unit tests, sorry...
>>
>> Is not profiling, it's abstract intrepretation using types instead of
>> objects.
>>
>> - Francisco
>>
>>
>> On 30 Mar 2012, at 15:15, Alexandre Bergel <
alexandre.bergel@me.com> wrote:
>>
>> 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
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>