Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-03-16 Thread Eric Iverson
Pascal, I have not yet had a chance to look at your proposed dictionary addon. But I will. And it is nice that Raul is paying attention. I want to strongly second your comment that locales are not at all appropriate for this. Locales are good for what they are good for. Using them for a serious

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-03-14 Thread chris burke
Right, it is the hyphen in pascal-j. On Tue, Mar 15, 2022 at 10:35 AM bill lam wrote: > the verb getscripts_j_ is used to resolve file in load/require. Maybe it is > the hyphen in "pascal-j" . > > On Tue, Mar 15, 2022 at 10:25 AM Raul Miller > wrote: > > > And... it looks like the answer to

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-03-14 Thread bill lam
the verb getscripts_j_ is used to resolve file in load/require. Maybe it is the hyphen in "pascal-j" . On Tue, Mar 15, 2022 at 10:25 AM Raul Miller wrote: > And... it looks like the answer to "damaged system libraries" is: > reinstall. I found that getpackageurl_jpacman had been damaged, I must

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-03-14 Thread Raul Miller
And... it looks like the answer to "damaged system libraries" is: reinstall. I found that getpackageurl_jpacman had been damaged, I must have fat fingered it. And, reinstalling the base library fixed it. But I'm still puzzled by the question about the use of require. Why doesn't

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-03-14 Thread Raul Miller
Ok, now I have some questions for the isi people, which I do not see covered in https://code.jsoftware.com/wiki/Addons/Developers_Guide (1) To test this addon, I did: install'github:rdm/kv' And that installed a copy of the addon at pascal-j/kv (and gave me a message that it had done so). So,

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-03-14 Thread Raul Miller
On Mon, Mar 14, 2022 at 4:23 PM 'Pascal Jasmin' via Programming wrote: > I'll remind "the world" that a dictionary implementation has been published: > https://github.com/Pascal-J/kv I have sent you a pull request, which should enable installation of pascal-j/kv as a github based addon. (And,

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-03-14 Thread 'Pascal Jasmin' via Programming
I'll remind "the world" that a dictionary implementation has been published:  https://github.com/Pascal-J/kv I'll defend it as being the most J friendly implementation for having functional access + manipulation features, it further has, through the kvO adverb, the ability to J-optimize access

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-03-14 Thread Raul Miller
On Mon, Mar 14, 2022 at 10:01 AM Michal Wallace wrote: > In j-kvm (that console library I've been working on), I implemented a > simple verb that I really wish had a standard name in J: > > of =: {{ (x,'__y')~ [ y }}"1 0 Conceptually, the isi people have set things up so that people in the

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-03-14 Thread Michal Wallace
It's true that dictionaries aren't really a "fundamental" data type, since they're easy to implement atop arrays. But I think for a lot of people, they've become a fundamental "thinking type"... I think jan-pieter's requirements list is a good start. I would add: - nice syntax for constructing

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-02-02 Thread Aaron Ash
I’ve successfully tested it on linux at least, looking through the source though it looks like it only reads from parquet at the moment, I must not have tested writing yet. The bindings aren’t too complex though, it might be straightforward to add a writeParquet verb if that functionality is

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-02-02 Thread Ric Sherlock
Thanks Aaron - that looks really promising. Will check it out & see if I can get it to work. On Wed, Feb 2, 2022 at 8:48 PM Aaron Ash wrote: > There's also these J bindings that can be used to read/write parquet > files directly from J: https://github.com/interregna/JArrow > > On Wed, Feb 2,

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-02-02 Thread Ric Sherlock
Thanks Stefan, Had a quick look and liked the sound of being able to work with larger-than-memory datasets by analysing streams from data sources, however wasn't so impressed by the DuckDB showing (out-of-memory) on this benchmark site https://h2oai.github.io/db-benchmark/ However it looks like

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-02-01 Thread Aaron Ash
There's also these J bindings that can be used to read/write parquet files directly from J: https://github.com/interregna/JArrow On Wed, Feb 2, 2022 at 5:27 PM Stefan Baumann wrote: > > Ric, You might want to check out DuckDB (https://duckdb.org/), I recently > used it for reading and writing

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-02-01 Thread Stefan Baumann
Ric, You might want to check out DuckDB (https://duckdb.org/), I recently used it for reading and writing Parquet files. It's similar to SQLite but intended to be used for analytics. Stefan. On Wed, Feb 2, 2022 at 5:29 AM Ric Sherlock wrote: > I spend a fair bit of time wrangling data formatted

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-02-01 Thread Ric Sherlock
Hi Chris, I haven't been using R much at all over the last few years, so haven't had much to do with tibbles. Just looked them up now and they do seem more sane. Most of my recent work has been with Polars Dataframes ( https://github.com/pola-rs/polars) which are based on Apache Arrow Columnar

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-02-01 Thread chris burke
Ric For the dataframes equivalent, are you thinking of the more recent tibble structure in tidyverse? This is easier to understand than the original dataframes. If so, this is a worthwhile addon for J. I worked on something similar recently. If you or anyone else is interested, we could

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-02-01 Thread Scott Locklin
One of the problems you're going to run into right away with making dictionaries a core part of J is the concept of rank, which doesn't really exist in K (everything is a rank 1 list, hooked together by dictionaries). At the end of the day, what I think most people want from maps/dictionaries is

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-02-01 Thread Devon McCormick
You might search for "Beginner's Regatta" on the J wiki to see if the beginner-oriented sections of our NYCJUG meetings are helpful. On Mon, Jan 31, 2022 at 7:44 PM Raul Miller wrote: > I would not worry too much about "the J way of thinking" -- J is a > tools, but it's not the only tool. > >

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-02-01 Thread 'Rob Hodgkinson' via Programming
OK that went through, anyone who wants a copy of the full PDF, please just email me directly and I will share it. Rob (email me directly at http://me.com/>> (no spaces) > On 2 Feb 2022, at 12:22 am, 'Rob Hodgkinson' via Programming > wrote: > > I did attach as a txt file in my sent email,

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-02-01 Thread 'Rob Hodgkinson' via Programming
I did attach as a txt file in my sent email, but it seems to have been stripped … (I thought .txt files were ok to the mailing list now ??). I’ll try once more here, if not people can ask me and I’ll email them or put on a google drive and share with whoever requests. Thanks Rob, plain txt

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-02-01 Thread 'Rob Hodgkinson' via Programming
Dictionaries in q/k are actually a core part of the language, not just a tool or package. Dictionaries are the tool behind namespaces. Dictionaries are also the ‘items’ in the table data structures. If you have a list of dictionaries of keys and equal length values, then in the special case:

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-02-01 Thread Danil Osipchuk
I would second looking at how k approaches dictionaries regarding operations available and their domain. Uniformity between lists, dictionaries and function calls is really elegant there too (although likely out of reach - but maybe still having some parts of syntactic sugar is possible - like

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Raul Miller
Another model to think about here is K's implementation, where the symbol table is a tree, and thus supports contexts which do not have equal length columns. -- Raul On Mon, Jan 31, 2022 at 9:54 PM Ric Sherlock wrote: > > otoh, we already have a binding to R where you can deal > > with

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Ric Sherlock
> otoh, we already have a binding to R where you can deal > with dataframes easily – do we want to “compete” here, too? > > In terms of whether to just adopt/use one of R's/Pandas'/Polars'/Julia's dataframes rather than reinventing the wheel - I think for me that if it were possible to use J

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Ric Sherlock
Yes that lines up with my thoughts on how this could work. As has already been suggested this is essentially the structure used by 'general/misc/inverted' which then already models how some of the J primitives would operate on it. The bit that is missing, as you point out is the toolset to

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Elijah Stone
Here is my proposed semantics: currently an array is a function N_n0 * N_n1 * N_n2 ... -> A. A is some atomic type; n0 n1 n2 ... are the shape of the array; N_n denotes the set of non-negative numbers less than n. Adding dictionaries means extending the potential domain of an array to

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Elijah Stone
On Mon, 31 Jan 2022, Raul Miller wrote: It was overtake along the dimension indexed by symbols that I anticipated problems. Ah, I see. I do not think take should be specified in such cases, let alone overtake. I do not think keys should be ordered, either. Really, there are two issues to

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Elijah Stone
On Mon, 31 Jan 2022, Vanessa McHale wrote: q/k is faster, I think because it’s ordered by default - maybe something like ordered dataframes could be implemented in J? What do you mean by ordered? Sorted? I know some versions of k will track when an array is sorted. But at the volumes they

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Hauke Rehr
I also long time wanted to try it. I had no urgent need of it, so time just went by … boxed list of columns if we want mixed datatypes which would be necessary for a drop-in replacement of dataframes the list of column names imo should not be separated but those are implementation concerns

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Raul Miller
On Mon, Jan 31, 2022 at 4:26 PM Elijah Stone wrote: > Obviously such arrays would have to be rectangular, that is homogenous. > So for instance, if I have a rank 2 array where the first axis is integral > and the second is symbolic, every row will have the same set of keys. So > I think overtake

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Raul Miller
I think a dataframe, in J would basically be a boxed list of columns, and some associated list of column names. It's the toolset we would build up to work with such a thing that would make it useful. (And maybe Jd is such a toolset? I do not know -- I have not motivated myself to try Jd yet...)

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Raul Miller
I would not worry too much about "the J way of thinking" -- J is a tools, but it's not the only tool. Setting aside a bit of time -- maybe half an hour a day, several days a week -- is good for picking up the skills involved with using a tool. In the context of J that would be time spent working

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Vanessa McHale
I’ve tried Jd, it’s equivalent to pandas I think (and about as performant) though it’s persistent (being a database). q/k is faster, I think because it’s ordered by default - maybe something like ordered dataframes could be implemented in J? Cheers, Vanessa McHale > On Jan 30, 2022, at 8:21

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Hauke Rehr
I’d rather have the shape with respect to the topmost other kind. First axis numeric: the numeric shape below which the first symbolic one occurs first axis symbolic: vice versa you may need to check the return value of the adjusted implementation of the datatype primitive for those “other kind”

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Elijah Stone
On Mon, 31 Jan 2022, Elijah Stone wrote: I think it makes most sense to make symbolic axes positive, same as normal axes. Non-negative, of course! A question is what the shape of a partly symbolic array should be. (Or completely symbolic; I just meant not completely numeric.) -E

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Elijah Stone
https://www.jsoftware.com/papers/array1.htm#5 relevant. Permitting multidimensional dictionaries--or arrays some of whose axes are indexed by symbols--is interesting, and I had not thought of it (though it is somewhat obvious). Obviously such arrays would have to be rectangular, that is

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Steven Harris
Well Brian that is my motivation for J too, but so far I have not been able to make any significant progress into the J way of thinking. I'm nearly on the point of admission defeat here. Cheers Steven. On Tue, 1 Feb 2022 at 06:52, Brian Schott wrote: > One of the main reasons I have

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Raul Miller
That's a good point. Conceptually, a "dictionary" is an implementation which supports indexing along the lines of (ref i. names) { values And, an array where at least one dimension is symbols instead of integers would be in the right ballpark. That said, this would share some aspects with

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Brian Schott
One of the main reasons I have continued to use J has been because of all the powerful primitives and because of the mental challenge of using the primitives effectively. For me I imagine J is almost like a video game for the younger generation: it is a challenge with great rewards and unmatched

[Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Pawel Jakubas
Dear J enthusiasts, As a newly joint J enthusiast and the programmer that have worked in many environments/technologies I would say J should definitely not mimic python or compete with it directly (of course it could take good bits from it and learn hard lessons there) but focus even more on the

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Eric Iverson
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. On Mon, Jan 31, 2022 at 1:27 PM Henry Rich wrote: > I have looked into this quite a bit. I am not convinced that

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Henry Rich
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

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Elijah Stone
I agree with Eric regarding the challenges of adding dictionaries. One issue: I think a necessary prerequisite is improved symbols. On Mon, 31 Jan 2022, Alex Shroyer wrote: I agree with Raoul that competing with Python is not a good idea. But J can learn from Python's decisions (good and bad)

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Eric Iverson
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! On Mon, Jan 31, 2022 at 11:27 AM Eric Iverson wrote: > A J dictionary type is a good idea

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Eric Iverson
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

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Alex Shroyer
I 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

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Raul Miller
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, -- Raul On Mon, Jan 31,

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-31 Thread Raoul Schorer
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

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-30 Thread Ric Sherlock
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

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-30 Thread Elijah Stone
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

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-30 Thread Ric Sherlock
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

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-30 Thread Michail L. Liarmakopoulos
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 On Sun, Jan 30, 2022, 21:04 Elijah Stone wrote: > On Sun, 30 Jan 2022, Michail L. Liarmakopoulos wrote: > > > There is also out there an

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-30 Thread Elijah Stone
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

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-30 Thread Michail L. Liarmakopoulos
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

Re: [Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-30 Thread R.E. Boss
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

[Jprogramming] Report on the J wiki meeting of January 27, 2022

2022-01-28 Thread 'robert therriault' via Programming
Present: Art Anger, Will Gajate, Devon McCormick, Raul Miller, Bob Therriault 1) Will Gajate reported very good progress on the J playground with Joe Bogner managing to get j903 working. Joe continues to do amazing work and is providing a great contribution to the J community. The next step is