Difference between revisions of "Klong"

From APL Wiki
Jump to navigation Jump to search
m (Text replacement - "{{APL dialects}}" to "{{APL dialects}}Category:K dialects")
m (Fix a red link)
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|primitive functions]] 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]].
  
 
== Primitives ==
 
== Primitives ==

Revision as of 05:23, 29 May 2020

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 functions and operators composed of two characters) to separate extra meanings. The removal of syntactic ambiguity means Klong has a context-free grammar.

Primitives

Klong documentation refers to primitive functions ("verbs" in K) as "operators".

Operator Monadic Dyadic
+ Transpose Plus
- Negate Minus
* First Times
% Reciprocal Divide
:% Integer-Divide
| Reverse Max/Or
:+ Rotate
& Expand/Where Min/And
^ Shape Power
:^ Reshape
! Enumerate Remainder
< Grade-Up Less
> Grade-Down More
= Group Equal
~ Not Match
@ Atom Index/Apply
:@ Index-in-Depth
? Range Find
, List (like Enclose) Join (like Catenate)
_ Floor Drop
:_ Undefined Cut
:# Char Split (Partition by lengths)
# Size Take
$ Format Format2
:= Amend
:- Amend-in-Depth
:: Define
:$ Form
Adverb Definition
f'a Each
a f'b Each2
a f:\b Each-Left
a f:/b Each-Right
f:'b Each-Pair
f/a Over
a f/b Over-Neutral
f:~a Converge
a f:~b While
a f:*b Iterate
f\a Scan-Over
a f\b Scan-Over-Neutral
f\~a Scan-Converging
a f\~a Scan-While
a f\*a Scan-Iterating

External links


APL dialects [edit]
Maintained APL+WinAPL2APL64APL\ivApletteAprilCo-dfnsDyalog APLdzaima/APLExtended Dyalog APLGNU APLKAPNARS2000Pometo
Historical A Programming LanguageA+ (A) ∙ APL#APL\360APL/700APL\1130APL\3000APL.68000APL*PLUSAPL.jlAPL.SVAPLXIverson notationIVSYS/7090NARSngn/aplopenAPLPATRowanSAXSHARP APLRationalized APLVisualAPL (APLNext) ∙ VS APLYork APL
Derivatives AHPLBQNCoSyELIGleeIIvyJJellyJellyfishK (Q, KDB+) ∙ NialRAD
Overviews Timeline of array languagesTimeline of influential array languagesFamily tree of array languages