J: Difference between revisions

Jump to navigation Jump to search
45 bytes removed ,  15:33, 24 January 2020
m
Links to complex numbers
No edit summary
m (Links to complex numbers)
(3 intermediate revisions by 2 users not shown)
Line 4: Line 4:
| index origin          = 0
| index origin          = 0
| function styles        = explicit, [[tacit]]
| function styles        = explicit, [[tacit]]
| numeric types          = 64-bit integer, complex float, [[extended integer]], [[rational]]
| numeric types          = 64-bit integer, [[complex]] float, [[extended integer]], [[rational]]
| unicode support        = full; distinct byte and code point types
| unicode support        = full; distinct byte and code point types
| released              = 1990
| released              = 1990
Line 21: Line 21:
| run online            = [https://tio.run/#j TIO]
| run online            = [https://tio.run/#j TIO]
}}
}}
{{Also on Wikipedia|J|J (programming language)}
'''J''' is an array language loosely following the [[SHARP APL]] tradition which uses [[wikipedia:ASCII|ASCII]] characters for primitive functionality and builds in [[leading axis theory]] and [[tacit programming]] as foundational design principles. J discards backwards compatibility with older APLs in order to simplify and regularize its syntax, redesign primitives to work on leading axes, and disentangle [[reduction]] from [[scan]]s and [[windowed reduction]]s (yielding the [[Prefix operator|prefix]] and [[infix operator]]s). However, J concepts such as [[function train]]s and the [[Indices]] function have been adopted by later APLs such as [[NARS2000]], [[Dyalog APL]], and [[dzaima/APL]]. J breaks the APL convention of writing primitives with a single glyph: instead, they are spelled with a single ASCII character possibly followed by one or two periods (<source lang=j inline>.</source>) or colons (<source lang=j inline>:</source>). It is also notable for its use of terms from English grammar to describe the language. For example, [[function]]s are called "verbs" while arrays are called "nouns".
'''J''' is an array language loosely following the [[SHARP APL]] tradition which uses [[wikipedia:ASCII|ASCII]] characters for primitive functionality and builds in [[leading axis theory]] and [[tacit programming]] as foundational design principles. J discards backwards compatibility with older APLs in order to simplify and regularize its syntax, redesign primitives to work on leading axes, and disentangle [[reduction]] from [[scan]]s and [[windowed reduction]]s (yielding the [[Prefix operator|prefix]] and [[infix operator]]s). However, J concepts such as [[function train]]s and the [[Indices]] function have been adopted by later APLs such as [[NARS2000]], [[Dyalog APL]], and [[dzaima/APL]]. J breaks the APL convention of writing primitives with a single glyph: instead, they are spelled with a single ASCII character possibly followed by one or two periods (<source lang=j inline>.</source>) or colons (<source lang=j inline>:</source>). It is also notable for its use of terms from English grammar to describe the language. For example, [[function]]s are called "verbs" while arrays are called "nouns".


Line 120: Line 119:
| 4.06 || 2001-05-09 || <source lang=j inline>assert.</source> and <source lang=j inline>throw.</source>, Symbols (<source lang=j inline>s:</source>) and Unicode (<source lang=j inline>u:</source>), multiple axes in [[Cut]] operator
| 4.06 || 2001-05-09 || <source lang=j inline>assert.</source> and <source lang=j inline>throw.</source>, Symbols (<source lang=j inline>s:</source>) and Unicode (<source lang=j inline>u:</source>), multiple axes in [[Cut]] operator
|-
|-
| 5.01 || 2002-09-10 || Non-[[Close compositions|close]] [[Under]] <source lang=j inline>&.:</source>, Bitwise Operations (<source lang=j inline>b.</source>), Polynomial Derivative (<source lang=j inline>p..</source>), Head (<source lang=j inline>{.</source>) and Tail (<source lang=j inline>{:</source>) allow [[empty]] arguments
| 5.01 || 2002-09-10 || Non-[[Close composition|close]] [[Under]] <source lang=j inline>&.:</source>, Bitwise Operations (<source lang=j inline>b.</source>), Polynomial Derivative (<source lang=j inline>p..</source>), Head (<source lang=j inline>{.</source>) and Tail (<source lang=j inline>{:</source>) allow [[empty]] arguments
|-
|-
| 5.02 || 2003-05-21 ||
| 5.02 || 2003-05-21 ||

Navigation menu