Live data from Hacker News

Arthur Whitney releases an open-source subset of K with MIT license

shakti.com

61–70 of 234 posts

Re: Arthur Whitney releases an open-source subset of K with MIT license

#61
Those are some very big claims with respect to performance. Has anyone outside of the author been able to reproduce the claims, considering you need to pay 100k/month just to do it?

I also wonder if the commercial version has anti-benchmark clauses like some database vendors. I've always seen claims that K is much faster than anything else out there, but I've never seen an actual independent benchmark with numbers.

Edit: according to https://mlochbaum.github.io/BQN/implementation/kclaims.html, commercial licenses do indeed come with anti-benchmark clauses, which makes it very hard to take the one in this post at face value.

Re: Arthur Whitney releases an open-source subset of K with MIT license

#62

This language is very popular among quant finance people associated with Morgan Stanley. I don’t see the appeal myself. Maybe it helps prevent people stealing the code since it’s so awful looking to work with! At one point I had to learn it and I think I’ve totally forgotten it now— it’s like my brain repressed it. Not my cup of tea, that’s for sure.

Most people I know who actually learn an array language like k or j usually grow to appreciate the expressiveness and cleverness of these languages. Typically, people have your reaction who have only looked at it and tried it very briefly. I'm surprised. Why did you have to learn it? Where?

Re: Arthur Whitney releases an open-source subset of K with MIT license

#63
post #41
post #36

Earlier quoted context omitted.

I recommend checking out more of the APL family language family and the history of the notation, highly interesting. Almost like a parallel universe of computing, when you look past the syntax.

Yes, but C isn't APL. I don't buy it that this how it was written from day 1. Occam's razor and all, this is obfuscated C, not code written by an alien superintelligence.

Whitney is famous for writing code like this, it's been his coding style for decades.

For example, he wrote an early J interpreter this way in 1989. There's also a buddy allocator he wrote at Morgan Stanley that's only about 10 lines of C code.

https://code.jsoftware.com/wiki/Essays/Incunabulum

https://github.com/tavmem/buddy/blob/master/a/b.c

Re: Arthur Whitney releases an open-source subset of K with MIT license

#64
post #46

This reads like the incomprehensible ramblings of a mentally ill patient scribbling in the walls. There is zero context, zero explanation. Very vague or incomplete statements scattered all over the place. I don't understand what someone not already familiar with the project is supposed to take away from this. Is the terseness of the site mean to reproduce the terseness of the language? Is that the gimmick?

> I don't understand what someone not already familiar with the project is supposed to take away from this.

This isn‘t an advocacy piece directed at the general public. You‘re not his audience.

Fortunately, there is secondary commentary, like this thread, so we can get an idea what this is about.

Re: Arthur Whitney releases an open-source subset of K with MIT license

#65

Earlier quoted context omitted.

The only possible advantage I can think of is that you can fit more code on one screen so I guess in theory you can see your context more easily. But that seems pretty minor compared to... well, look at it! I read a couple of other threads and some people try to claim less code = fewer bugs, but that's pretty clearly nonsense otherwise minifiers would magically fix bugs. As for why people actually use this (it seems…

> But they [regexes] also tend to be completely unreadable Regular expressions can be constructed using various syntaxes. Some are optimized for writing them out quickly, and some are not. Choose the latter when going to production, and you'll be fine. As for K/J/APL - it's similar. You can write incredibly terse code which works wonderfully in a REPL (console). Working in an interactive manner is the default mode of…

Yeah exactly my point. But it seems like some people are using dense K/J/APL code in production which is just mad.

Re: Arthur Whitney releases an open-source subset of K with MIT license

#66
post #11
post #3

Not very informative homepage... A lang+db? Fast on one machine? Or does it distribute?

I would be surprised if the database is here. Does not it rely on Q?

This is a new implementation not related to Q (same main author of course though).

Re: Arthur Whitney releases an open-source subset of K with MIT license

#67
post #32

Earlier quoted context omitted.

You may not believe it, but that's how K/Q/J people write C code. Bonus: Go visit and do "View Source" on that website. Even HTML has fragrance of K.

I don't understand how. How do you debug something this? How do you go about fixing a bug? There are no docs nor tests. It seems like one would spend hours just trying to understand what's going on. Is there a good source on their methodology? Because my mind is blown.

Try J or APL, K, BQN, or April, and be prepared to rethink how you implement solutions to problems you've tackled in other PLs. I am an array language user and fan. I have been playing with April and I use J regularly at home and sometimes for work when I can.

From the April github site: "April compiles a subset of the APL programming language into Common Lisp. Leveraging Lisp's powerful macros and numeric processing faculties, it brings APL's expressive potential to bear for Lisp developers. Replace hundreds of lines of number-crunching code with a single line of APL."

  https://github.com/phantomics/april

Re: Arthur Whitney releases an open-source subset of K with MIT license

#68

This is probably his last attempt at leaving a legacy given his age. I wonder if Wolfram would do something similar.

There is a lot to learn from him; tiny binaries, super fast performance; programming style you like or don't, that's fine. To have a 200kb binary that's a programming language + database is very nice. It's great we can study a part of it and probably more in the future. We went overboard with bloating and complexity; it's good to be shown you can write current enterprise/commercial products that fits in the memory of…

Sadly this isn't the norm.

Imho software size should reflect complexity of the problem domain. Not arbitrary metrics like say, the capabilities of a system executing it.

So "Hello World!" should weigh in at mere bytes. Not KBs or even MBs.

Re: Arthur Whitney releases an open-source subset of K with MIT license

#69
post #41

Earlier quoted context omitted.

Yes, but C isn't APL. I don't buy it that this how it was written from day 1. Occam's razor and all, this is obfuscated C, not code written by an alien superintelligence.

haven't you ever written code with single letter variable names and it makes sense to you? and then been forced to read somebody else's code with single character variable names and found it completely inscrutable? this is just that on (a lot of) steroids

No I don't write entire C programs with single letter variables, because there is no way where "c" is more readable than "cnt" or "count". With the usual exception of "for(int i", x, and y variable inside small scopes.

If I was paid by the hour to write C, then I'd use single letter variables too, but I'm too lazy to do twice the work, when I can make my life simpler.

Simplicity is a virtue, there is nothing interesting about complexity for complexity's sake.

In the words of Terry Davis: https://youtu.be/k0qmkQGqpM8?si=larQzV0Ngdba6vQI

Re: Arthur Whitney releases an open-source subset of K with MIT license

#70

Earlier quoted context omitted.

The only possible advantage I can think of is that you can fit more code on one screen so I guess in theory you can see your context more easily. But that seems pretty minor compared to... well, look at it! I read a couple of other threads and some people try to claim less code = fewer bugs, but that's pretty clearly nonsense otherwise minifiers would magically fix bugs. As for why people actually use this (it seems…

> But they [regexes] also tend to be completely unreadable Regular expressions can be constructed using various syntaxes. Some are optimized for writing them out quickly, and some are not. Choose the latter when going to production, and you'll be fine. As for K/J/APL - it's similar. You can write incredibly terse code which works wonderfully in a REPL (console). Working in an interactive manner is the default mode of…

And Pandas was inspired by J per a quote in an article I once read about Wes McKinney, but I cant seem to find it online any longer.
Post reply on HN