Hi,

Experienced users have discussed the impracticality of implementing
dictionaries using a dataclass due to the calling convention implying
string manipulation. I wish to submit the following idea for examination:

dict.ijs: a dataclass, with private names 'key', 'val' and public method
'put' returning coname''
called as: 'a' put__dictinstance 0

chain.ijs: defines into locale z verbs that call dict instance methods, for
example:
put =: conjunction define
 loc =. ": > y
 ". (":u),'put_',loc,'_ ',":v
)

this would allow something like:
d =: '' conew 'dict'
'b' put 1 'a' put__d 0

No?

Cheers,
Raoul

On Mon, Feb 7, 2022 at 1:02 AM Hauke Rehr <hauke.r...@uni-jena.de> wrote:

> namespaces are a general need in programming
> objects orientation has its niches where it actually makes sense
>
> even Guido van Rossum’s extremist object oriented language says
>
> $>python
> Python 3.9.4 (default, Apr 16 2021, 23:37:41)
> [GCC 7.5.0] on linux
> Type "help", "copyright", "credits" or "license" for more information.
>  >>> import this
> The Zen of Python, by Tim Peters
>
> Beautiful is better than ugly.
> Explicit is better than implicit.
> Simple is better than complex.
> Complex is better than complicated.
> Flat is better than nested.
> Sparse is better than dense.
> Readability counts.
> Special cases aren't special enough to break the rules.
> Although practicality beats purity.
> Errors should never pass silently.
> Unless explicitly silenced.
> In the face of ambiguity, refuse the temptation to guess.
> There should be one-- and preferably only one --obvious way to do it.
> Although that way may not be obvious at first unless you're Dutch.
> Now is better than never.
> Although never is often better than *right* now.
> If the implementation is hard to explain, it's a bad idea.
> If the implementation is easy to explain, it may be a good idea.
> Namespaces are one honking great idea -- let's do more of those!
>  >>>
>
> Objects aren’t mentioned at all.
> Namespaces are, and that statement is oh so true.
>
> Am 07.02.22 um 00:10 schrieb Raul Miller:
> > On Sun, Feb 6, 2022 at 4:34 PM 'Pascal Jasmin' via Programming
> > <programm...@jsoftware.com> wrote:
> >> J is poor at compound expressions that operate on an object.
> >
> > J's object model is about encapsulating administrative boundaries --
> > it was not designed to replace primitives. J's objects / locales allow
> > people to work while  minimizing the need to contend with other people
> > on issues of namespace collisions.
> >
> > Objects for everything works, of course (see also: turing equivalence)
> > -- but it tends to be inefficient for many things (and have required
> > massive efforts to approach J's level of efficiency on arrays and
> > array operations).
> >
> > (Personally, I would much rather concern myself about physically
> > useful interfaces and mechanisms than focus on re-inventing a wheel
> > which has already been re-invented countless times.)
> >
> > That said, dictionaries with composable functions might eventually
> > lead to an object-like mechanism which could compete with locales.
> > And, I guess this was still an interesting observation.
> >
> > Thanks,
> >
>
> --
> ----------------------
> mail written using NEO
> neo-layout.org
> ----------------------------------------------------------------------
> 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