this k implementation is no longer supported
for others, see https://k.miraheze.org/wiki/Running_K
ngn/k is a simple fast vector programming language
try: https://ngn.codeberg.page/k
build: make CC=clang-17 # or CC=gcc-10 or other
use: rlfe -h ~/.k_history ./k repl.k
chat: https://matrix.to/#/#ngnk:matrix.org
license: GNU AGPLv3 (v3 only) - https://codeberg.org/ngn/k/raw/branch/master/LICENSE
community:
learn:
book (work in progress) https://xpqz.github.io/kbook/
tutorial (work in progress) https://github.com/gitonthescene/ngnk-libs/tree/master/tutorial
tutorial https://github.com/razetime/ngn-k-tutorial
embedding example https://codeberg.org/suhr/kes
searchable database of snippets https://github.com/secwang/ngnkcart
edit:
vim mode (in this repo) ./vim-k
emacs mode https://github.com/gitonthescene/ngnk-mode
fun:
code golf https://code.golf/rankings/holes/all/k/bytes
code golf https://codegolf.stackexchange.com/search?tab=newest&q=ngn
aoc solutions by multiple people https://k.miraheze.org/wiki/Advent_of_Code
analysis of ngn/k AoC solutions https://github.com/kidd/arraylangs-index
dyalog competition solutions https://github.com/xpqz/dyalogk
interop:
windows port https://github.com/traws0/ngnk-windows
rust bindings https://crates.io/crates/ngnk
continuous integration for osx https://github.com/xpqz/ngnk_mirror
nix package https://github.com/nathyong/ngnk-nix
more:
collection of libraries https://github.com/gitonthescene/ngnk-libs
unparser https://github.com/chrispsn/ngn-k-unparser
codemirror lezer parser https://github.com/SirBogman/codemirror-lang-k
various utils http://arlyle.sdf.org/k/
kpl, apl-like extensions for k https://codeberg.org/CptJimKirk/kpl
bindings for a regex library https://github.com/x86y/onikuruma
videos of solving aoc in ngn/k https://www.twitch.tv/fcopy
source:
0.c main() k.h embedding api
m.c memory manager and repl a.h common header
p.c parser g.h header generated by g.k
b.c bytecode compiler and vm t/ unit tests
a.c eval, apply, amend: . @ w/ web ui
h.c shape-related: x#y ,x x,y x/ example for using libk.so
o.c order and equivalence o/ build output
s.c to string: $x `k@x l/ k libraries
c.c type conversions g/ https://codegolf.stackexchange.com/
f.c find e/ https://projecteuler.net/
r.c random dy/ https://problems.tryapl.org/
1.c arithmetic monadic verbs aoc/ https://adventofcode.com/
2.c arithmetic dyadic verbs
3.c arithmetic adverbs
4.c prime sieve
i.c input/output
v.c other verbs
w.c other adverbs
j.c json: `j@x `j?x
e.c error handling
k.c embedding api