[Pharo-project] Questionn
Hi all! I was chating with Guille, who's blaming me for make a refactor in sunit for pharo 1.4 instead of 2.0 and told me 'pharo 2.0 probably adds class layouts and slots'. Well, i'm with a concrete type inference project, i want to know what is made and who is in that part of the project to annoy and bore him with questions, 'cause probably i'll want to type the slots, but i need to understand the metaphor of the slots implementation. I want to understand too whats implication has the class layout over the types. Santiago.
All I can do is to recommend you to read this paper: http://rmod.lille.inria.fr/archives/papers/Verw11a-OOSPLA11-FlexibleObjectLa... On Mon, Apr 30, 2012 at 8:36 PM, Santiago Bragagnolo < santiagobragagnolo@gmail.com> wrote:
Hi all! I was chating with Guille, who's blaming me for make a refactor in sunit for pharo 1.4 instead of 2.0 and told me 'pharo 2.0 probably adds class layouts and slots'. Well, i'm with a concrete type inference project, i want to know what is made and who is in that part of the project to annoy and bore him with questions, 'cause probably i'll want to type the slots, but i need to understand the metaphor of the slots implementation. I want to understand too whats implication has the class layout over the types.
Santiago.
-- Mariano http://marianopeck.wordpress.com
and the working protoype (in 1.3 + Helvetia) is avail here: http://dl.dropbox.com/u/18184943/SlotImage.zip make sure to run the image in an older vm (squeak 5.XX) best cami On 2012-04-30, at 22:59, Mariano Martinez Peck wrote:
All I can do is to recommend you to read this paper: http://rmod.lille.inria.fr/archives/papers/Verw11a-OOSPLA11-FlexibleObjectLa...
On Mon, Apr 30, 2012 at 8:36 PM, Santiago Bragagnolo <santiagobragagnolo@gmail.com> wrote: Hi all! I was chating with Guille, who's blaming me for make a refactor in sunit for pharo 1.4 instead of 2.0 and told me 'pharo 2.0 probably adds class layouts and slots'. Well, i'm with a concrete type inference project, i want to know what is made and who is in that part of the project to annoy and bore him with questions, 'cause probably i'll want to type the slots, but i need to understand the metaphor of the slots implementation. I want to understand too whats implication has the class layout over the types.
Santiago.
-- Mariano http://marianopeck.wordpress.com
Thanks Camilo - I've tried your image with the latest CogVM for Mac and it's usable. I understand this is work in progress, are you planning to change Object>>instVarAt: with a new primitive? or will that be handled on the image side? Apart from the change in the class declaration, do you think that any of the existing code will have to be changed? What's the biggest advantage of having slots? (and will we also have slots for temp vars?) Object subclass: #Rectangle layout: PointerLayout slots: { #origin => Slot. #corner => Slot. } classSlots: {} globals: '' category: #'Graphics-Primitives' Display boundingBox instVarAt: #origin On 1 May 2012 09:51, Camillo Bruni <camillobruni@gmail.com> wrote:
and the working protoype (in 1.3 + Helvetia) is avail here:
http://dl.dropbox.com/u/18184943/SlotImage.zip
make sure to run the image in an older vm (squeak 5.XX)
best cami
On 2012-04-30, at 22:59, Mariano Martinez Peck wrote:
All I can do is to recommend you to read this paper: http://rmod.lille.inria.fr/archives/papers/Verw11a-OOSPLA11-FlexibleObjectLa...
On Mon, Apr 30, 2012 at 8:36 PM, Santiago Bragagnolo < santiagobragagnolo@gmail.com> wrote: Hi all! I was chating with Guille, who's blaming me for make a refactor in sunit for pharo 1.4 instead of 2.0 and told me 'pharo 2.0 probably adds class layouts and slots'. Well, i'm with a concrete type inference project, i want to know what is made and who is in that part of the project to annoy and bore him with questions, 'cause probably i'll want to type the slots, but i need to understand the metaphor of the slots implementation. I want to understand too whats implication has the class layout over the types.
Santiago.
-- Mariano http://marianopeck.wordpress.com
First class instance variables will bring a lot to the system: foundation for a lot of innovation - relationships support - meta description. - bitfields description ... Now we should really work to get from the prototype to a fully robust and tested version. Stef
Thanks Camilo - I've tried your image with the latest CogVM for Mac and it's usable.
I understand this is work in progress, are you planning to change Object>>instVarAt: with a new primitive? or will that be handled on the image side?
Apart from the change in the class declaration, do you think that any of the existing code will have to be changed?
What's the biggest advantage of having slots? (and will we also have slots for temp vars?)
Object subclass: #Rectangle layout: PointerLayout slots: { #origin => Slot. #corner => Slot. } classSlots: {} globals: '' category: #'Graphics-Primitives'
Display boundingBox instVarAt: #origin
On 1 May 2012 09:51, Camillo Bruni <camillobruni@gmail.com> wrote: and the working protoype (in 1.3 + Helvetia) is avail here:
http://dl.dropbox.com/u/18184943/SlotImage.zip
make sure to run the image in an older vm (squeak 5.XX)
best cami
On 2012-04-30, at 22:59, Mariano Martinez Peck wrote:
All I can do is to recommend you to read this paper: http://rmod.lille.inria.fr/archives/papers/Verw11a-OOSPLA11-FlexibleObjectLa...
On Mon, Apr 30, 2012 at 8:36 PM, Santiago Bragagnolo <santiagobragagnolo@gmail.com> wrote: Hi all! I was chating with Guille, who's blaming me for make a refactor in sunit for pharo 1.4 instead of 2.0 and told me 'pharo 2.0 probably adds class layouts and slots'. Well, i'm with a concrete type inference project, i want to know what is made and who is in that part of the project to annoy and bore him with questions, 'cause probably i'll want to type the slots, but i need to understand the metaphor of the slots implementation. I want to understand too whats implication has the class layout over the types.
Santiago.
-- Mariano http://marianopeck.wordpress.com
I am really looking forward to the relationship support. I will be trying out the download this weekend. Stéphane Ducasse wrote:
First class instance variables will bring a lot to the system: foundation for a lot of innovation - relationships support - meta description. - bitfields description ...
Now we should really work to get from the prototype to a fully robust and tested version.
Stef
Thanks Camilo - I've tried your image with the latest CogVM for Mac and it's usable.
I understand this is work in progress, are you planning to change Object>>instVarAt: with a new primitive? or will that be handled on the image side?
Apart from the change in the class declaration, do you think that any of the existing code will have to be changed?
What's the biggest advantage of having slots? (and will we also have slots for temp vars?)
Object subclass: #Rectangle layout: PointerLayout slots: { #origin => Slot. #corner => Slot. } classSlots: {} globals: '' category: #'Graphics-Primitives'
Display boundingBox instVarAt: #origin
On 1 May 2012 09:51, Camillo Bruni <camillobruni@gmail.com> wrote: and the working protoype (in 1.3 + Helvetia) is avail here:
http://dl.dropbox.com/u/18184943/SlotImage.zip
make sure to run the image in an older vm (squeak 5.XX)
best cami
On 2012-04-30, at 22:59, Mariano Martinez Peck wrote:
All I can do is to recommend you to read this paper: http://rmod.lille.inria.fr/archives/papers/Verw11a-OOSPLA11-FlexibleObjectLa...
On Mon, Apr 30, 2012 at 8:36 PM, Santiago Bragagnolo <santiagobragagnolo@gmail.com> wrote: Hi all! I was chating with Guille, who's blaming me for make a refactor in sunit for pharo 1.4 instead of 2.0 and told me 'pharo 2.0 probably adds class layouts and slots'. Well, i'm with a concrete type inference project, i want to know what is made and who is in that part of the project to annoy and bore him with questions, 'cause probably i'll want to type the slots, but i need to understand the metaphor of the slots implementation. I want to understand too whats implication has the class layout over the types.
Santiago.
-- Mariano http://marianopeck.wordpress.com
On 2 May 2012 19:47, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
First class instance variables will bring a lot to the system:     foundation for a lot of innovation         - relationships support         - meta description.
        - bitfields description
this one was always overrated, IMO. unless you wanna parse the IP packet headers, where else you want to play with bit fields, and care how they fit in memory? :)
        ...
Now we should really work to get from the prototype to a fully robust and tested version.
Stef
Thanks Camilo - I've tried your image with the latest CogVM for Mac and it's usable.
I understand this is work in progress, are you planning to change Object>>instVarAt: with a new primitive? or will that be handled on the image side?
Apart from the change in the class declaration, do you think that any of the existing code will have to be changed?
What's the biggest advantage of having slots? (and will we also have slots for temp vars?)
Object subclass: #Rectangle    layout: PointerLayout    slots: {        #origin => Slot.        #corner => Slot.    }    classSlots: {}    globals: ''    category: #'Graphics-Primitives'
Display boundingBox instVarAt: #origin
On 1 May 2012 09:51, Camillo Bruni <camillobruni@gmail.com> wrote: and the working protoype (in 1.3 + Helvetia) is avail here:
http://dl.dropbox.com/u/18184943/SlotImage.zip
make sure to run the image in an older vm (squeak 5.XX)
best cami
On 2012-04-30, at 22:59, Mariano Martinez Peck wrote:
All I can do is to recommend you to read this paper: http://rmod.lille.inria.fr/archives/papers/Verw11a-OOSPLA11-FlexibleObjectLa...
On Mon, Apr 30, 2012 at 8:36 PM, Santiago Bragagnolo <santiagobragagnolo@gmail.com> wrote: Hi all! I was chating with Guille, who's blaming me for make a refactor in sunit for pharo 1.4 instead of 2.0 and told me 'pharo 2.0 probably adds class layouts and slots'. Well, i'm with a concrete type inference project, i want to know what is made and who is in that part of the project to annoy and bore him with questions, 'cause probably i'll want to type the slots, but i need to understand the metaphor of the slots implementation. I want to understand too whats implication has the class layout over the types.
Santiago.
-- Mariano http://marianopeck.wordpress.com
-- Best regards, Igor Stasenko.
Igor Stasenko wrote:
On 2 May 2012 19:47, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
First class instance variables will bring a lot to the system: foundation for a lot of innovation - relationships support - meta description.
- bitfields description
this one was always overrated, IMO. unless you wanna parse the IP packet headers, where else you want to play with bit fields, and care how they fit in memory? :)
Industrial process control - where you have hundreds of physical digital inputs and outputs providing feedback from limit switches and driving control relays.
On 2 May 2012 18:47, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
First class instance variables will bring a lot to the system: foundation for a lot of innovation - relationships support - meta description. - bitfields description ...
I like the idea -- you could even have a BroadcasterSlot that whenever it's changed send notifications (although this might not be necessary with the Announcement framework, I haven't looked into that). But there are a couple of points that I don't understand: 1) Slots and Layouts are descriptions of Objects and Classes and, as such, they are reflection facilities. Will this go into the "minimal" kernel image that you are trying to bootstrap? (I think they should go to a "reflection" module on top of the kernel) 2) Let's say you have a subclass of point with typed slots called FloatPoint with a couple of getter/setters. Would the generated bytecodes of the setter by the same as for the same method in the superclass? - Francisco
participants (7)
-
Ben Coman -
Camillo Bruni -
Francisco Garau -
Igor Stasenko -
Mariano Martinez Peck -
Santiago Bragagnolo -
Stéphane Ducasse