Raul removes one obstacle in the way of new_name_ to distinuish whether to call create by what is commonly known as default contructor and distructor.
It also further ensures a principle common in many "more truly" OO languages (unlike C++), that every object derives from one common ancestor. In J's case it's locale 'z'. There has been a pattern occurring previously which called for creation of ad hoc lightweight objects without the need to declare create and destroy. This approach provides such possbility. As for COCREATOR, it's only use is registered in the the input package as the object holding a callback on input completion. However, as we look at a more substantial and recent package, the grid, it was realized there that the above callback lacks flexible separation and instead a locale is accepted as an argument. This approach is more robust and echoed in common successful OO parterns such as Delegate and Listener, where such objects are of independent arbitrary classes not constrained by place of invokation. The opposit practice of callbacks embeded in host form, as used in VB and default .NET wizzards, are lacking effective reuse: you are forced in every form to define the same callbacks over and over again. Also note that the callback patterns occur much rarer than overall OO usage, but the COCREATOR is created every time and just sits there idle. --- "Miller, Raul D" <[EMAIL PROTECTED]> wrote: > new_z_=:3 :0 > o=. cocreate'' > ((,copath)coname'') copath o > create__o y > o > ) > create_z_=: ] > destroy_z_=: [EMAIL PROTECTED] __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
