Hi, We are trying to migrate Traits into Visual Age, and
thought about three alternatives: -
Try to copy squeak
implementation into Visualk Age as it is and make the tests pass. -
Copy only the tests and
make an implementation of Traits to make tests pass. -
Implement Traits from the
ground in Visual Age. Any idea of which is the best way to do this?, or if
there is a better approach? Thanks, DiegoTubello |
Hi,
I don't think that it makes sens to try copying the implementation from Squeak. It is too much depending on the details of the implementation of the classes kernel. What is independent from that is the small part which models trait compositions, and of course the tests, which will certainly be helpful. The kernel part is quite straight forward to implement: the main thing is to keep track of changed or deleted methods and to appropriately update the method dictionaries of affected classes and traits. In our implementation, traits are behaviors like classes, with the main difference beeing that they cannot be instantiated. To get an idea of how this works, have a look at the Squeak implementation. You can also find information here [1]. Of course, the real work then comes when you want to integrate traits seamlessly into the environment (code browsers, SCM, changesets, etc.), and to have an automated bootstrapping. Please feel free to ask questions... For papers about traits see [2]. Cheers, Adrian [1] http://www.adrian-lienhard.ch/files/master.pdf [2] http://www.iam.unibe.ch/~scg/Research/Traits/index.html ___________________ Adrian Lienhard www.adrian-lienhard.ch On Sep 23, 2006, at 21:18 , Diego Tubello wrote: > Hi, > > > > We are trying to migrate Traits into Visual Age, and thought about > three alternatives: > > - Try to copy squeak implementation into Visualk Age as it > is and make the tests pass. > > - Copy only the tests and make an implementation of Traits > to make tests pass. > > - Implement Traits from the ground in Visual Age. > > > > Any idea of which is the best way to do this?, or if there is a > better approach? > > > > Thanks, > > DiegoTubello > > Luciana Garcia Richter > > |
Not to sidetrack, but is visual Age Smalltalk still available? I never can
find it for PCs on the IBM site. |
> Not to sidetrack, but is visual Age Smalltalk still available?
see: http://www.instantiations.com/VAST/roadmap.htm Vaidotas Didžbalis |
In reply to this post by Blake-5
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1 VAST is now available from Instantiations, http:// www.instantiations.com/VAST/pd.htm On Sep 25, 2006, at 12:05 PM, Blake wrote: > Not to sidetrack, but is visual Age Smalltalk still available? I > never can find it for PCs on the IBM site. > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (Darwin) iQCVAwUBRResLpU/hichOrnsAQLENAQA4uswPi60YMLlZ6fKGueiMxL+e7PWMG6U +HXuDVR2yplGAFb85w4vgvV7VBR28sPpWkIDFap9qQB15pyvpr5LqOV3I6zk1aVC /yc0FfWnxrHsXDNU5kwDpNg8cJbzXKD4WpUPvhYWMNigXn54GQh3Wb2kkTPr5+bS jlatUHN+La0= =qcV6 -----END PGP SIGNATURE----- |
In reply to this post by Diego Tubello
Hi,
First this is great!! Adrian already replied. So I will just add some information. Now in VW for example you cannot share dictionaries. I do not know in VA. The implementation in Squeak shares compiledMethod when they do not contain super. This can also confuse the tools :). I do not know the compiledMethod class of VA to give you a clear answer. As adrian mentioned integrating traits with Changeset and other can be a problem. But let us know informed of your progress. Stef > Hi, > > > > We are trying to migrate Traits into Visual Age, and thought about > three alternatives: > > - Try to copy squeak implementation into Visualk Age as it > is and make the tests pass. > > - Copy only the tests and make an implementation of Traits > to make tests pass. > > - Implement Traits from the ground in Visual Age. > > > > Any idea of which is the best way to do this?, or if there is a > better approach? > > > > Thanks, > > DiegoTubello > > Luciana Garcia Richter > > |
2006/9/25, stephane ducasse <[hidden email]>:
> Hi, > > First this is great!! > Adrian already replied. So I will just add some information. > > Now in VW for example you cannot share dictionaries. I do not know in > VA. > The implementation in Squeak shares compiledMethod when they do not > contain super. > This can also confuse the tools :). I do not know the compiledMethod > class of VA to give you > a clear answer. I would advise against sharing. It causes so much pain and only saves a few bytes. It's not 1972 anymore, we have memory to burn. Philippe |
In reply to this post by Adrian Lienhard
Hi Adrian,
what do you mean by "automated bootstrapping"?... I understand what it means by itself but not in the context of traits... Could you give us an example? I haven't look at the Traits implementation but I know it has tests... what do they test? do they test the hole implementation? only the traits composition? Thanks, Hernan. Adrian Lienhard wrote: > Hi, > > I don't think that it makes sens to try copying the implementation > from Squeak. It is too much depending on the details of the > implementation of the classes kernel. What is independent from that is > the small part which models trait compositions, and of course the > tests, which will certainly be helpful. > > The kernel part is quite straight forward to implement: the main thing > is to keep track of changed or deleted methods and to appropriately > update the method dictionaries of affected classes and traits. In our > implementation, traits are behaviors like classes, with the main > difference beeing that they cannot be instantiated. To get an idea of > how this works, have a look at the Squeak implementation. You can also > find information here [1]. > > Of course, the real work then comes when you want to integrate traits > seamlessly into the environment (code browsers, SCM, changesets, > etc.), and to have an automated bootstrapping. > > Please feel free to ask questions... For papers about traits see [2]. > > Cheers, > Adrian > > [1] http://www.adrian-lienhard.ch/files/master.pdf > [2] http://www.iam.unibe.ch/~scg/Research/Traits/index.html > > ___________________ > Adrian Lienhard > www.adrian-lienhard.ch > > > On Sep 23, 2006, at 21:18 , Diego Tubello wrote: > >> Hi, >> >> >> >> We are trying to migrate Traits into Visual Age, and thought about >> three alternatives: >> >> - Try to copy squeak implementation into Visualk Age as it >> is and make the tests pass. >> >> - Copy only the tests and make an implementation of Traits >> to make tests pass. >> >> - Implement Traits from the ground in Visual Age. >> >> >> >> Any idea of which is the best way to do this?, or if there is a >> better approach? >> >> >> >> Thanks, >> >> DiegoTubello >> >> Luciana Garcia Richter >> >> > > > > -- ______________________________ Lic. Hernán A. Wilkinson Gerente de Desarrollo y Tecnología Mercap S.R.L. Tacuari 202 - 7mo Piso - Tel: 54-11-4878-1118 Buenos Aires - Argentina http://www.mercapsoftware.com --------------------------------------------------------------------- Este mensaje es confidencial. Puede contener informacion amparada por el secreto profesional. Si usted ha recibido este e-mail por error, por favor comuniquenoslo inmediatamente via e-mail y tenga la amabilidad de eliminarlo de su sistema; no debera copiar el mensaje ni divulgar su contenido a ninguna persona. Muchas gracias. This message is confidential. It may also contain information that is privileged or otherwise legally exempt from disclosure. If you have received it by mistake please let us know by e-mail immediately and delete it from your system; you should also not copy the message nor disclose its contents to anyone. Thanks. --------------------------------------------------------------------- |
Hi Hernan,
On Sep 25, 2006, at 13:40 , Hernan Wilkinson wrote: > Hi Adrian, > what do you mean by "automated bootstrapping"?... I understand > what it means by itself but not in the context of traits... Could > you give us an example? Since traits change the behavior of the kernel, loading traits can be problematic (unless you have an atomic load, which we don't have in Squeak). One source of problems is that when loading traits, the code that is run for loading is being modified. Hence, if the methods are not loaded in the right order, the system gets broken very quickly. Another need to do some bootstrapping was because the traits implementation uses traits (to allow for sharing behavior between the classes and the traits class hierarchy)... > I haven't look at the Traits implementation but I know it has > tests... what do they test? do they test the hole implementation? > only the traits composition? They are supposed to test the whole implementation. Many tests are about verifying that the method dictionaries get updated correctly. Those tests work at a high level, hence, they can probably be reused without much change. Cheers, Adrian > > Thanks, > Hernan. > > Adrian Lienhard wrote: >> Hi, >> >> I don't think that it makes sens to try copying the implementation >> from Squeak. It is too much depending on the details of the >> implementation of the classes kernel. What is independent from >> that is the small part which models trait compositions, and of >> course the tests, which will certainly be helpful. >> >> The kernel part is quite straight forward to implement: the main >> thing is to keep track of changed or deleted methods and to >> appropriately update the method dictionaries of affected classes >> and traits. In our implementation, traits are behaviors like >> classes, with the main difference beeing that they cannot be >> instantiated. To get an idea of how this works, have a look at the >> Squeak implementation. You can also find information here [1]. >> >> Of course, the real work then comes when you want to integrate >> traits seamlessly into the environment (code browsers, SCM, >> changesets, etc.), and to have an automated bootstrapping. >> >> Please feel free to ask questions... For papers about traits see [2]. >> >> Cheers, >> Adrian >> >> [1] http://www.adrian-lienhard.ch/files/master.pdf >> [2] http://www.iam.unibe.ch/~scg/Research/Traits/index.html >> >> ___________________ >> Adrian Lienhard >> www.adrian-lienhard.ch >> >> >> On Sep 23, 2006, at 21:18 , Diego Tubello wrote: >> >>> Hi, >>> >>> >>> >>> We are trying to migrate Traits into Visual Age, and thought >>> about three alternatives: >>> >>> - Try to copy squeak implementation into Visualk Age as >>> it is and make the tests pass. >>> >>> - Copy only the tests and make an implementation of >>> Traits to make tests pass. >>> >>> - Implement Traits from the ground in Visual Age. >>> >>> >>> >>> Any idea of which is the best way to do this?, or if there is a >>> better approach? >>> >>> >>> >>> Thanks, >>> >>> DiegoTubello >>> >>> Luciana Garcia Richter >>> >>> >> >> >> >> > > > -- > ______________________________ > Lic. Hernán A. Wilkinson > Gerente de Desarrollo y Tecnología > Mercap S.R.L. > Tacuari 202 - 7mo Piso - Tel: 54-11-4878-1118 > Buenos Aires - Argentina > http://www.mercapsoftware.com > --------------------------------------------------------------------- > Este mensaje es confidencial. Puede contener informacion amparada > por el secreto profesional. Si usted ha recibido este e-mail por > error, por favor comuniquenoslo inmediatamente via e-mail y tenga > la amabilidad de eliminarlo de su sistema; no debera copiar el > mensaje ni divulgar su contenido a ninguna persona. Muchas gracias. > This message is confidential. It may also contain information that > is privileged or otherwise legally exempt from disclosure. If you > have received it by mistake please let us know by e-mail > immediately and delete it from your system; you should also not > copy the message nor disclose its contents to anyone. Thanks. > --------------------------------------------------------------------- > |
In reply to this post by Yann Monclair-2
Thanks!
On Mon, 25 Sep 2006 03:15:09 -0700, Yann Monclair <[hidden email]> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > VAST is now available from Instantiations, http:// > www.instantiations.com/VAST/pd.htm > > > On Sep 25, 2006, at 12:05 PM, Blake wrote: > >> Not to sidetrack, but is visual Age Smalltalk still available? I never >> can find it for PCs on the IBM site. >> > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.3 (Darwin) > > iQCVAwUBRResLpU/hichOrnsAQLENAQA4uswPi60YMLlZ6fKGueiMxL+e7PWMG6U > +HXuDVR2yplGAFb85w4vgvV7VBR28sPpWkIDFap9qQB15pyvpr5LqOV3I6zk1aVC > /yc0FfWnxrHsXDNU5kwDpNg8cJbzXKD4WpUPvhYWMNigXn54GQh3Wb2kkTPr5+bS > jlatUHN+La0= > =qcV6 > -----END PGP SIGNATURE----- > |
In reply to this post by Adrian Lienhard
Thanks for your help!
We'll keep you informed about our progress. Cheers, Diego -----Mensaje original----- De: [hidden email] [mailto:[hidden email]] En nombre de Adrian Lienhard Enviado el: lunes, 25 de septiembre de 2006 16:15 Para: The general-purpose Squeak developers list Asunto: Re: Migrating Traits to Visual Age Hi Hernan, On Sep 25, 2006, at 13:40 , Hernan Wilkinson wrote: > Hi Adrian, > what do you mean by "automated bootstrapping"?... I understand > what it means by itself but not in the context of traits... Could > you give us an example? Since traits change the behavior of the kernel, loading traits can be problematic (unless you have an atomic load, which we don't have in Squeak). One source of problems is that when loading traits, the code that is run for loading is being modified. Hence, if the methods are not loaded in the right order, the system gets broken very quickly. Another need to do some bootstrapping was because the traits implementation uses traits (to allow for sharing behavior between the classes and the traits class hierarchy)... > I haven't look at the Traits implementation but I know it has > tests... what do they test? do they test the hole implementation? > only the traits composition? They are supposed to test the whole implementation. Many tests are about verifying that the method dictionaries get updated correctly. Those tests work at a high level, hence, they can probably be reused without much change. Cheers, Adrian > > Thanks, > Hernan. > > Adrian Lienhard wrote: >> Hi, >> >> I don't think that it makes sens to try copying the implementation >> from Squeak. It is too much depending on the details of the >> implementation of the classes kernel. What is independent from >> that is the small part which models trait compositions, and of >> course the tests, which will certainly be helpful. >> >> The kernel part is quite straight forward to implement: the main >> thing is to keep track of changed or deleted methods and to >> appropriately update the method dictionaries of affected classes >> and traits. In our implementation, traits are behaviors like >> classes, with the main difference beeing that they cannot be >> instantiated. To get an idea of how this works, have a look at the >> Squeak implementation. You can also find information here [1]. >> >> Of course, the real work then comes when you want to integrate >> traits seamlessly into the environment (code browsers, SCM, >> changesets, etc.), and to have an automated bootstrapping. >> >> Please feel free to ask questions... For papers about traits see [2]. >> >> Cheers, >> Adrian >> >> [1] http://www.adrian-lienhard.ch/files/master.pdf >> [2] http://www.iam.unibe.ch/~scg/Research/Traits/index.html >> >> ___________________ >> Adrian Lienhard >> www.adrian-lienhard.ch >> >> >> On Sep 23, 2006, at 21:18 , Diego Tubello wrote: >> >>> Hi, >>> >>> >>> >>> We are trying to migrate Traits into Visual Age, and thought >>> about three alternatives: >>> >>> - Try to copy squeak implementation into Visualk Age as >>> it is and make the tests pass. >>> >>> - Copy only the tests and make an implementation of >>> Traits to make tests pass. >>> >>> - Implement Traits from the ground in Visual Age. >>> >>> >>> >>> Any idea of which is the best way to do this?, or if there is a >>> better approach? >>> >>> >>> >>> Thanks, >>> >>> DiegoTubello >>> >>> Luciana Garcia Richter >>> >>> >> >> >> >> > > > -- > ______________________________ > Lic. Hernán A. Wilkinson > Gerente de Desarrollo y Tecnología > Mercap S.R.L. > Tacuari 202 - 7mo Piso - Tel: 54-11-4878-1118 > Buenos Aires - Argentina > http://www.mercapsoftware.com > --------------------------------------------------------------------- > Este mensaje es confidencial. Puede contener informacion amparada > por el secreto profesional. Si usted ha recibido este e-mail por > error, por favor comuniquenoslo inmediatamente via e-mail y tenga > la amabilidad de eliminarlo de su sistema; no debera copiar el > mensaje ni divulgar su contenido a ninguna persona. Muchas gracias. > This message is confidential. It may also contain information that > is privileged or otherwise legally exempt from disclosure. If you > have received it by mistake please let us know by e-mail > immediately and delete it from your system; you should also not > copy the message nor disclose its contents to anyone. Thanks. > --------------------------------------------------------------------- > |
Free forum by Nabble | Edit this page |