k47.cz
mastodon twitter RSS
bandcamp explorer
««« »»»

Kryptický jazyk

24. 7. 2020 — k47

Ve chvílích intenzivní strnulosti se mi v hlavě rodí nový jazyk. Programovací. Pochopitelně. Nikdo nemá náladu na další Lojban.

Líbí se mi s kryptičností hraničící stručnost jazyků jako APL, J, K nebo Q. V nich pár znaků zastane spoustu práce. Sice prakticky není možné dekódovat, co má program dělat, ale aspoň je krátký. To nikdo nemůže popřít. Co dělá tohle? x[⍋x←6?40]? Nebo tohle (~R∊R∘.×R)/R←1↓ιR? Nebo toto X[⍋X+.≠' ';]? Anebo tohleto life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}? Dejte mi týden a originální výtisk A Programming Language a seanci na hrobu Kennetha Iversona a možná vám řeknu. Možná.

Chtěl bych něco, co se nese v podobném duchu, jen se to v něm nese méně.

Tenhle jazyk, který nedostal jméno a možná ho nikdy nedostane, začal jako dumání nad tím, jak využít prostředky přirozeného jazyka k zápisu programového kódu. Postupně se od prvotní vize odchýlil a jeho současná podoba (jen myšlená, virtuální stroj existuje pouze v mojí hlavě) stojí na těchto bodech:

Spousta detailů není vyřešena. Jak přesně budou vypadat syntaktická pravidla? Jaká má být role velkých písmen? Jak se stavit k použití ne-ASCII znaků? A pak hlavně v otázce předposledního bodu základní kompozice operací. V současnosti to má formu buď kompozice funkcí nebo oboustranných sigilů.

Jako ukázka poslouží LSH minhash ve čtyřech řádcích textu-.

{x->x +1 *`random:1<<64 |1` +`random:1<<32` >>32}
{...} *16
minhash: set = set ^... T min,max
table = dataset G:minhash

První řádek definuje univerzální hašovací funkci, druhý jich vygeneruje 16, třetí definuje minhash funkci (min-max hash, abych byl přesný) a čtvrtý vytvoří LSH tabulku.

Je to dost kryptické?


Ale nic z toho nemá smysl, protože AI apokalypsa, která naplno obnaží nesmyslnost ekonomického systému a pak našich životů (v tomto pořadí), se blíží a nemá ani minutu zpoždění.

píše k47, ascii@k47.cz