2024-06-28 00:46:07 +00:00
aoc aoc 2023-12-30 03:54:52 +02:00
dy whr 2023-04-27 05:31:51 +03:00
e rm e/100.k 2023-12-03 19:29:54 +02:00
g g/all-together-now.k 2023-08-20 18:32:22 +03:00
l #! 2023-12-08 03:42:01 +02:00
t test (-n)?m 2024-02-14 21:53:46 -05:00
vim-c SN -> ZN 2023-12-16 22:31:06 +02:00
vim-k vim: au -> au! 2023-09-16 21:45:13 +03:00
w Merge pull request 'cruft' (#90) from growler/k:mines into master 2024-06-28 00:46:07 +00:00
x #! 2023-12-08 03:42:01 +02:00
.gitignore gitignore 2023-03-09 20:32:21 +02:00
.ignore 2.c 2022-10-25 23:17:58 +03:00
0.c (c) 2024-01-02 19:54:02 +02:00
1.c REFB 2024-01-07 16:50:07 +02:00
2.c REFB 2024-01-07 16:50:07 +02:00
3.c (c) 2024-01-02 19:54:02 +02:00
4.c (c) 2024-01-02 19:54:02 +02:00
a.c REFB 2024-01-07 16:50:07 +02:00
a.h apv() 2024-01-08 04:19:26 +02:00
b.c . 2024-01-08 03:24:55 +02:00
c.c c$,s 2024-02-10 13:29:11 -05:00
Dockerfile tighter control on symbol visibility in libk.so 2024-06-02 13:34:32 +09:00
e.c e.c 2024-01-07 13:36:20 +02:00
f.c (c) 2024-01-02 19:54:02 +02:00
g.h rm _m() 2024-01-07 20:49:31 +02:00
g.k rm _m() 2024-01-07 20:49:31 +02:00
h.c (),tbl 2024-01-19 10:05:40 +02:00
i.c . 2024-01-08 03:24:55 +02:00
j.c (c) 2024-01-02 19:54:02 +02:00
k.c typo 2024-06-06 05:21:51 +00:00
k.h sync with ktye's k.h 2024-06-05 11:14:05 +09:00
LICENSE agpl 2019-12-17 02:19:05 +02:00
lopts Add example of registering foreign functions into the REPL. Make link options easier to modify. 2022-09-12 09:11:44 +02:00
m.c tighter control on symbol visibility in libk.so 2024-06-02 13:34:32 +09:00
makefile tighter control on symbol visibility in libk.so 2024-06-02 13:34:32 +09:00
o.c . 2024-01-08 03:24:55 +02:00
opts opts 2023-04-20 14:51:26 +03:00
p.c . 2024-01-08 03:24:55 +02:00
r.c r.c 2024-02-14 21:08:16 -05:00
readme.txt up arlyle url 2024-02-24 19:45:59 +03:00
repl.k Remove hardcoded tput path 2024-01-14 19:48:24 +01:00
s.c Fix stringop-overflow error caused by I5 being longer than P5 2024-01-28 21:43:16 -05:00
v.c (c) 2024-01-02 19:54:02 +02:00
w.c REFB 2024-01-07 16:50:07 +02:00

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