4 ms·
Giving APL a quick glance I find the topic at least intriguing. So if I understand this right K is one of the more popular/recommended APL-derivatives nowadays
by 2pEXgD0fZ5cF 5mo ago
Giving APL a quick glance I find the topic at least intriguing.
So if I understand this right K is one of the more popular/recommended APL-derivatives nowadays. K is proprietary but there are a bunch of compatible implementations which are themselves open source. Is that correct?
Which APL derivatives (with an active/healthy userbase) besides k would you recommend to take a closer look at?
- Jtsummers 5mo agohttps://www.jsoftware.com/ https://www.jsoftware.com/ - J has a pretty active community, or at least used to.
- loganmhb 5mo agoI’m an array language novice but my favorite one so far is BQN. Much better documented than K derivatives. Not sure you could characterize any array language as having a “healthy userbase” though.
- xelxebar 5mo ago> So if I understand this right K is one of the more popular/recommended APL-derivatives nowadays. Only APL and K see real industry use. Both are actively developed. K is really a family of mutually incompatible languages, called K3, K4, K5, etc. Financial applications and most of the development is on K4, as far as I understand. > Which APL derivatives (with an active/healthy userbase) besides k would you recommend to take a closer look at? But why not APL? Dyalog has a team actively working on their interpreter, and industry has mostly converged around Dyalog APL now. If you want something well-worn through real-world use, then it's basically the only choice, unless you have money to drop on K4 or Shakti. Also, the literature is dominated by APL. If you're more interested in array languages for their mathematical appeal and for tinkering on puzzle problems, then BQN will probably suit your tastes. If you don't like the symbols and want something open-source, then J is a strong option. If you wonder what kind of baby APL and Forth would have, then Uiua is just for you. Note that while J and BQN can be considered APL variants, K is somewhat of a separate beast. Have fun!
- cratermoon 5mo agohttps://www.uiua.org/ https://www.uiua.org/
- pkal 5mo agoor https://codeberg.org/anaseto/goal https://codeberg.org/anaseto/goal
- tosh 5mo agore APL: BQN is a new take on APL w/ high performance implementation https://mlochbaum.github.io/BQN/ https://mlochbaum.github.io/BQN/ Dyalog APL is a well supported proprietary APL implementation https://www.dyalog.com https://www.dyalog.com re open source k implementations: there are many by now here is a current non-exhaustive list grouped by k dialect they orbit (to my understanding) k9 ktye (Go w/ Go, wasm, C targets) https://github.com/ktye/i https://github.com/ktye/i k6 ngn/growler (C): https://codeberg.org/growler/k https://codeberg.org/growler/k oK (JavaScript): https://github.com/JohnEarnest/ok https://github.com/JohnEarnest/ok kiwi (Zig): https://github.com/kiwi-array-lang/kiwi https://github.com/kiwi-array-lang/kiwi k3 kona (C): https://github.com/kevinlawler/kona https://github.com/kevinlawler/kona gk (C): https://github.com/cmh25/gk https://github.com/cmh25/gk ksharp (C#): https://github.com/ERufian/ksharp https://github.com/ERufian/ksharp k-like goal (Go): https://codeberg.org/anaseto/goal https://codeberg.org/anaseto/goal klongpy (Python) https://github.com/briangu/klongpy https://github.com/briangu/klongpy I'm working on kiwi. kiwi has a focus on supporting Apple Silicon and can make use of Apple Silicon GPU (via MLX and Metal) as well as the Accelerate framework to speed up some workloads. kiwi also comes with companion apps for iPhone, iPad, Mac and Apple watch in case anyone wants to run k on a watch: https://kiwilang.com https://kiwilang.com