Thanks. I agree with the points you made regarding K's simplicity over J. I think there is also a fair share of complex things in K that aren't in J - such as the barely documented namespaces of q,h,z, functional select and my perception of overloading symbols with too many operations. Every language has warts and every language has powerful features that are perceived as warts.
Regarding the expanded capabilities - I agree that J could benefit from having an additional type to represent tables of data (in K it's lists of dictionaries or tables). This was a motivation for me to add tables to MicroJ - http://csilo.com/static/DataAnalysisWithJ.html ... That being said, working with the native primitives against tables of data is fairly effective once the patterns are understood. I don't understand the issue with uneven lines. I haven't encountered that before. Can you give a more concrete example of it? Sidebar: Jan-Pieter Jacobs has shared some J ML code at https://gist.github.com/jpjacobs I am interested in the application of J to ML problems because I have an desire to understand how things work. I think J is uniquely well-suited for that because it is an executable notation. The more advanced notation found in textbooks or wikipedia often has me stumped. J's expressiveness is a nice blend between the math notation and verbose implementation of ML in other languages. On Tue, Nov 3, 2015 at 3:15 PM, Wendell P <[email protected]> wrote: > On Mon, Nov 2, 2015, at 05:10 PM, Joe Bogner wrote: > > On Nov 2, 2015 2:34 PM, "Wendell P" <[email protected]> wrote: > > > eventually decided to go with K/Q because Arthur Whitney has done an > > Hi Wendell, can you elaborate on a few of the points you made? > > 1. How do you see K as a simpler language than J? > > 2. What facilities for data manipulation are you referring to and what > > would a library in J provide? > > Although at first glance K looks similar to J, it really is not an APL, > since it is based on lists rather than arrays. Most of the > simplifications follow from this. There is no shape, rank, and boxing. > Syntax is cleaner for list operations and control structures. Functions > have more conventional syntax and can take arbitrary number of > arguments. I don't think much could be done with J in this regard, > except maybe some small cleanup in the syntax and naming conventions. > > As for expanded capabilities, I was mainly thinking of two features that > are very nice for handling text, dictionaries and the ease of processing > uneven lines. > > All that said, I would use J if the libraries I need were already built, > since I practically have to start from scratch with K/Q. Although > traditional APL culture has been all about custom tools and there > doesn't seem to be much interest here, I think machine learning could be > a big opportunity for J. Although R and Python are now popular, data > sets are so big that running time is a major concern. An array language > that is also fast would attract attention if a usable ML implementation > were available. For general ML, I'm thinking of libraries like > Scikit-learn, Weka, and Shogun. For text mining, the model library is > Gensim. > > -- > http://www.fastmail.com - Email service worth paying for. Try it for free > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
