2,954
edits
m (Text replacement - "{{APL dialects}}" to "{{APL dialects}}Category:K dialects") |
|||
(6 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
| file ext = .kg | | file ext = .kg | ||
| developer = Nils M Holm | | developer = Nils M Holm | ||
| latest release version = | | latest release version = 2022-12-12 | ||
| implementation language = [[wikipedia:C_(programming_language)|C]] ([[wikipedia:C99|C99]]) | | implementation language = [[wikipedia:C_(programming_language)|C]] ([[wikipedia:C99|C99]]) | ||
| platforms = Unix, [[wikipedia:Plan 9 from Bell Labs|Plan 9]] | | platforms = Unix, [[wikipedia:Plan 9 from Bell Labs|Plan 9]] | ||
Line 17: | Line 17: | ||
| influenced by = [[K]], [[wikipedia:Lisp (programming language)|Lisp]] | | influenced by = [[K]], [[wikipedia:Lisp (programming language)|Lisp]] | ||
}} | }} | ||
'''Klong''' is a language based on [[K]] (probably K3) which removes K's syntactic ambiguity and much of its overloading by using more digraphs ([[primitive]]s composed of two characters) to separate extra meanings. The removal of syntactic ambiguity means Klong has a [[wikipedia:context-free grammar|context-free grammar]]. | '''Klong''' is a language based on [[K]] (probably K3) which removes K's syntactic ambiguity and much of its overloading by using more digraphs ([[primitive function]]s and [[primitive operator|operators]] composed of two characters) to separate extra meanings. The removal of syntactic ambiguity means Klong has a [[wikipedia:context-free grammar|context-free grammar]]. | ||
== KlongPy == | |||
[https://github.com/briangu/klongpy KlongPy] is an independent, compatible implementation of Klong in [[wikipedia:NumPy|NumPy]]. It can be closely integrated with Python due to its use of NumPy arrays, and can be run on the GPU using [[wikipedia:CuPy|CuPy]] in place of standard NumPy. | |||
== Primitives == | == Primitives == | ||
Line 52: | Line 56: | ||
| <code>></code> || [[Grade-Down]] || [[More]] | | <code>></code> || [[Grade-Down]] || [[More]] | ||
|- | |- | ||
| <code>=</code> || [[Group]] || [[Equal]] | | <code>=</code> || [[Group (K)|Group]] || [[Equal]] | ||
|- | |- | ||
| <code>~</code> || [[Not]] || [[Match]] | | <code>~</code> || [[Not]] || [[Match]] | ||
|- | |- | ||
| <code>@</code> || | | <code>@</code> || Atom || [[Index function|Index]]/Apply | ||
|- | |- | ||
| <code>:@</code> || || Index-in-Depth | | <code>:@</code> || || Index-in-Depth | ||
|- | |- | ||
| <code>?</code> || [[ | | <code>?</code> || Range ([[Unique]]) || [[Find]] | ||
|- | |- | ||
| <code>,</code> || List (like [[Enclose]]) || Join (like [[Catenate]]) | | <code>,</code> || List (like [[Enclose]]) || Join (like [[Catenate]]) | ||
Line 122: | Line 126: | ||
* [http://t3x.org/klong/klong-vs-k.txt.html Differences from K] | * [http://t3x.org/klong/klong-vs-k.txt.html Differences from K] | ||
{{APL dialects}}[[Category:K dialects]] | {{APL dialects}}[[Category:K dialects]][[Category:IR compilers]] |