Klong: Difference between revisions

Jump to navigation Jump to search
m
Text replacement - "Group" to "Group"
m (Text replacement - "{{APL dialects}}" to "{{APL dialects}}Category:K dialects")
m (Text replacement - "Group" to "Group")
 
(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  = 2019-09-26
| 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>  || [[Atom]]                || [[Index function|Index]]/Apply
| <code>@</code>  || Atom                   || [[Index function|Index]]/Apply
|-
|-
| <code>:@</code> ||                        || Index-in-Depth
| <code>:@</code> ||                        || Index-in-Depth
|-
|-
| <code>?</code>  || [[Range]]               || [[Find]]
| <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]]

Navigation menu