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

Reply via email to