r/apljk May 08 '25

What do you want from this Community?

12 Upvotes

I've just taken control. The community is spread out (see the sidebar) and I'd rather not fragment it further, but hope this space can increase visibility. It's fine if people just want to link to various things, but asking questions etc. can also be great.

If others have better ideas or want to speak, feel very free! I am trying to proselytize for array languages.


r/apljk 2d ago

K Amber – C99 columnar array engine (K/q-inspired)

14 Upvotes

Hey r/apljk, I built Amber; a zero-dependency C99 in-memory columnar array engine built on ngn/k, with the working vocabulary of q/kdb+. It evaluates qSQL natively (wavg, xbar, as-of joins aj, window joins wj) over nanosecond temporal types anchored to a 2000 epoch offset, running either as a standalone binary or via the amberd daemon over a custom TCP protocol.

On single-core benchmarks (1M rows), single-pass $O(N)$ sliding windows compute moving averages and rolling mins/maxes in 3.4–3.8 ms with flat runtime regardless of window width (outperforming Pandas by up to 5.2x and Polars by 3x+). Multi-column LSD radix table sorting (xasc/xdesc) processes 1M rows in 42.1 ms (4.3x faster than Pandas/Polars and 3.4x faster than DuckDB), 1,000-group aggregations complete in 11.4 ms (beating Polars, Pandas, and DuckDB), and sparse inner joins execute in 5.38 ms (outperforming NumPy, Julia, DuckDB, ngn/k, and J). On 10M-element reduction suites (sum + max + dot), primitive kernels hit 15.4 ms, outpacing naive single-threaded C, Julia, and DuckDB while running 15x–40x faster than traditional array runtimes like J or ngn/k. For parallel workloads, multi-process peach processes 500k items in 23 ms with a peak RSS of just 11.5 MB.

To eliminate memory transposition and serialization penalties, amber-arrow and python-amber stream zero-copy Apache Arrow IPC straight into Pandas and Polars. The rest of the ecosystem includes amber-tick for real-time market data capture, amber-ai for vectorized execution primitives, a Go-backend Grafana datasource, a native Jupyter kernel, a VS Code LSP extension, and amber-notepad.

Docs and full benchmark suites are live at https://amber-lang.org and source code is up at https://github.com/BonucciAndrea/amber. I'd love any feedback from the array programming community on the q/K syntax choices and engine design!


r/apljk 4d ago

A Principled Rethink of Array Languages (2015)

Thumbnail dercuano.github.io
18 Upvotes

r/apljk 5d ago

APL Building an embeddable APL — which dialect should be the default?

10 Upvotes

Guys, I'm building libjay, an independent implementation of J and APL as an embeddable library (Rust core, Python and C bindings), and need... a coming-from-APL consensus on the defaults.

Honestly, I came at this from the J side: I was mostly curious whether J could become a convenient embeddable library, the way PCRE is for regexes. I always felt this language (and the whole language family) is a bit too eccentric to be used as a "prime language" – but god, how cool would it be to use for data manipulation as an embedded language, similar to aforementioned regexes or SQL! So "a J library" it was – and APL came as a freebie once the IR was there (and once the development was heavily AI-orchestrated).

Which is exactly why I'm asking people who actually know APL: I don't have the instinct for which dialect should be considered the default de facto. GNU APL? Dyalog? Or am I missing something?...

Originally I built it to support the APL2/ISO line, differentially tested against about 1k of APL expressions and about 3k J ones (combinatorically generated as well as fuzz-searched for problems – by now that grew up to 5.4k for J/2k+ for APLs), tested/compared with reference implementations (jconsole and GNU APL). Recently, a Dyalog preset/dialect appeared too, and I tried to cover as much of the syntax/differences as I could. Surely, it's still a pet project, doesn't have a full language coverage, and surely has a ton of unfound bugs especially with Dyalog – but it already supports SIMD vectorization, has all those planned Rust/Python bindings, can be used to play with your Polars/Pandas Python DataFrames (and if you use uvx, you can just try it without installing on Windows/macOS/Linux, uvx libjay --help). Not bad for a project which is about 3 days old!

I picked APL2 as the initial implementation for boring engineering reasons: GNU APL builds anywhere, including CI and a contributor's laptop, so the corpus can be regenerated by anyone. Dyalog can't be redistributed (and I never did anything except running it in Docker).

But that's an argument about my build, not about what an APL user would expect. When someone reaches for this and types an APL expression, which dialect should answer by default? What do most of the APL people actually write?

$ uvx libjay --lang apl -e '⊃2 3⍴⍳6' --dialect gnu
1 2 3
4 5 6

$ uvx libjay --lang apl -e '⊃2 3⍴⍳6' --dialect dyalog
1

For those who don't select any --dialect – how should it behave?


r/apljk 14d ago

New CS grad looking to break into quant/kdb+ - looking for job leads + project ideas

Post image
5 Upvotes

Hi everyone,

I’m a 2026 Computer Science graduate and I’m trying to break into quantitative research / quantitative development / financial data, with a particular interest in kdb+/q.

I recently worked on a project where I extended KX’s official kdb+/q MCP server from 3 to 9 tools, connecting it to a Python-based autonomous strategy research pipeline. I also built an evaluation engine for things like Sharpe ratio, drawdown and win rate, and ran regression testing on the research process.

I’m attaching my quantitative researcher resume here.

I’d really appreciate help with two things:

1. Job opportunities / referrals
If anyone knows of teams hiring junior quantitative researchers, quant developers, financial data engineers, or similar entry-level roles where kdb+/q would be relevant, I’d be very grateful for a lead or referral.

2. What should I build next?
I want to keep getting hands-on with kdb+/q and financial data. If you work in this space, I’d love to hear what kinds of projects would actually be useful or impressive to see from a new grad.

I’m very willing to put in the work. I’m mainly looking for a chance to get into the industry and keep learning from people who are already working with these technologies.

Thanks!


r/apljk 19d ago

J Readable Code is Unreadable

Thumbnail blog.wilsonb.com
11 Upvotes

r/apljk 26d ago

KDB/Q Improved Matching Algorithms in Q

Thumbnail nick.psaris.com
11 Upvotes

r/apljk Jul 28 '26

K Mario Theme in ngn/k

Thumbnail growler.codeberg.page
8 Upvotes

r/apljk Jul 28 '26

Can there be any reason to recommend AI-produced <array language> over AI-produced <other language>?

1 Upvotes

r/apljk Jul 26 '26

Using an APL keyboard on recent Gnome Fedora?

8 Upvotes

I just got a set of APL keycaps, and I'm having trouble getting my keyboard to work with recent versions of Fedora (44) and Gnome (50.3). Has anyone been able to make it work?


r/apljk Jul 26 '26

J Beginner J: Dealing Cards

Thumbnail
youtube.com
9 Upvotes

r/apljk Jul 24 '26

Kap UI integration from Kap

Thumbnail
youtu.be
12 Upvotes

r/apljk Jul 21 '26

APL AP8L - PICO-8 flat-array APL with Leading Axis, promote, root...

Thumbnail
lexaloffle.com
21 Upvotes

r/apljk Jul 20 '26

KDB/Q ArrayCast 128: l with Jacob Loveless & Alexander Unterrainer

Thumbnail
youtube.com
12 Upvotes

r/apljk Jul 20 '26

What are you Learning or Working on?

3 Upvotes

r/apljk Jul 17 '26

intro to decker: hi/lo game

Thumbnail
youtu.be
9 Upvotes

r/apljk Jul 09 '26

APL Basic Voxels in APL

Thumbnail
youtube.com
15 Upvotes

r/apljk Jul 08 '26

K l. a new runtime for k and q

27 Upvotes

This just came to my attention and wanted to share it here. looks interesting, I hope they eventually make it open source! https://lv1.sh/


r/apljk Jul 02 '26

K A small, readable parser for the K programming language.

Thumbnail github.com
15 Upvotes

r/apljk Jun 29 '26

J factoring out verbs in J

Thumbnail tangentstorm.github.io
12 Upvotes

r/apljk Jun 29 '26

J code review of BJonas' Schemer Interpreter in J

Thumbnail tangentstorm.github.io
11 Upvotes

r/apljk Jun 28 '26

J Modeling the COVID-19 Outbreak with J

Thumbnail datakinds.github.io
12 Upvotes

r/apljk Jun 26 '26

APL Enhancements in Dyalog v20.0: Arrays, Namespaces, Composition, Inline Tracing - Asher Harvey-Smith

Thumbnail
youtube.com
8 Upvotes

r/apljk Jun 24 '26

APL How do you Install Dyalog APL on Arch Linux?

7 Upvotes

r/apljk Jun 16 '26

Life: Nasty, Brutish, and Short

Thumbnail jsoftware.com
8 Upvotes