Hi guys this is not that we are not interested but let me explain you my day today: - discussion with mariano about fuel paper next version - contact with a company to talk business - budget to make sure that everybody gets a nice machine for next year - budget to make sure that everybody gets a nice salary next year - sync with student about open gl probject - sync with andre for the next 3 months - discussion with ussman about scenario to sell moose - discussed with Human Ressources to be sure that we can hire the people we want - read tons of mails - schedule travels - fill up phd topic for national security agency so that we can hire andre for his phd - talk with mariano and marcus about unused object garbage collection - discussed abotu zinc and books with olivier - ... And everyday is more or less like that. So do not believe that we are doing nothing, we are doing a lot and most of the time this is not on pharo unfortunately. So there is an entry in the bug tracker and if somebody wants these changes On Sep 21, 2011, at 6:53 PM, Eliot Miranda wrote:
On Wed, Sep 21, 2011 at 3:48 AM, Torsten Bergmann <astares@gmx.de> wrote: Hi Eliot,
at [1] you mentioned a port of MethodWrappers to Squeak 4.2. Is there also a port for Pharo available or do you plan to port it?
I was hoping someone with focus on Pharo would integrate the necessary compiler and kernel changes into Pharo. The Squeak trunk packages are Compiler-eem.214 & Compiler-eem.215, and Kernel-619 to Kernel-eem.623. I've attached the diffs. Notionally file in Compiler-213-214.st & Kernel-618-619.st, then file-in Compiler-214-215.st & Kernel-619-623.st. These are generally useful, a) restoring the ability to create subclasses of CompiledMethod, and b) fixing various subtle copying-related state-sharing bugs with AdditionalMethodState (the objects that add additional state to compiled methods, pragmas, properties and "extra inst vars").
The MethodWrappers4.2 package should then just load. It serves as a model for adding inst vars to CompiledMethod.
For those who dont know about MethodWrappers: look at [2]
Indeed. Yes, there's an alternative implementation above objects-as-methods, but that implementation is far from complete. It would be good to see he same kind of completeness. e.g. with MethodWrappers you can write
| indent wrapper | indent := 0. wrapper := MwBlockMethodWrapper on: #benchFib inClass: Integer. wrapper beforeBlock: [:rcvr :args| Transcript crtab: indent; print: rcvr; space; nextPutAll: #benchFib; flush. indent := indent + 1]; afterBlock: [:rcvr :args| indent := indent - 1]. [wrapper install. 7 benchFib] ensure: [wrapper uninstall]
whereas there are few if any examples with the objects-as-methods AFAICS.
Thanks Torsten
[1] http://lists.squeakfoundation.org/pipermail/squeak-dev/2011-September/161567... [2] http://www.refactory.com/Software/MethodWrappers/ -- NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zurück-Garantie! Jetzt informieren: http://www.gmx.net/de/go/freephone
-- best, Eliot
<Compiler-213-214.st><Compiler-214-215.st><Kernel-618-619.st><Kernel-619-623.st>