If I'm not mistaken though, J symbols are not garbage collected, are they?
Wouldn't that be a problem for dictionaries with symbol keys doing a lot of
insertions/deletions?

Sorry if I missed something I. The docs about that.

Cheers,
Raoul

Le lun. 31 janv. 2022 à 21:40, greg heil <ghei...@gmail.com> a écrit :

> i just want to reiterate
> the point Alex Shroyer made
> about k dictionaries
>
> i found them extremely useful
> and upon occasion
> groused about not having them in J
>
> i used them to represent
> an (English) dictionary
> very facile efficient and fast
>
> the fact is our world
> is (mostly) filled
> with ragged objects
> ... not the regular arrays
> that J folk so love
>
> eg
> HTML
> language dictionaries, encyclopedias...
> outlines...
>
> ~greg heil
> picsrp.github.io
> i.tgu.ca/real_cal
>
> --
>
> from: Henry Rich <henryhr...@gmail.com>
> to: programm...@jsoftware.com
> date: Jan 31, 2022, 10:43 AM
> subject: [Jprogramming] Dictionaries WAS: Report on the J wiki meeting
> of January 27, 2022
>
> >Quite right.  Jan-Pieter has at least a good start on the model.  What I
> am suggesting is that the 'more integrated implementation' might not need
> to be much more integrated than the J script.  Searching and sorting are
> already J primitives.
>
> >The deficiency in J is that m&i. gives you a hashtable for searching m,
> but if you modify m you have to recalculate the hash from scratch.  This
> makes m&i. a good read-mostly Dictionary but slow for frequent updates. If
> we can refine the model to the point that such inefficiency is the worst
> problem we have, a little integrated support could finish the package.
>
> Henry Rich
>
> --
>
> from: Eric Iverson <eric.b.iver...@gmail.com>
> to: Programming forum <programm...@jsoftware.com>
> date: Jan 31, 2022, 10:37 AM
> subject: Re: [Jprogramming] Report on the J wiki meeting of January 27,
> 2022
>
> >A good and complete model is the first step. Then it is a matter of how
> much it is used and what drawbacks it might have that would be addressed by
> a more integrated implementation.
>
> --
>
> from: Henry Rich <henryhr...@gmail.com>
> to: programm...@jsoftware.com
> date: Jan 31, 2022, 10:27 AM
> subject: Re: [Jprogramming] Report on the J wiki meeting of January 27,
> 2022
>
> >I have looked into this quite a bit.  I am not convinced that Dictionary
> is a fundamental datatype like number or letter, or that the current symbol
> support is deficient.  That makes the first questions What is a Dictionary?
> and Where can a Dictionary be used in J?
>
> >The use case that would be important to me is a key-value store, aka
> associative memory, where the Dictionary remember keys and values and later
> returns a value when presented with the key. This feels to me like a
> package written in J rather than a J primitive.  A Dictionary would be a
> numbered locale.  The place where I could see added support inside J would
> be in adding to and deleting from hashtables, specifically ones
> created/used by m&i. .
>
> >I invite proposals on what a Dictionary package needs to do.  I have done
> this before, and Jan-Pieter Jacobs responded with a package. Quoting from
> his message of 20210327:
>
> *** QUOTE
>
> install'github:jpjacobs/types_dict@main'
>
> >(except on (my) android, where github installs don't seem to work,
> neither in the Gui version JA nor on the commandline via termux)
>
> >It is pretty simple in use, you just use: d=: dict keys;vals for creating
> the dictionary, which is a OOP object, having the following methods: get,
> set, map, sort, destroy, whose documentation is contained in help_pdict_
>
> >For performance, the create verb precomputes the lookup for the get verb,
> both forward get (key->value) and backward get inv (value->first key) upon
> object creation.
>
> >*** END QUOTE
>
> >I have not looked into this package, but it seems to me to have the right
> entry points.  Can we take that as a starting point to see what needs to be
> added?  The first step of course would be to put the addon under Package
> Manager.
>
> Henry Rich
>
> --
>
> from: Elijah Stone <elro...@elronnd.net>
> to: programm...@jsoftware.com
> date: Jan 31, 2022, 9:58 AM
> subject: Re: [Jprogramming] Report on the J wiki meeting of January 27,
> 2022
>
> >I agree with Eric regarding the challenges of adding dictionaries.
>
> >One issue: I think a necessary prerequisite is improved symbols.
>
> --
>
> from: Eric Iverson <eric.b.iver...@gmail.com>
> to: Programming forum <programm...@jsoftware.com>
> date: Jan 31, 2022, 8:36 AM
> subject: Re: [Jprogramming] Report on the J wiki meeting of January 27,
> 2022
>
> >It seems to me that the big distinction between J and python where J
> falls far short is not in the core language but in the addon libraries. I
> encourage J fans to work away at adding important addons to J!
>
> --
>
> from: Eric Iverson <eric.b.iver...@gmail.com>
> to: Programming forum <programm...@jsoftware.com>
> date: Jan 31, 2022, 8:28 AM
> subject: Re: [Jprogramming] Report on the J wiki meeting of January 27,
> 2022
>
> --
>
> >A J dictionary type is a good idea and it has been kicked around many
> times before. The hard part is not implementing it, but doing a careful and
> thorough spec that is backed by a complete model written in J.
>
> >Presented with a full spec that had community buy in, would probably be
> followed by implementation.
>
> --
>
> from: Alex Shroyer <ashro...@gmail.com>
> to: programm...@jsoftware.com
> date: Jan 31, 2022, 8:14 AM
> subject: Re: [Jprogramming] Report on the J wiki meeting of January 27,
> 2022
>
> --
>
> >agree with Raoul that competing with Python is not a good idea. But J can
> learn from Python's decisions (good and bad) to grow and improve. In my
> opinion, numpy is Python's "killer app" because it brings reasonable
> performance without much conceptual overhead. The feature of Python that
> enabled numpy is its extensibility, down to the C layer.
>
> There are other good features of Python that J could copy, in
> particular the 'dictionary' data type. The array language K has
> dictionaries, so J might take some inspiration from there for
> integrating them into the language.
>
> Cheers,
> Alex
>
> --
>
> from: Raul Miller <rauldmil...@gmail.com>
> to: programm...@jsoftware.com
> date: Jan 31, 2022, 7:02 AM
> subject: Re: [Jprogramming] Report on the J wiki meeting of January 27,
> 2022
>
> --
>
> What does "competing with python" mean?
>
> >(I suspect that we must "compete" in some contexts, but I also imagine
> that "competition" would be irrelevant in many, many contexts. But.. as a
> programming exercise, I don't know how to conceptualize these distinctions.)
>
> Thanks,
>
> --
>
> from: Raoul Schorer <raoul.scho...@gmail.com>
> to: programm...@jsoftware.com
> date: Jan 31, 2022, 2:30 AM
> subject: Re: [Jprogramming] Report on the J wiki meeting of January 27,
> 2022
>
> >Just my 2c, but I think that competing with python in general is somewhat
> delusional. I think the key point for expanding J use to have a "killer J
> app". For example, an improved clone of or excellent plugin for VisiData (
> https://www.visidata.org/) is my idea of a killer app. But someone here
> may have a better idea?
>
> >Cheers,
> Raoul
>
> >--
>
> from: Ric Sherlock <tikk...@gmail.com>
> to: Programming JForum <programm...@jsoftware.com>
> date: Jan 30, 2022, 6:50 PM
> subject: Re: [Jprogramming] Report on the J wiki meeting of January 27,
> 2022
>
> >Yes from a data structure point of view, inverted tables get you a lot of
> the way (note they're also available in the 'general/misc' addon - load
> 'general/misc/inverted' ) and I've used them to good effect in my
> 'data/struct' addon (https://github.com/tikkanz/data_struct). I agree
> that J's arrays are more general, flexible & powerful. But when you're
> dealing with a tabular data set there is an overhead to keeping the fields
> in a table in sync that dataframes can help with. Perhaps it's something
> abstracting the structure so you don't have to deal so much with the
> mechanics of manipulating it? At least for me :)
>
> --
>
> from: Elijah Stone <elro...@elronnd.net>
> to: Programming JForum <programm...@jsoftware.com>
> date: Jan 30, 2022, 6:29 PM
> subject: Re: [Jprogramming] Report on the J wiki meeting of January 27,
> 2022
>
> --
>
> https://code.jsoftware.com/wiki/Essays/Inverted_Table, perhaps?
>
> >That said, I think a great strength of j is that data are _not_
> explicitly tabular.  The associations are defined in an ad-hoc manner as
> needed by the programmer.  This is also an essential difference between the
> array paradigm and the relational paradigm (cf SQL): in the former,
> pointers come with implicit context; in the latter, that context must be
> explicit.
>
> -E
>
> >P.S. regarding analysis/optimization: I would love to see it, but for
> some reason everybody is scared of building a compiler because of the
> parsing problem.
>
> --
>
> from: Ric Sherlock <tikk...@gmail.com>
> to: Programming JForum <programm...@jsoftware.com>
> date: Jan 30, 2022, 6:21 PM
> subject: Re: [Jprogramming] Report on the J wiki meeting of January 27,
> 2022
>
> >Yes, I've been thinking that a Dataframes equivalent in J would be
> useful. Most things are already possible with J's arrays, but conceptually
> DataFrames are well understood by many now, and they make it easy to work
> with datasets as named fields. I've spent a reasonable amount of time
> working with Pandas, but have recently been using Polars (Rust backend with
> Python bindings) which really shines for larger datasets. Performance
> (especially read/write) is awesome, and the LazyFrames which optimise your
> query/analysis plan make a big difference too. I haven't taken enough time
> to explore it, but maybe Jd is the starting point in this space for J?
>
> --
>
> from: Michail L. Liarmakopoulos <m.l.liarm...@gmail.com>
> to: programm...@jsoftware.com
> date: Jan 30, 2022, 12:06 PM
> subject: Re: [Jprogramming] Report on the J wiki meeting of January 27,
> 2022
>
> Hello Elijah,
>
> >Yes, I believe you're right. I don't have much experience with them yet
> though, so I cannot compare.
>
> Best,
>
> ---
> Michail L. Liarmakopoulos, MSc
>
> --
>
> from: Elijah Stone <elro...@elronnd.net>
> to: programm...@jsoftware.com
> date: Jan 30, 2022, 12:04 PM
> subject: Re: [Jprogramming] Report on the J wiki meeting of January 27,
> 2022
>
> --
>
> On Sun, 30 Jan 2022, Michail L. Liarmakopoulos wrote:
>
> >> There is also out there an amazing python library for symbolic
> calculations (like the ones you can do with Mathematica or WolframAlpha:
> symbolic evaluation of definite and indefinite integrals, symbolic
> solutions of diff. equations, symbolic solutions of algebraic and
> Diophantine equations etc...).  It's called sympy.
>
> >> But I'm not sure if you'd like J to include symbolic computations too
> or if the aim of the language is to excel only in numerics, data analytics,
> stats, whatever can be quantified pretty much.
>
> Aren't there some symbolic calculus library functions?
>
> >(Though I doubt they're anywhere near the level of mathematica, let alone
> sympy.)
>
> --
>
> from: Michail L. Liarmakopoulos <m.l.liarm...@gmail.com>
> to: programm...@jsoftware.com
> date: Jan 30, 2022, 12:01 PM
> subject: Re: [Jprogramming] Report on the J wiki meeting of January 27,
> 2022
>
> Hello all,
>
> >I find any parallels between python and J pretty interesting, being a
> person with some python experience and an interest of the applications of
> both python and J in mathematical modelling, analytics, computational math
> and perhaps computational physics too.
>
> >If you'd like to bring some features from the python math/analytics
> libraries/ecosystem in J, I'd suggest you to look at the features of three
> libraries:
>
> >- numpy (I believe most features are already covered from the built in
> features of an array language such as J)
>
> - pandas ( a nice library for manipulating csv files within python as
> dataframe objects -- see the dataframes from the R language)
>
> >- scipy (a collection of methods and functions ranging from solving
> numerically: differential equations, evaluating definite integrals,
> constrained and unconstrained optimization, and I believe statistics too)
>
> >There is also out there an amazing python library for symbolic
> calculations (like the ones you can do with Mathematica or WolframAlpha:
> symbolic evaluation of definite and indefinite integrals, symbolic
> solutions of diff. equations, symbolic solutions of algebraic and
> Diophantine equations etc...).  It's called sympy.
>
> >But I'm not sure if you'd like J to include symbolic computations too or
> if the aim of the language is to excel only in numerics, data analytics,
> stats, whatever can be quantified pretty much.
>
> >My few cents as food for thought.
>
> Best regards,
>
> ---
> Michail L. Liarmakopoulos, MSc
>
> --
>
> from: R.E. Boss <r.e.b...@outlook.com>
> to: "programm...@jsoftware.com" <programm...@jsoftware.com>
> date: Jan 30, 2022, 11:39 AM
> subject: Re: [Jprogramming] Report on the J wiki meeting of January 27,
> 2022
>
> >I copied the first chapter of the book A Journey to Core Python (in
> https://drive.google.com/file/d/1p1uIANh-LFniNNRqjDeeWWd4_-ddEZmz/view?usp=sharing)
> and have the question: do we want that J is competitive with Python?
>
> >If the answer is yes, the next question is: what is the to do list to be
> competitive and how long will it take?
>
> >(And then the unavoidable question: WHY?)
>
> >Personally I think we must aim on the niches in the market, as there are
> the mathematical oriented people, e.g. the broad scientific community.
>
> >Then all people experienced in Excel or other spreadsheets or calculation
> tools.
>
> >Schools and universities. Financial and statistical oriented people.
>
> >What we should do, IMHO, is
>
> >- to emphasize the strengths of J,
>
> >- to improve (considerably) the error handling of J,
>
> >- to admit the steep learning curve,
>
>
> >- to facilitate the use of mnemonics instead of primitives (I tried this
> afternoon the primitives.ijs for half an hour, but was not capable of use
> any mnemonic, not even with
> https://code.jsoftware.com/wiki/Primitives_to_Mnemonics)
>
> >- to decide which of the features, benefits or applications (of Python)
> we want J to have.
>
> >Just my 2 cents.
> >R.E. Boss
> ----------------------------------------------------------------------
> 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