Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 3 participants
- 144622 messages
[Pharo-project] flyover help
by Francisco Garau
Hi - the bounding rectangle of the flyover help is not big enough and
always causing the last letter to show on a second line.
If nobody has reported it, I'll try to fix it.
Any pointers are appreciated.
- Francisco
April 25, 2012
Re: [Pharo-project] PetitSmalltalk: now with a self-contained grammar for number literals
by Levente Uzonyi
On Wed, 25 Apr 2012, Frank Shearar wrote:
> On 25 April 2012 21:11, Levente Uzonyi <leves(a)elte.hu> wrote:
>> On Fri, 20 Apr 2012, Frank Shearar wrote:
>>
>>> On 20 April 2012 03:51, Levente Uzonyi <leves(a)elte.hu> wrote:
>>>>
>>>> On Thu, 19 Apr 2012, Frank Shearar wrote:
>>>>
>>>>> I found a serious bug in parsing numbers with negative exponents. It
>>>>> was completey broken, in fact, parsing 1e-1 as 10, not 1 / 10. Anyway.
>>>>> This version fixes that, and adds a bunch of tests demonstrating that
>>>>> number parsing will return rationals if it can.
>>>>>
>>>>> It's significantly slower than Squeak's SqNumberParser:
>>>>>
>>>>> Time millisecondsToRun: [100000 timesRepeat: [SqNumberParser parse:
>>>>> '1234567890']] => 466
>>>>>
>>>>> Time millisecondsToRun: [100000 timesRepeat: [PPSmalltalkNumberParser
>>>>> parse: '1234567890']] => 32082
>>>>>
>>>>> I've attached a MessageTally spying on the latter: I've not much skill
>>>>> in reading these, but nothing leaps out at me as being obviously
>>>>> awful.
>>>>
>>>>
>>>>
>>>> Didn't check the code, just the tally, and I think that
>>>> PPSmalltalkNumberParser(PPSmalltalkNumberGrammar)>>digitsBase: is begging
>>>> for optimization. It's probably also the cause of the high amount of
>>>> garbage
>>>> which causes significant amount of time spent with garbage collection.
>>>> It's also interesting is that the finalization process does so much work,
>>>> there may be something wrong with your image.
>>>
>>>
>>> Thanks for taking a look, Levente.
>>>
>>> I'd expect digitsBase: to dominate the running costs, given that we're
>>> parsing numbers.
>>
>>
>> I finally checked the code and there's plenty of space for optimization.
>> Note that the code can't be loaded into Squeak, because there's an invalid
>> symbol #__gen__binding, and some methods with nil category.
>
> Indeed: you might recall I've mentioned some incompatibilities between
> Pharo and Squeak where PetitParser is concerned: Symbol >> isBinary
> doesn't exist, you MUST have Scanner prefAllowUnderscoreSelectors:
> true and Scanner allowUnderscoreAsAssignment: false, you need to
> fiddle with RB so you can load AST-Core and AST-Compiler, and so on.
> It's _possible_ (I wrote/am writing the number grammar in a Squeak
> image), and once I've addressed _this_ incompatibility, I'll address
> the others!
>
>>> I do make a large number of throwaway "immutable" values with a
>>> Builder-like pattern... in PPSmalltalkNumberParser >>
>>> #makeNumberFrom:base:. That, I would imagine, could explain the
>>> garbage?
>>
>>
>> The current garbage collector is not optimal for large images and large
>> amount of garbage, so you should try avoid creating it in performance
>> critial parts of your code.
>
> I foolishly forgot to add the message tally. You'll notice the absence
> of the weak finalization process: that might have been because the
> image predated the recent weak finalization thrashing fix.
I'm using Eliot's VMs and those don't include Igor's patch.
Levente
>
> frank
>
>>> If I may, what do you look for when reading the MessageTally? How do
>>> you tell, for instance, that there's excessive garbage production?
>>
>>
>> In your tally GC time was 20% of total time and another 20% for the
>> finalization process. These numbers should be much lower, usually less than
>> 1%.
>>
>>
>>> That the incremental GCs take 7ms? (I'm reading Andreas' comments on
>>> http://wiki.squeak.org/squeak/4210 again.)
>>
>>
>> 7ms for an incremental GC is also a bit high, it should be around 1-2ms.
>>
>>
>> Levente
>>
>>
>>>
>>> frank
>>>
>>>> Levente
>>>>
>>>>
>>>>>
>>>>> frank
>>>>>
>>>>> On 14 September 2011 20:26, Frank Shearar <frank.shearar(a)gmail.com>
>>>>> wrote:
>>>>>>
>>>>>>
>>>>>> On 3 September 2011 19:35, Nicolas Cellier
>>>>>> <nicolas.cellier.aka.nice(a)gmail.com> wrote:
>>>>>>>
>>>>>>>
>>>>>>> 2011/9/3 Frank Shearar <frank.shearar(a)gmail.com>:
>>>>>>>>
>>>>>>>>
>>>>>>>> On 3 September 2011 18:50, Lukas Renggli <renggli(a)gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I think it is a good idea to have the number parser separate, after
>>>>>>>>> all it might also make sense to use it separately.
>>>>>>>>>
>>>>>>>>> It seems that the new Smalltalk grammar is significantly slower. The
>>>>>>>>> benchmark PPSmalltalkClassesTests class>>#benchmark: that uses the
>>>>>>>>> source code of the collection hierarchy and does not especially
>>>>>>>>> target
>>>>>>>>> number literals runs 30% slower.
>>>>>>>>>
>>>>>>>>> Also I see that "Number readFrom: ..." is still used within the
>>>>>>>>> grammar. This seems to be a bit strange, no?
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Yes: it's a double-parse, which is a bit lame. First, we parse the
>>>>>>>> literal with PPSmalltalkNumberParser, which ensures that the thing
>>>>>>>> given to Number class >> #readFrom: is a well-formed token (so, in
>>>>>>>> particular, Squeak's Number doesn't get to see anything other than a
>>>>>>>> well-formed token).
>>>>>>>>
>>>>>>>> It sounds like you're happy with the basic concept, so maybe I should
>>>>>>>> remove the Number class >> #readFrom: stuff, see if I can't remove
>>>>>>>> the
>>>>>>>> performance issues, and resubmit the patch.
>>>>>>>>
>>>>>>>> frank
>>>>>>>>
>>>>>>>
>>>>>>> Yes, a NumberParser is essentially parsing, and this duplication
>>>>>>> sounds
>>>>>>> useless.
>>>>>>> The main feature of interest in NumberParser that I consider a
>>>>>>> requirement and should find its equivalence in a PetitNumberParser is:
>>>>>>> - round a decimal representation to nearest Float
>>>>>>> It's simple, just convert a Fraction asFloat in a single final step to
>>>>>>> avoid cumulating round off errors - see
>>>>>>> #makeFloatFromMantissa:exponent:base:
>>>>>>>
>>>>>>> The second feature of interest in NumberParser is the ability to
>>>>>>> parser LargeInteger efficiently by avoiding (10 * largeValue +
>>>>>>> digitValue) loops, and replacing them with a log(n) cost.
>>>>>>> This would be a simple thing to implement in a functional language.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Hopefully this won't offend your sensibilities too much :). It does,
>>>>>> in fact, use 10* loops - I wrote an experimental "front half * rear
>>>>>> half" recursion, which was slower in my benchmarks.
>>>>>>
>>>>>> This version has the grammar and parser doing no string->number
>>>>>> conversion at all. PPSmalltalkNumberMaker supplies a number of utility
>>>>>> methods designed to stop one from making malformed numbers. It also
>>>>>> supplies a builder interface that the parser uses to construct
>>>>>> numbers.
>>>>>>
>>>>>> frank
>>>>>>
>>>>>>> Nicolas
>>>>>>>
>>>>>>>>> Lukas
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 3 September 2011 17:18, Frank Shearar <frank.shearar(a)gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 3 September 2011 15:56, Lukas Renggli <renggli(a)gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 3 September 2011 16:51, Frank Shearar <frank.shearar(a)gmail.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Hi Lukas,
>>>>>>>>>>>>
>>>>>>>>>>>> I haven't :) mainly because I'm unsure where to put it - is there
>>>>>>>>>>>> perhaps a PP Inbox, or shall I just post the merged version, or
>>>>>>>>>>>> what's
>>>>>>>>>>>> your preference? (How about an mcd between my merge and PP's
>>>>>>>>>>>> head?)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Just put the .mcz at some public URL (dropbox, squeak source, ...)
>>>>>>>>>>> or
>>>>>>>>>>> attach it to a mail.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Ah, great - here it is. You'll see I've written the grammar as a
>>>>>>>>>> separate class. That was really more to make what I'd done more
>>>>>>>>>> obvious and to minimise the change to PPSmalltalkGrammar, but
>>>>>>>>>> perhaps
>>>>>>>>>> it's not a bad idea anyway: it's easy to see the number literal
>>>>>>>>>> subgrammar.
>>>>>>>>>>
>>>>>>>>>> frank
>>>>>>>>>>
>>>>>>>>>>> Lukas
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Lukas Renggli
>>>>>>>>>>> www.lukas-renggli.ch
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Lukas Renggli
>>>>>>>>> www.lukas-renggli.ch
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>>>
>>>
>>>
>>
>
April 25, 2012
Re: [Pharo-project] PetitSmalltalk: now with a self-contained grammar for number literals
by Levente Uzonyi
On Wed, 25 Apr 2012, Eliot Miranda wrote:
>
>
> On Wed, Apr 25, 2012 at 1:11 PM, Levente Uzonyi <leves(a)elte.hu> wrote:
> On Fri, 20 Apr 2012, Frank Shearar wrote:
>
> On 20 April 2012 03:51, Levente Uzonyi <leves(a)elte.hu> wrote:
> On Thu, 19 Apr 2012, Frank Shearar wrote:
>
> I found a serious bug in parsing numbers with negative exponents. It
> was completey broken, in fact, parsing 1e-1 as 10, not 1 / 10. Anyway.
> This version fixes that, and adds a bunch of tests demonstrating that
> number parsing will return rationals if it can.
>
> It's significantly slower than Squeak's SqNumberParser:
>
> Time millisecondsToRun: [100000 timesRepeat: [SqNumberParser parse:
> '1234567890']] => 466
>
> Time millisecondsToRun: [100000 timesRepeat: [PPSmalltalkNumberParser
> parse: '1234567890']] => 32082
>
> I've attached a MessageTally spying on the latter: I've not much skill
> in reading these, but nothing leaps out at me as being obviously
> awful.
>
>
>
> Didn't check the code, just the tally, and I think that
> PPSmalltalkNumberParser(PPSmalltalkNumberGrammar)>>digitsBase: is begging
> for optimization. It's probably also the cause of the high amount of garbage
> which causes significant amount of time spent with garbage collection.
> It's also interesting is that the finalization process does so much work,
> there may be something wrong with your image.
>
>
> Thanks for taking a look, Levente.
>
> I'd expect digitsBase: to dominate the running costs, given that we're
> parsing numbers.
>
>
> I finally checked the code and there's plenty of space for optimization. Note that the code can't be loaded into Squeak, because there's an invalid
> symbol #__gen__binding, and some methods with nil category.
>
>
> I do make a large number of throwaway "immutable" values with a
> Builder-like pattern... in PPSmalltalkNumberParser >>
> #makeNumberFrom:base:. That, I would imagine, could explain the
> garbage?
>
>
> The current garbage collector is not optimal for large images and large amount of garbage, so you should try avoid creating it in performance
> critial parts of your code.
>
>
> If I may, what do you look for when reading the MessageTally? How do
> you tell, for instance, that there's excessive garbage production?
>
>
> In your tally GC time was 20% of total time and another 20% for the finalization process. These numbers should be much lower, usually less than 1%.
>
> That the incremental GCs take 7ms? (I'm reading Andreas' comments on
> http://wiki.squeak.org/squeak/4210 again.)
>
>
> 7ms for an incremental GC is also a bit high, it should be around 1-2ms.
>
>
> Careful. Â Absolute GC times (as any run-time) depend on the machine. Â On a slow machine GC runs slow...
Of course, but the incremental GC is intended to be fast enough to
be unnoticable even during audio playback, so it shouldn't take more than
1-2ms on a slower system.
Levente
> Â
>
>
>
> Levente
>
>
> frank
>
> Levente
>
>
>
> frank
>
> On 14 September 2011 20:26, Frank Shearar <frank.shearar(a)gmail.com> wrote:
>
> On 3 September 2011 19:35, Nicolas Cellier
> <nicolas.cellier.aka.nice(a)gmail.com> wrote:
>
> 2011/9/3 Frank Shearar <frank.shearar(a)gmail.com>:
>
> On 3 September 2011 18:50, Lukas Renggli <renggli(a)gmail.com> wrote:
>
> I think it is a good idea to have the number parser
> separate, after
> all it might also make sense to use it separately.
>
> It seems that the new Smalltalk grammar is significantly
> slower. The
> benchmark PPSmalltalkClassesTests class>>#benchmark: that
> uses the
> source code of the collection hierarchy and does not
> especially target
> number literals runs 30% slower.
>
> Also I see that "Number readFrom: ..." is still used
> within the
> grammar. This seems to be a bit strange, no?
>
>
>
> Yes: it's a double-parse, which is a bit lame. First, we parse the
> literal with PPSmalltalkNumberParser, which ensures that the thing
> given to Number class >> #readFrom: is a well-formed token (so, in
> particular, Squeak's Number doesn't get to see anything other than a
> well-formed token).
>
> It sounds like you're happy with the basic concept, so maybe I should
> remove the Number class >> #readFrom: stuff, see if I can't remove the
> performance issues, and resubmit the patch.
>
> frank
>
>
> Yes, a NumberParser is essentially parsing, and this duplication sounds
> useless.
> The main feature of interest in NumberParser that I consider a
> requirement and should find its equivalence in a PetitNumberParser is:
> - round a decimal representation to nearest Float
> It's simple, just convert a Fraction asFloat in a single final step to
> avoid cumulating round off errors - see
> #makeFloatFromMantissa:exponent:base:
>
> The second feature of interest in NumberParser is the ability to
> parser LargeInteger efficiently by avoiding (10 * largeValue +
> digitValue) loops, and replacing them with a log(n) cost.
> This would be a simple thing to implement in a functional language.
>
>
>
> Hopefully this won't offend your sensibilities too much :). It does,
> in fact, use 10* loops - I wrote an experimental "front half * rear
> half" recursion, which was slower in my benchmarks.
>
> This version has the grammar and parser doing no string->number
> conversion at all. PPSmalltalkNumberMaker supplies a number of utility
> methods designed to stop one from making malformed numbers. It also
> supplies a builder interface that the parser uses to construct
> numbers.
>
> frank
>
> Nicolas
>
> Lukas
>
>
> On 3 September 2011 17:18, Frank Shearar
> <frank.shearar(a)gmail.com>
> wrote:
>
> On 3 September 2011 15:56, Lukas Renggli
> <renggli(a)gmail.com> wrote:
>
> On 3 September 2011 16:51, Frank
> Shearar <frank.shearar(a)gmail.com>
> wrote:
>
> Hi Lukas,
>
> I haven't :) mainly
> because I'm unsure
> where to put it - is
> there
> perhaps a PP Inbox, or
> shall I just post the
> merged version, or
> what's
> your preference? (How
> about an mcd between
> my merge and PP's
> head?)
>
>
>
> Just put the .mcz at some public
> URL (dropbox, squeak source, ...)
> or
> attach it to a mail.
>
>
>
> Ah, great - here it is. You'll see I've
> written the grammar as a
> separate class. That was really more to make
> what I'd done more
> obvious and to minimise the change to
> PPSmalltalkGrammar, but perhaps
> it's not a bad idea anyway: it's easy to see
> the number literal
> subgrammar.
>
> frank
>
> Lukas
>
> --
> Lukas Renggli
> www.lukas-renggli.ch
>
>
>
>
>
>
> --
> Lukas Renggli
> www.lukas-renggli.ch
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> --
> best,Eliot
>
>
>
April 25, 2012
Re: [Pharo-project] PetitSmalltalk: now with a self-contained grammar for number literals
by Frank Shearar
On 25 April 2012 21:11, Levente Uzonyi <leves(a)elte.hu> wrote:
> On Fri, 20 Apr 2012, Frank Shearar wrote:
>
>> On 20 April 2012 03:51, Levente Uzonyi <leves(a)elte.hu> wrote:
>>>
>>> On Thu, 19 Apr 2012, Frank Shearar wrote:
>>>
>>>> I found a serious bug in parsing numbers with negative exponents. It
>>>> was completey broken, in fact, parsing 1e-1 as 10, not 1 / 10. Anyway.
>>>> This version fixes that, and adds a bunch of tests demonstrating that
>>>> number parsing will return rationals if it can.
>>>>
>>>> It's significantly slower than Squeak's SqNumberParser:
>>>>
>>>> Time millisecondsToRun: [100000 timesRepeat: [SqNumberParser parse:
>>>> '1234567890']] => 466
>>>>
>>>> Time millisecondsToRun: [100000 timesRepeat: [PPSmalltalkNumberParser
>>>> parse: '1234567890']] => 32082
>>>>
>>>> I've attached a MessageTally spying on the latter: I've not much skill
>>>> in reading these, but nothing leaps out at me as being obviously
>>>> awful.
>>>
>>>
>>>
>>> Didn't check the code, just the tally, and I think that
>>> PPSmalltalkNumberParser(PPSmalltalkNumberGrammar)>>digitsBase: is begging
>>> for optimization. It's probably also the cause of the high amount of
>>> garbage
>>> which causes significant amount of time spent with garbage collection.
>>> It's also interesting is that the finalization process does so much work,
>>> there may be something wrong with your image.
>>
>>
>> Thanks for taking a look, Levente.
>>
>> I'd expect digitsBase: to dominate the running costs, given that we're
>> parsing numbers.
>
>
> I finally checked the code and there's plenty of space for optimization.
> Note that the code can't be loaded into Squeak, because there's an invalid
> symbol #__gen__binding, and some methods with nil category.
Indeed: you might recall I've mentioned some incompatibilities between
Pharo and Squeak where PetitParser is concerned: Symbol >> isBinary
doesn't exist, you MUST have Scanner prefAllowUnderscoreSelectors:
true and Scanner allowUnderscoreAsAssignment: false, you need to
fiddle with RB so you can load AST-Core and AST-Compiler, and so on.
It's _possible_ (I wrote/am writing the number grammar in a Squeak
image), and once I've addressed _this_ incompatibility, I'll address
the others!
>> I do make a large number of throwaway "immutable" values with a
>> Builder-like pattern... in PPSmalltalkNumberParser >>
>> #makeNumberFrom:base:. That, I would imagine, could explain the
>> garbage?
>
>
> The current garbage collector is not optimal for large images and large
> amount of garbage, so you should try avoid creating it in performance
> critial parts of your code.
I foolishly forgot to add the message tally. You'll notice the absence
of the weak finalization process: that might have been because the
image predated the recent weak finalization thrashing fix.
frank
>> If I may, what do you look for when reading the MessageTally? How do
>> you tell, for instance, that there's excessive garbage production?
>
>
> In your tally GC time was 20% of total time and another 20% for the
> finalization process. These numbers should be much lower, usually less than
> 1%.
>
>
>> That the incremental GCs take 7ms? (I'm reading Andreas' comments on
>> http://wiki.squeak.org/squeak/4210 again.)
>
>
> 7ms for an incremental GC is also a bit high, it should be around 1-2ms.
>
>
> Levente
>
>
>>
>> frank
>>
>>> Levente
>>>
>>>
>>>>
>>>> frank
>>>>
>>>> On 14 September 2011 20:26, Frank Shearar <frank.shearar(a)gmail.com>
>>>> wrote:
>>>>>
>>>>>
>>>>> On 3 September 2011 19:35, Nicolas Cellier
>>>>> <nicolas.cellier.aka.nice(a)gmail.com> wrote:
>>>>>>
>>>>>>
>>>>>> 2011/9/3 Frank Shearar <frank.shearar(a)gmail.com>:
>>>>>>>
>>>>>>>
>>>>>>> On 3 September 2011 18:50, Lukas Renggli <renggli(a)gmail.com> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> I think it is a good idea to have the number parser separate, after
>>>>>>>> all it might also make sense to use it separately.
>>>>>>>>
>>>>>>>> It seems that the new Smalltalk grammar is significantly slower. The
>>>>>>>> benchmark PPSmalltalkClassesTests class>>#benchmark: that uses the
>>>>>>>> source code of the collection hierarchy and does not especially
>>>>>>>> target
>>>>>>>> number literals runs 30% slower.
>>>>>>>>
>>>>>>>> Also I see that "Number readFrom: ..." is still used within the
>>>>>>>> grammar. This seems to be a bit strange, no?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Yes: it's a double-parse, which is a bit lame. First, we parse the
>>>>>>> literal with PPSmalltalkNumberParser, which ensures that the thing
>>>>>>> given to Number class >> #readFrom: is a well-formed token (so, in
>>>>>>> particular, Squeak's Number doesn't get to see anything other than a
>>>>>>> well-formed token).
>>>>>>>
>>>>>>> It sounds like you're happy with the basic concept, so maybe I should
>>>>>>> remove the Number class >> #readFrom: stuff, see if I can't remove
>>>>>>> the
>>>>>>> performance issues, and resubmit the patch.
>>>>>>>
>>>>>>> frank
>>>>>>>
>>>>>>
>>>>>> Yes, a NumberParser is essentially parsing, and this duplication
>>>>>> sounds
>>>>>> useless.
>>>>>> The main feature of interest in NumberParser that I consider a
>>>>>> requirement and should find its equivalence in a PetitNumberParser is:
>>>>>> - round a decimal representation to nearest Float
>>>>>> It's simple, just convert a Fraction asFloat in a single final step to
>>>>>> avoid cumulating round off errors - see
>>>>>> #makeFloatFromMantissa:exponent:base:
>>>>>>
>>>>>> The second feature of interest in NumberParser is the ability to
>>>>>> parser LargeInteger efficiently by avoiding (10 * largeValue +
>>>>>> digitValue) loops, and replacing them with a log(n) cost.
>>>>>> This would be a simple thing to implement in a functional language.
>>>>>
>>>>>
>>>>>
>>>>> Hopefully this won't offend your sensibilities too much :). It does,
>>>>> in fact, use 10* loops - I wrote an experimental "front half * rear
>>>>> half" recursion, which was slower in my benchmarks.
>>>>>
>>>>> This version has the grammar and parser doing no string->number
>>>>> conversion at all. PPSmalltalkNumberMaker supplies a number of utility
>>>>> methods designed to stop one from making malformed numbers. It also
>>>>> supplies a builder interface that the parser uses to construct
>>>>> numbers.
>>>>>
>>>>> frank
>>>>>
>>>>>> Nicolas
>>>>>>
>>>>>>>> Lukas
>>>>>>>>
>>>>>>>>
>>>>>>>> On 3 September 2011 17:18, Frank Shearar <frank.shearar(a)gmail.com>
>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 3 September 2011 15:56, Lukas Renggli <renggli(a)gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 3 September 2011 16:51, Frank Shearar <frank.shearar(a)gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Hi Lukas,
>>>>>>>>>>>
>>>>>>>>>>> I haven't :) mainly because I'm unsure where to put it - is there
>>>>>>>>>>> perhaps a PP Inbox, or shall I just post the merged version, or
>>>>>>>>>>> what's
>>>>>>>>>>> your preference? (How about an mcd between my merge and PP's
>>>>>>>>>>> head?)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Just put the .mcz at some public URL (dropbox, squeak source, ...)
>>>>>>>>>> or
>>>>>>>>>> attach it to a mail.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Ah, great - here it is. You'll see I've written the grammar as a
>>>>>>>>> separate class. That was really more to make what I'd done more
>>>>>>>>> obvious and to minimise the change to PPSmalltalkGrammar, but
>>>>>>>>> perhaps
>>>>>>>>> it's not a bad idea anyway: it's easy to see the number literal
>>>>>>>>> subgrammar.
>>>>>>>>>
>>>>>>>>> frank
>>>>>>>>>
>>>>>>>>>> Lukas
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Lukas Renggli
>>>>>>>>>> www.lukas-renggli.ch
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Lukas Renggli
>>>>>>>> www.lukas-renggli.ch
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>
>>>
>>
>>
>
April 25, 2012
Re: [Pharo-project] PetitSmalltalk: now with a self-contained grammar for number literals
by Levente Uzonyi
On Wed, 25 Apr 2012, Frank Shearar wrote:
> On 20 April 2012 15:15, Frank Shearar <frank.shearar(a)gmail.com> wrote:
>> On 20 April 2012 03:51, Levente Uzonyi <leves(a)elte.hu> wrote:
>>> On Thu, 19 Apr 2012, Frank Shearar wrote:
>>>
>>>> I found a serious bug in parsing numbers with negative exponents. It
>>>> was completey broken, in fact, parsing 1e-1 as 10, not 1 / 10. Anyway.
>>>> This version fixes that, and adds a bunch of tests demonstrating that
>>>> number parsing will return rationals if it can.
>>>>
>>>> It's significantly slower than Squeak's SqNumberParser:
>>>>
>>>> Time millisecondsToRun: [100000 timesRepeat: [SqNumberParser parse:
>>>> '1234567890']] => 466
>>>>
>>>> Time millisecondsToRun: [100000 timesRepeat: [PPSmalltalkNumberParser
>>>> parse: '1234567890']] => 32082
>>>>
>>>> I've attached a MessageTally spying on the latter: I've not much skill
>>>> in reading these, but nothing leaps out at me as being obviously
>>>> awful.
>>>
>>>
>>> Didn't check the code, just the tally, and I think that
>>> PPSmalltalkNumberParser(PPSmalltalkNumberGrammar)>>digitsBase: is begging
>>> for optimization. It's probably also the cause of the high amount of garbage
>>> which causes significant amount of time spent with garbage collection.
>>> It's also interesting is that the finalization process does so much work,
>>> there may be something wrong with your image.
>>
>> Thanks for taking a look, Levente.
>>
>> I'd expect digitsBase: to dominate the running costs, given that we're
>> parsing numbers.
>>
>> I do make a large number of throwaway "immutable" values with a
>> Builder-like pattern... in PPSmalltalkNumberParser >>
>> #makeNumberFrom:base:. That, I would imagine, could explain the
>> garbage?
>>
>> If I may, what do you look for when reading the MessageTally? How do
>> you tell, for instance, that there's excessive garbage production?
>> That the incremental GCs take 7ms? (I'm reading Andreas' comments on
>> http://wiki.squeak.org/squeak/4210 again.)
>
> Levente, you're quite right: #digitsBase: has now been optimised even
> more, reducing the time taken to run my benchmark
>
> MessageTally spyOn: [Time millisecondsToRun: [100000 timesRepeat:
> [PPSmalltalkNumberParser parse: '1234567890']]]
>
> from ~32 seconds to ~16 seconds. (Memoising was the answer:
> #digitsBase: is effectively a higher-order production and, like OMeta,
> PPCompositeParser doesn't memoise those. A simple class var dictionary
> solves that problem.
Creating a new parser (PPSmalltalkNumberParser) takes quite a while, if
you extract the parser creation, then you'll get closer to the performance
limit of PetitParser:
| p |
p := PPSmalltalkNumberParser new.
[ Time millisecondsToRun: [100000 timesRepeat: [p parse: '1234567890']] ]
timeProfile. "==> 2594"
There are still places where you create parsers on the fly, like
PPSmalltalkNumberGrammar #>> number. These should be avoided.
Levente
>
> frank
>
>> frank
>>
>>> Levente
>>>
>>>
>>>>
>>>> frank
>>>>
>>>> On 14 September 2011 20:26, Frank Shearar <frank.shearar(a)gmail.com> wrote:
>>>>>
>>>>> On 3 September 2011 19:35, Nicolas Cellier
>>>>> <nicolas.cellier.aka.nice(a)gmail.com> wrote:
>>>>>>
>>>>>> 2011/9/3 Frank Shearar <frank.shearar(a)gmail.com>:
>>>>>>>
>>>>>>> On 3 September 2011 18:50, Lukas Renggli <renggli(a)gmail.com> wrote:
>>>>>>>>
>>>>>>>> I think it is a good idea to have the number parser separate, after
>>>>>>>> all it might also make sense to use it separately.
>>>>>>>>
>>>>>>>> It seems that the new Smalltalk grammar is significantly slower. The
>>>>>>>> benchmark PPSmalltalkClassesTests class>>#benchmark: that uses the
>>>>>>>> source code of the collection hierarchy and does not especially target
>>>>>>>> number literals runs 30% slower.
>>>>>>>>
>>>>>>>> Also I see that "Number readFrom: ..." is still used within the
>>>>>>>> grammar. This seems to be a bit strange, no?
>>>>>>>
>>>>>>>
>>>>>>> Yes: it's a double-parse, which is a bit lame. First, we parse the
>>>>>>> literal with PPSmalltalkNumberParser, which ensures that the thing
>>>>>>> given to Number class >> #readFrom: is a well-formed token (so, in
>>>>>>> particular, Squeak's Number doesn't get to see anything other than a
>>>>>>> well-formed token).
>>>>>>>
>>>>>>> It sounds like you're happy with the basic concept, so maybe I should
>>>>>>> remove the Number class >> #readFrom: stuff, see if I can't remove the
>>>>>>> performance issues, and resubmit the patch.
>>>>>>>
>>>>>>> frank
>>>>>>>
>>>>>>
>>>>>> Yes, a NumberParser is essentially parsing, and this duplication sounds
>>>>>> useless.
>>>>>> The main feature of interest in NumberParser that I consider a
>>>>>> requirement and should find its equivalence in a PetitNumberParser is:
>>>>>> - round a decimal representation to nearest Float
>>>>>> It's simple, just convert a Fraction asFloat in a single final step to
>>>>>> avoid cumulating round off errors - see
>>>>>> #makeFloatFromMantissa:exponent:base:
>>>>>>
>>>>>> The second feature of interest in NumberParser is the ability to
>>>>>> parser LargeInteger efficiently by avoiding (10 * largeValue +
>>>>>> digitValue) loops, and replacing them with a log(n) cost.
>>>>>> This would be a simple thing to implement in a functional language.
>>>>>
>>>>>
>>>>> Hopefully this won't offend your sensibilities too much :). It does,
>>>>> in fact, use 10* loops - I wrote an experimental "front half * rear
>>>>> half" recursion, which was slower in my benchmarks.
>>>>>
>>>>> This version has the grammar and parser doing no string->number
>>>>> conversion at all. PPSmalltalkNumberMaker supplies a number of utility
>>>>> methods designed to stop one from making malformed numbers. It also
>>>>> supplies a builder interface that the parser uses to construct
>>>>> numbers.
>>>>>
>>>>> frank
>>>>>
>>>>>> Nicolas
>>>>>>
>>>>>>>> Lukas
>>>>>>>>
>>>>>>>>
>>>>>>>> On 3 September 2011 17:18, Frank Shearar <frank.shearar(a)gmail.com>
>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> On 3 September 2011 15:56, Lukas Renggli <renggli(a)gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>> On 3 September 2011 16:51, Frank Shearar <frank.shearar(a)gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hi Lukas,
>>>>>>>>>>>
>>>>>>>>>>> I haven't :) mainly because I'm unsure where to put it - is there
>>>>>>>>>>> perhaps a PP Inbox, or shall I just post the merged version, or
>>>>>>>>>>> what's
>>>>>>>>>>> your preference? (How about an mcd between my merge and PP's head?)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Just put the .mcz at some public URL (dropbox, squeak source, ...)
>>>>>>>>>> or
>>>>>>>>>> attach it to a mail.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Ah, great - here it is. You'll see I've written the grammar as a
>>>>>>>>> separate class. That was really more to make what I'd done more
>>>>>>>>> obvious and to minimise the change to PPSmalltalkGrammar, but perhaps
>>>>>>>>> it's not a bad idea anyway: it's easy to see the number literal
>>>>>>>>> subgrammar.
>>>>>>>>>
>>>>>>>>> frank
>>>>>>>>>
>>>>>>>>>> Lukas
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Lukas Renggli
>>>>>>>>>> www.lukas-renggli.ch
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Lukas Renggli
>>>>>>>> www.lukas-renggli.ch
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>
>>>
>
April 25, 2012
Re: [Pharo-project] Error at startup with the NonInteractiveUIManager
by Francois Stephany
I've identified the source of my problem =)
I starts my image with a script like:
exec "$VM" $VM_PARAMS "$IMAGE" $STARTUP_SCRIPT
where $STARTUP_SCRIPT is the path to a .st file. That file was named
"startup.st". Which is automatically loaded with Pharo 1.4. So it was
loaded twice and my image was fucked.
I tried to modify my script to:
exec "$VM" $VM_PARAMS "$IMAGE"
and put "startup.st" next to the image. But that still gives me the error.
In the end I just kept
exec "$VM" $VM_PARAMS "$IMAGE" $STARTUP_SCRIPT
but rename the file lying in $STARTUP_SCRIPT in "start.st".
Everything seems to work fine now.
On 25/04/12 00:48, Mariano Martinez Peck wrote:
>
>
> On Wed, Apr 25, 2012 at 7:12 AM, Francois Stephany
> <tulipe.moutarde(a)gmail.com <mailto:tulipe.moutarde@gmail.com>> wrote:
>
> Hi there,
>
> I have a problem when trying to start an application on a linux
> server with the latest cogvm (2550) and Pharo 1.4-14438.
>
>
> ==== Startup Error: PrimitiveFailed: primitive #primGetPosition:
> in MultiByteFileStream failed
> MultiByteFileStream(Object)>>__primitiveFailed:
> MultiByteFileStream(Object)>>__primitiveFailed
> MultiByteFileStream(__StandardFileStream)>>__primGetPosition:
> MultiByteFileStream(__StandardFileStream)>>position
> MultiByteFileStream(__PositionableStream)>>__skipStyleChunk
> MultiByteFileStream(__PositionableStream)>>__fileInAnnouncing:
> in Block: [:bar | ...
> NonInteractiveUIManager(__CommandLineUIManager)>>__progressInitiationExceptionDef__aultAction:
> ProgressInitiationException>>__defaultAction
> UndefinedObject>>handleSignal:
> MethodContext(ContextPart)>>__handleSignal:
> Got startup errors:
> PrimitiveFailed: primitive #primGetPosition: in
> MultiByteFileStream failed
>
>
>
>
>
> Francois, I think that stacktrace is a problem trying to write into
> PharoDebug.log ANOTHER problem. So you shuld try to somehow see which is
> the original error.
>
> Cheers
>
> I haven't identified the cause yet but if anybody had that problem
> before, i'm all ears ;)
>
>
> Cheers,
> Francois
>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
--
http://tulipemoutarde.be
CA: +1 778 558 3225
BE: +32 65 709 131
April 25, 2012
Re: [Pharo-project] PetitSmalltalk: now with a self-contained grammar for number literals
by Eliot Miranda
On Wed, Apr 25, 2012 at 1:11 PM, Levente Uzonyi <leves(a)elte.hu> wrote:
> On Fri, 20 Apr 2012, Frank Shearar wrote:
>
> On 20 April 2012 03:51, Levente Uzonyi <leves(a)elte.hu> wrote:
>>
>>> On Thu, 19 Apr 2012, Frank Shearar wrote:
>>>
>>> I found a serious bug in parsing numbers with negative exponents. It
>>>> was completey broken, in fact, parsing 1e-1 as 10, not 1 / 10. Anyway.
>>>> This version fixes that, and adds a bunch of tests demonstrating that
>>>> number parsing will return rationals if it can.
>>>>
>>>> It's significantly slower than Squeak's SqNumberParser:
>>>>
>>>> Time millisecondsToRun: [100000 timesRepeat: [SqNumberParser parse:
>>>> '1234567890']] => 466
>>>>
>>>>
>>>> Time millisecondsToRun: [100000 timesRepeat: [PPSmalltalkNumberParser
>>>> parse: '1234567890']] => 32082
>>>>
>>>> I've attached a MessageTally spying on the latter: I've not much skill
>>>> in reading these, but nothing leaps out at me as being obviously
>>>> awful.
>>>>
>>>
>>>
>>> Didn't check the code, just the tally, and I think that
>>> PPSmalltalkNumberParser(**PPSmalltalkNumberGrammar)>>**digitsBase: is
>>> begging
>>> for optimization. It's probably also the cause of the high amount of
>>> garbage
>>> which causes significant amount of time spent with garbage collection.
>>> It's also interesting is that the finalization process does so much work,
>>> there may be something wrong with your image.
>>>
>>
>> Thanks for taking a look, Levente.
>>
>> I'd expect digitsBase: to dominate the running costs, given that we're
>> parsing numbers.
>>
>
> I finally checked the code and there's plenty of space for optimization.
> Note that the code can't be loaded into Squeak, because there's an invalid
> symbol #__gen__binding, and some methods with nil category.
>
>
>
>> I do make a large number of throwaway "immutable" values with a
>> Builder-like pattern... in PPSmalltalkNumberParser >>
>> #makeNumberFrom:base:. That, I would imagine, could explain the
>> garbage?
>>
>
> The current garbage collector is not optimal for large images and large
> amount of garbage, so you should try avoid creating it in performance
> critial parts of your code.
>
>
>
>> If I may, what do you look for when reading the MessageTally? How do
>> you tell, for instance, that there's excessive garbage production?
>>
>
> In your tally GC time was 20% of total time and another 20% for the
> finalization process. These numbers should be much lower, usually less than
> 1%.
>
>
> That the incremental GCs take 7ms? (I'm reading Andreas' comments on
>> http://wiki.squeak.org/squeak/**4210 <http://wiki.squeak.org/squeak/4210>again.)
>>
>
> 7ms for an incremental GC is also a bit high, it should be around 1-2ms.
Careful. Absolute GC times (as any run-time) depend on the machine. On a
slow machine GC runs slow...
>
>
>
> Levente
>
>
>
>> frank
>>
>> Levente
>>>
>>>
>>>
>>>> frank
>>>>
>>>> On 14 September 2011 20:26, Frank Shearar <frank.shearar(a)gmail.com>
>>>> wrote:
>>>>
>>>>>
>>>>> On 3 September 2011 19:35, Nicolas Cellier
>>>>> <nicolas.cellier.aka.nice(a)**gmail.com<nicolas.cellier.aka.nice(a)gmail.com>>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>> 2011/9/3 Frank Shearar <frank.shearar(a)gmail.com>:
>>>>>>
>>>>>>>
>>>>>>> On 3 September 2011 18:50, Lukas Renggli <renggli(a)gmail.com> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> I think it is a good idea to have the number parser separate, after
>>>>>>>> all it might also make sense to use it separately.
>>>>>>>>
>>>>>>>> It seems that the new Smalltalk grammar is significantly slower. The
>>>>>>>> benchmark PPSmalltalkClassesTests class>>#benchmark: that uses the
>>>>>>>> source code of the collection hierarchy and does not especially
>>>>>>>> target
>>>>>>>> number literals runs 30% slower.
>>>>>>>>
>>>>>>>> Also I see that "Number readFrom: ..." is still used within the
>>>>>>>> grammar. This seems to be a bit strange, no?
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Yes: it's a double-parse, which is a bit lame. First, we parse the
>>>>>>> literal with PPSmalltalkNumberParser, which ensures that the thing
>>>>>>> given to Number class >> #readFrom: is a well-formed token (so, in
>>>>>>> particular, Squeak's Number doesn't get to see anything other than a
>>>>>>> well-formed token).
>>>>>>>
>>>>>>> It sounds like you're happy with the basic concept, so maybe I should
>>>>>>> remove the Number class >> #readFrom: stuff, see if I can't remove
>>>>>>> the
>>>>>>> performance issues, and resubmit the patch.
>>>>>>>
>>>>>>> frank
>>>>>>>
>>>>>>>
>>>>>> Yes, a NumberParser is essentially parsing, and this duplication
>>>>>> sounds
>>>>>> useless.
>>>>>> The main feature of interest in NumberParser that I consider a
>>>>>> requirement and should find its equivalence in a PetitNumberParser is:
>>>>>> - round a decimal representation to nearest Float
>>>>>> It's simple, just convert a Fraction asFloat in a single final step to
>>>>>> avoid cumulating round off errors - see
>>>>>> #makeFloatFromMantissa:**exponent:base:
>>>>>>
>>>>>> The second feature of interest in NumberParser is the ability to
>>>>>> parser LargeInteger efficiently by avoiding (10 * largeValue +
>>>>>> digitValue) loops, and replacing them with a log(n) cost.
>>>>>> This would be a simple thing to implement in a functional language.
>>>>>>
>>>>>
>>>>>
>>>>> Hopefully this won't offend your sensibilities too much :). It does,
>>>>> in fact, use 10* loops - I wrote an experimental "front half * rear
>>>>> half" recursion, which was slower in my benchmarks.
>>>>>
>>>>> This version has the grammar and parser doing no string->number
>>>>> conversion at all. PPSmalltalkNumberMaker supplies a number of utility
>>>>> methods designed to stop one from making malformed numbers. It also
>>>>> supplies a builder interface that the parser uses to construct
>>>>> numbers.
>>>>>
>>>>> frank
>>>>>
>>>>> Nicolas
>>>>>>
>>>>>> Lukas
>>>>>>>>
>>>>>>>>
>>>>>>>> On 3 September 2011 17:18, Frank Shearar <frank.shearar(a)gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 3 September 2011 15:56, Lukas Renggli <renggli(a)gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 3 September 2011 16:51, Frank Shearar <frank.shearar(a)gmail.com
>>>>>>>>>> >
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Hi Lukas,
>>>>>>>>>>>
>>>>>>>>>>> I haven't :) mainly because I'm unsure where to put it - is there
>>>>>>>>>>> perhaps a PP Inbox, or shall I just post the merged version, or
>>>>>>>>>>> what's
>>>>>>>>>>> your preference? (How about an mcd between my merge and PP's
>>>>>>>>>>> head?)
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Just put the .mcz at some public URL (dropbox, squeak source, ...)
>>>>>>>>>> or
>>>>>>>>>> attach it to a mail.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Ah, great - here it is. You'll see I've written the grammar as a
>>>>>>>>> separate class. That was really more to make what I'd done more
>>>>>>>>> obvious and to minimise the change to PPSmalltalkGrammar, but
>>>>>>>>> perhaps
>>>>>>>>> it's not a bad idea anyway: it's easy to see the number literal
>>>>>>>>> subgrammar.
>>>>>>>>>
>>>>>>>>> frank
>>>>>>>>>
>>>>>>>>> Lukas
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Lukas Renggli
>>>>>>>>>> www.lukas-renggli.ch
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Lukas Renggli
>>>>>>>> www.lukas-renggli.ch
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>
>>>
>>
>>
>
--
best,
Eliot
April 25, 2012
Re: [Pharo-project] Who is maintaining the Grease configuration
by Dale Henrichs
... let me finish my thought ...
I can share that algorithm with you, if you want:)
Dale
----- Original Message -----
| From: "Dale Henrichs" <dhenrich(a)vmware.com>
| To: Pharo-project(a)lists.gforge.inria.fr
| Sent: Wednesday, April 25, 2012 2:01:05 PM
| Subject: Re: [Pharo-project] Who is maintaining the Grease configuration
|
| For Gemstone, I generate (and cache) the attributes based on
| programmatic access to the image version number...
|
| Dale
|
| ----- Original Message -----
| | From: "Stéphane Ducasse" <stephane.ducasse(a)inria.fr>
| | To: Pharo-project(a)lists.gforge.inria.fr
| | Sent: Wednesday, April 25, 2012 12:58:25 PM
| | Subject: Re: [Pharo-project] Who is maintaining the Grease
| | configuration
| |
| | Ok I will do it.
| | We should add this to our process.
| |
| | Stef
| |
| |
| | > The first thing that I ran into is that the attributes for
| | > Pharo2.0
| | > need to be updated ... right now:
| | >
| | > ConfigurationOfGrease project attributes
| | >
| | > returns:
| | >
| | > an OrderedCollection(#common #squeakCommon #pharo #'pharo1.x'
| | > #'pharo1.4.x')
| | >
| | > Looks like SmalltalkImage>>metacelloPlatformAttributes needs to
| | > be
| | > updated to return:
| | >
| | > #(#squeakCommon #pharo #'pharo2.x' #'pharo2.0.x')
| | >
| | > Dale
| | >
| | > ----- Original Message -----
| | > | From: "Stéphane Ducasse" <stephane.ducasse(a)inria.fr>
| | > | To: Pharo-project(a)lists.gforge.inria.fr
| | > | Sent: Wednesday, April 25, 2012 10:26:18 AM
| | > | Subject: Re: [Pharo-project] Who is maintaining the Grease
| | > | configuration
| | > |
| | > | Thanks
| | > | I will start to add the pharo2.0.x to some configurations too.
| | > |
| | > | Stef
| | > |
| | > | > I'm the editor for the Grease configuration, so I'll take
| | > | > this
| | > | > on
| | > | > ...
| | > | >
| | > | > Dale
| | > | >
| | > | > ----- Original Message -----
| | > | > | From: "Stéphane Ducasse" <stephane.ducasse(a)inria.fr>
| | > | > | To: "Pharo-project(a)lists.gforge.inria.fr Development"
| | > | > | <Pharo-project(a)lists.gforge.inria.fr>
| | > | > | Sent: Wednesday, April 25, 2012 7:37:14 AM
| | > | > | Subject: [Pharo-project] Who is maintaining the Grease
| | > | > | configuration
| | > | > |
| | > | > | Because we should create a symbolic version for 20
| | > | > |
| | > | > | This package depends on the following classes:
| | > | > | BlockContext
| | > | > | You must resolve these dependencies before you will be able
| | > | > | to
| | > | > | load
| | > | > | these definitions:
| | > | > | fixCallbackTemps
| | > | > | tempVarRefs
| | > | > | valueWithPossibleArguments:
| | > | > |
| | > | > |
| | > | > |
| | > | >
| | > |
| | > |
| | > |
| | >
| |
| |
| |
|
April 25, 2012
Re: [Pharo-project] Who is maintaining the Grease configuration
by Dale Henrichs
For Gemstone, I generate (and cache) the attributes based on programmatic access to the image version number...
Dale
----- Original Message -----
| From: "Stéphane Ducasse" <stephane.ducasse(a)inria.fr>
| To: Pharo-project(a)lists.gforge.inria.fr
| Sent: Wednesday, April 25, 2012 12:58:25 PM
| Subject: Re: [Pharo-project] Who is maintaining the Grease configuration
|
| Ok I will do it.
| We should add this to our process.
|
| Stef
|
|
| > The first thing that I ran into is that the attributes for Pharo2.0
| > need to be updated ... right now:
| >
| > ConfigurationOfGrease project attributes
| >
| > returns:
| >
| > an OrderedCollection(#common #squeakCommon #pharo #'pharo1.x'
| > #'pharo1.4.x')
| >
| > Looks like SmalltalkImage>>metacelloPlatformAttributes needs to be
| > updated to return:
| >
| > #(#squeakCommon #pharo #'pharo2.x' #'pharo2.0.x')
| >
| > Dale
| >
| > ----- Original Message -----
| > | From: "Stéphane Ducasse" <stephane.ducasse(a)inria.fr>
| > | To: Pharo-project(a)lists.gforge.inria.fr
| > | Sent: Wednesday, April 25, 2012 10:26:18 AM
| > | Subject: Re: [Pharo-project] Who is maintaining the Grease
| > | configuration
| > |
| > | Thanks
| > | I will start to add the pharo2.0.x to some configurations too.
| > |
| > | Stef
| > |
| > | > I'm the editor for the Grease configuration, so I'll take this
| > | > on
| > | > ...
| > | >
| > | > Dale
| > | >
| > | > ----- Original Message -----
| > | > | From: "Stéphane Ducasse" <stephane.ducasse(a)inria.fr>
| > | > | To: "Pharo-project(a)lists.gforge.inria.fr Development"
| > | > | <Pharo-project(a)lists.gforge.inria.fr>
| > | > | Sent: Wednesday, April 25, 2012 7:37:14 AM
| > | > | Subject: [Pharo-project] Who is maintaining the Grease
| > | > | configuration
| > | > |
| > | > | Because we should create a symbolic version for 20
| > | > |
| > | > | This package depends on the following classes:
| > | > | BlockContext
| > | > | You must resolve these dependencies before you will be able
| > | > | to
| > | > | load
| > | > | these definitions:
| > | > | fixCallbackTemps
| > | > | tempVarRefs
| > | > | valueWithPossibleArguments:
| > | > |
| > | > |
| > | > |
| > | >
| > |
| > |
| > |
| >
|
|
|
April 25, 2012
Re: [Pharo-project] Nautilus for Pharo 2.0?
by Gary Chambers
As, I'll start using Nautilus...
Regards, Gary
Sent from my iPad
On 25 Apr 2012, at 20:43, Stéphane Ducasse <stephane.ducasse(a)inria.fr> wrote:
> Gary
>
> let us shake a bit 2.0 before jumping. :)
>
> Stef
>
>
> On Apr 25, 2012, at 7:41 PM, Gary Chambers wrote:
>
>> Ar, will switch once migrated our stuff from (early) 1.4...
>>
>> Regards, Gary
>>
>> ----- Original Message ----- From: "Dale Henrichs" <dhenrich(a)vmware.com>
>> To: <Pharo-project(a)lists.gforge.inria.fr>
>> Sent: Wednesday, April 25, 2012 6:24 PM
>> Subject: Re: [Pharo-project] Nautilus for Pharo 2.0?
>>
>>
>>> And Nautilus looks and drives nicely (after a few minutes in Pharo2.0 myself:)
>>>
>>> Dale
>>>
>>> ----- Original Message -----
>>> | From: "Mariano Martinez Peck" <marianopeck(a)gmail.com>
>>> | To: Pharo-project(a)lists.gforge.inria.fr
>>> | Sent: Wednesday, April 25, 2012 10:14:03 AM
>>> | Subject: Re: [Pharo-project] Nautilus for Pharo 2.0?
>>> |
>>> |
>>> |
>>> |
>>> |
>>> | On Wed, Apr 25, 2012 at 6:20 PM, Benjamin <
>>> | benjamin.vanryseghem.pharo(a)gmail.com > wrote:
>>> |
>>> |
>>> | Since a couple of minutes, Nautilus is part of Nautilus 2.0
>>> |
>>> |
>>> |
>>> | s/Nautilus 2.0/Pharo 2.0
>>> |
>>> | ;)
>>> |
>>> |
>>> |
>>> | Ben
>>> |
>>> |
>>> |
>>> | On Apr 25, 2012, at 6:17 PM, Noury Bouraqadi wrote:
>>> |
>>> | > Any plans to have an auto-build on Jenkins?
>>> | >
>>> | > Noury
>>> | > --
>>> | > http://twitter.com/#!/NouryBouraqadi
>>> | > http://www.kroobe.com/profile/noury
>>> | >
>>> | >
>>> | > Afin de contribuer au respect de l'environnement,
>>> | > merci de n'imprimer ce courriel qu'en cas de necessite
>>> | >
>>> | > Please consider the environment before you print
>>> | >
>>> | >
>>> | >
>>> | >
>>> |
>>> |
>>> |
>>> |
>>> |
>>> | --
>>> | Mariano
>>> | http://marianopeck.wordpress.com
>>> |
>>> |
>>
>>
>
>
April 25, 2012