Live data from Hacker News

K: We need to talk about group

gist.github.com

81–90 of 102 posts

Re: K: We need to talk about group

#81

These line-noise programming languages read like a cruel joke on engineers in the finance world.

MS has a 500+ person mailing list for peer help on kdb/q/whatever. They also have a site license, and herds of consultants from first derivatives.

It is much easier to become good at k/q if you have experts sitting next to you. Learning this at home (or reading about it on hn) can be very frustrating!

Re: K: We need to talk about group

#82
post #29
post #12

It’s awe-inspiring to see a K program where the comments are in another APL variant (I can’t pretend to know which): {d:~1=':s:^x / s‿e←1⊸»⊸(>⋈ This program implements a Pigdog Latin translator, bien sûr .

Amazingly, APL is more readable. Actually, it's even pretty intuitive. Which proves again, that restricting code to ASCII when every competent programmer (and PC-user in general) can enter almost any unicode symbols just fine is simply stupid.

←⥊c⊏∾×

Yeah, I’d love to discuss with colleagues how square-c works together with right double crowbar.

No, thanks.

Re: K: We need to talk about group

#83
post #12

It’s awe-inspiring to see a K program where the comments are in another APL variant (I can’t pretend to know which): {d:~1=':s:^x / s‿e←1⊸»⊸(>⋈ This program implements a Pigdog Latin translator, bien sûr .

Isn't the original APL the only lang that uses actual Unicode symbols for operators?

No.

In the Raku Programming Language there are several non-ASCII operators, although each of them has a pure ASCII equivalent. Some examples: ≤ vs The full list: https://docs.raku.org/language/unicode_ascii.html

Re: K: We need to talk about group

#84
post #29
post #12

It’s awe-inspiring to see a K program where the comments are in another APL variant (I can’t pretend to know which): {d:~1=':s:^x / s‿e←1⊸»⊸(>⋈ This program implements a Pigdog Latin translator, bien sûr .

Amazingly, APL is more readable. Actually, it's even pretty intuitive. Which proves again, that restricting code to ASCII when every competent programmer (and PC-user in general) can enter almost any unicode symbols just fine is simply stupid.

[dead]

Re: K: We need to talk about group

#85
post #52

Earlier quoted context omitted.

I see, thanks! Looks like I might try both. The "no proper lightweight anonymous function syntax" sounds weird to me, I would have thought that's paramount for an array language? Do I misunderstand?

In J if you want to do something fairly complex without writing a function you can pile up a bunch of verbs/operators into a big (point free) verb-train. You can't do recursion, loops or explicit flow control but in the Array Languages that's not much of a handicap, it can get pretty hairy to read though In dyalog you can (as of about v13) do that if you want, or you can just use curly brackets { and inside of them h…

J recursion is $: You can do flow control in both scripting style and array style. Loops are loops.

Re: K: We need to talk about group

#86
post #64

So the summary of that long post: we still need group but Shakti/k9 gets rid of it because it's too slow forcing the user to diy it with other primitives as needed? I love it... It's the exact opposite of every other language design. Others: lets ship it with every tool a developer might ask for. K9: Occam's razor to everything. Nothing is safe.

there's a number of visionaries for lack of better term who have been following similar paths in their respective schools. chuck moore after FORTH got standardized went back to drawing board and made colorForth, where he reduced the number of available words to bare essential, very similar to how Arthur is rethinking and removing elements of apl in K, and then K in Shakti to what he sees as bare essentials. but you have less extreme cases, like Wirth developing pascal, then more capable modula, but then removing even arguable useful parts of modula in oberon, for being non-essential. I'm pretty sure there are other examples, but they like the examples I have given have small dedicated followings, rather than wide industry adoption, for reasons that wide industry adopted technologies tend to be all things for all people as a direct cause and effect of the wide adoption.

Re: K: We need to talk about group

#87
post #85

Earlier quoted context omitted.

In J if you want to do something fairly complex without writing a function you can pile up a bunch of verbs/operators into a big (point free) verb-train. You can't do recursion, loops or explicit flow control but in the Array Languages that's not much of a handicap, it can get pretty hairy to read though In dyalog you can (as of about v13) do that if you want, or you can just use curly brackets { and inside of them h…

J recursion is $: You can do flow control in both scripting style and array style. Loops are loops.

is $ meaningful in verb trains? because that was what I was referring to when I said no loops/recursion/flowcontrol

N.B. a sibling says J has added a direct definition construct while I wasn't watching which renders my comment largely irrelevant although the I feel general point that a lot of J 'example code' tends towards difficult-for-noobs to parse verb trains still holds.

Re: K: We need to talk about group

#88
post #82
post #29

Earlier quoted context omitted.

Amazingly, APL is more readable. Actually, it's even pretty intuitive. Which proves again, that restricting code to ASCII when every competent programmer (and PC-user in general) can enter almost any unicode symbols just fine is simply stupid.

←⥊c⊏∾× Yeah, I’d love to discuss with colleagues how square-c works together with right double crowbar. No, thanks.

If you see the following:

x = √y

… would you pronounce it as “x, two parallel horizontal lines, V with a left hook, y”?

The symbols have a meaning that’s unrelated to their appearance. It’s the same in APL. The “square c” is just like “V with a left hook”.

Re: K: We need to talk about group

#89

Earlier quoted context omitted.

The actual thing that lines up a series of sell-at-this-price bids and the series of buy-at-this-price bids (or even more complicated types of orders, this the easy case) and crosses them over, figuring out who gets what bids filled by whom at what price, at supremely fast speeds and large volumes.

I think I’ve only heard of such a component referred to as a matching engine.

I've heard it both ways. Now you have as well, so next time you see it, you won't need someone to explain it to you.

Re: K: We need to talk about group

#90
post #27

Earlier quoted context omitted.

Isn't the original APL the only lang that uses actual Unicode symbols for operators?

APL predates Unicode! You used to have to use special APL keyboards to write it. The symbols were included in Unicode as a way to try and make APL more palatable.

> The symbols were included in Unicode as a way to try and make APL more palatable.

That seems highly unlikely. Do you have a source, or are you sharing speculation as fact?

It’s more likely that APL symbols were included in Unicode as part of its mission to unify all the world’s scripts into single code set.

Post reply on HN