Hi David,

> On 16 Feb 2021, at 20:49, David Pennington <da...@totallyobjects.com> wrote:
> 
> Hi everyone. I have been using Pharo sine I got my M1 MacBookAir in late 
> December. Before then, I was a VAST user since around 1995.
> 
> I have a question about packaging. Example, in VAST, I have an Application 
> called Family_Accounts. Inside that I have some classes such as FAEntry, 
> FABudget and so on. If I wanted to extend String to add an instance to 
> convert to ScaledDecimal but using my special amount strings. I select the 
> New menu item and then select either a class or an extension. As I want to 
> extend String, I select Extension and then, within my Family_Accounts, I can 
> see the String class so that I can extend it.
> 
> In Pharo, I can have a package called Family_Accounts. I can extend String, 
> OK  but my extension stays within the original package with, optionally, a 
> Family_Accounts classification.  I can’t see how to add String to the 
> Family_Accounts package to keep everything together in one place. Can this be 
> done?
> 
> David

Extension methods are placed in method categories named after the package, 
*Family_Accounts. With the Calypso Browser, the UI hides this. At the bottom 
right there is a checkbox to make your method an extension and to chose the 
package to place it in. It can be a bit hard to use or confusing, but it does 
work.

Also, once you have extensions, they will show up as a virtual package (sub) 
category, which is very nice to get an overview.

I am sure this is described in some documentation somewhere.

Sven

Reply via email to