J program usually uses globals to share data. Encapsulation is a paradigm
commonly used by other programming languages, but as said in other posts, J
tends to focus on solving problems. Each programming language has its own
style, J needs not imitate paradigm of other programming languages.

On 26 Apr, 2017 9:19 am, "Xiao-Yong Jin" <[email protected]> wrote:


> On Apr 25, 2017, at 6:30 PM, Eric Iverson <[email protected]>
wrote:
>
> I have not followed this discussion at all and am probably way off base.
>
> But how is:
>
> allocate a few structures, and pass their pointers to the same function in
> separate callings
>
> different from:
>
> allocated a few globals in an agreed upon locale (call it the heap),  and
> pass their names (pointers) to the same verb in separate callings
>
> ?

This question is actually right on spot, and I am struggling with this.
There are two aspects of this problem in my opinion.

1. Unnecessary copying of data, given the current state of the in-place
operations in J.  To have a varied state in J, passing names to verb
essentially amounts to the following operations,

   State =. State Verb Control   NB. akin to usual functional style

Most of the time J would make unnecessary copies of the data in State.
I haven't found a reliable way to avoid extra copying, except for when
the 'Verb' here is a primitive.

2. Inconvenience, if you want to maintain a set of inhomogeneous states.
I can do

   'State1A State1B State1C' = (State1A;State1B;State1C) Verb Control
   'State2A State2B State2C' = (State2A;State2B;State2C) Verb Control

Apart from copying/boxing, there are too many names to keep track of.
I would rather do

   Verb_1_ Control
   Verb_2_ Control

I guess I'm just more familiar with the latter, because it resembles
a common C function:

   void Verb(*Locale, const *Control)

Maybe I'm missing something in J.  Please feel free to correct me.

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to