J: Difference between revisions

Jump to navigation Jump to search
1,963 bytes added ,  17 February
m
Fix infobox 9.5 release date (must have been a beta version)
m (Version bump)
m (Fix infobox 9.5 release date (must have been a beta version))
(2 intermediate revisions by the same user not shown)
Line 9: Line 9:
| released              = 1990
| released              = 1990
| developer              = [[Jsoftware]] ([[Ken Iverson]], [[Roger Hui]])
| developer              = [[Jsoftware]] ([[Ken Iverson]], [[Roger Hui]])
| latest release version = J9.5 / 2023-04-23
| latest release version = J9.5 / 2023-12-20
| influenced by          = [[SAX]], [[Rationalized APL]]
| influenced by          = [[SAX]], [[Rationalized APL]]
| influenced            = [[Dyalog APL]], [[NARS2000]], [[I]], [[BQN]]
| influenced            = [[Dyalog APL]], [[NARS2000]], [[I]], [[BQN]]
Line 42: Line 42:
== Versions ==
== Versions ==


J has used two numbering systems. Releases prior to 1994 used a single decimal and the naming scheme "Version X.Y", while those after used two decimals and are called "Release X.YY", or "JXYY" as in "J807".
J has used multiple numbering systems. Releases prior to 1994 used a single decimal and the naming scheme "Version X.Y", while those after used two decimals and are called "Release X.YY", or "JXYY" as in "J807". Since version 9.4, or "J9.4", they again remove the leading zero and use a third decimal to indicate revisions within a version (as in "9.4.2"; revision 0 indicates beta or pre-release revisions).


{|class=wikitable
{|class=wikitable
Line 139: Line 139:
| 8.01 || 2014-02    || Qt IDE
| 8.01 || 2014-02    || Qt IDE
|-
|-
| 8.02 || 2014-08-02 || Qt IDE improved
| [https://code.jsoftware.com/wiki/System/ReleaseNotes/J802 8.02] || 2014-08-02 || Qt IDE improved
|-
|-
| 8.03 || 2014-12-09 || Native read/write of jpeg and png images
| [https://code.jsoftware.com/wiki/System/ReleaseNotes/J803 8.03] || 2014-12-09 || Native read/write of jpeg and png images
|-
|-
| 8.04 || 2016-01-04 ||
| [https://code.jsoftware.com/wiki/System/ReleaseNotes/J804 8.04] || 2016-01-04 ||
|-
|-
| 8.05 || 2016-12-19 || Improved UTF-8 handling, memory allocator rewritten with more in-place argument usage
| [https://code.jsoftware.com/wiki/System/ReleaseNotes/J805 8.05] || 2016-12-19 || Improved UTF-8 handling, memory allocator rewritten with more in-place argument usage
|-
|-
| 8.06 || 2017-11-12 || Allow array right operands to [[Atop]] and Adverse (<syntaxhighlight lang=j inline>::</syntaxhighlight>), treating as constant functions, improved [[Vector instructions|vector instruction]] usage
| [https://code.jsoftware.com/wiki/System/ReleaseNotes/J806 8.06] || 2017-11-12 || Allow array right operands to [[Atop]] and Adverse (<syntaxhighlight lang=j inline>::</syntaxhighlight>), treating as constant functions, improved [[Vector instructions|vector instruction]] usage
|-
|-
| 8.07 || 2018-10-08 || Removed support for dot-style explicit arguments (e.g. <syntaxhighlight lang=j inline>y.</syntaxhighlight>)
| [https://code.jsoftware.com/wiki/System/ReleaseNotes/J807 8.07] || 2018-10-08 || Removed support for dot-style explicit arguments (e.g. <syntaxhighlight lang=j inline>y.</syntaxhighlight>)
|-
|-
| 9.01 || 2019-12-15 || Iteration primitives <syntaxhighlight lang=j inline>F..</syntaxhighlight>, <syntaxhighlight lang=j inline>F.:</syntaxhighlight>, <syntaxhighlight lang=j inline>F.</syntaxhighlight>, <syntaxhighlight lang=j inline>F:.</syntaxhighlight>, <syntaxhighlight lang=j inline>F::</syntaxhighlight>, <syntaxhighlight lang=j inline>F:</syntaxhighlight>; Remove calculus operators <syntaxhighlight lang=j inline>d.</syntaxhighlight>, <syntaxhighlight lang=j inline>D.</syntaxhighlight>, <syntaxhighlight lang=j inline>D:</syntaxhighlight>, <syntaxhighlight lang=j inline>t.</syntaxhighlight>, <syntaxhighlight lang=j inline>t:</syntaxhighlight>, <syntaxhighlight lang=j inline>T.</syntaxhighlight>, <syntaxhighlight lang=j inline>..</syntaxhighlight>, <syntaxhighlight lang=j inline>.:</syntaxhighlight>; <syntaxhighlight lang=j inline>gerund"r</syntaxhighlight>
| [https://code.jsoftware.com/wiki/System/ReleaseNotes/J901 9.01] || 2019-12-15 || Iteration primitives <syntaxhighlight lang=j inline>F..</syntaxhighlight>, <syntaxhighlight lang=j inline>F.:</syntaxhighlight>, <syntaxhighlight lang=j inline>F.</syntaxhighlight>, <syntaxhighlight lang=j inline>F:.</syntaxhighlight>, <syntaxhighlight lang=j inline>F::</syntaxhighlight>, <syntaxhighlight lang=j inline>F:</syntaxhighlight>; Remove calculus operators <syntaxhighlight lang=j inline>d.</syntaxhighlight>, <syntaxhighlight lang=j inline>D.</syntaxhighlight>, <syntaxhighlight lang=j inline>D:</syntaxhighlight>, <syntaxhighlight lang=j inline>t.</syntaxhighlight>, <syntaxhighlight lang=j inline>t:</syntaxhighlight>, <syntaxhighlight lang=j inline>T.</syntaxhighlight>, <syntaxhighlight lang=j inline>..</syntaxhighlight>, <syntaxhighlight lang=j inline>.:</syntaxhighlight>; <syntaxhighlight lang=j inline>gerund"r</syntaxhighlight>
|-
|-
| 9.02 || 2020-12-13 || "Direct definition" syntax for explicit functions, special semidual form <syntaxhighlight lang=j inline>u&.:(a:`v)</syntaxhighlight> added, minor incompatible changes
| [https://code.jsoftware.com/wiki/System/ReleaseNotes/J902 9.02] || 2020-12-13 || "Direct definition" syntax for explicit functions, special semidual form <syntaxhighlight lang=j inline>u&.:(a:`v)</syntaxhighlight> added, minor incompatible changes
|-
|-
| 9.03 || 2021-12-17 || Modifier trains and other combinations, foreigns to enable nameref caching, Kahan summation with <syntaxhighlight lang=j inline>+/!.0</syntaxhighlight>
| [https://code.jsoftware.com/wiki/System/ReleaseNotes/J903 9.03] || 2021-12-17 || Modifier trains and other combinations, foreigns to enable nameref caching, Kahan summation with <syntaxhighlight lang=j inline>+/!.0</syntaxhighlight><ref>[[Array Cast]] episode 18: [https://www.arraycast.com/episodes/episode18-henry-rich-presents-j903 Henry Rich presents J903]</ref>
|-
| [https://code.jsoftware.com/wiki/System/ReleaseNotes/J9.4 9.4] || 2023-03-01 || Threading using <syntaxhighlight lang=j inline>T.</syntaxhighlight> and <syntaxhighlight lang=j inline>t.</syntaxhighlight>,<ref>[[Array Cast]] episode 48: [https://www.arraycast.com/episodes/episode48-henry-rich Henry Rich Reveals J with Threads J9.4]</ref> [[Key]]-like <syntaxhighlight lang=j inline>/..</syntaxhighlight>, reimplementation of exact integers and rationals with [[wikipedia:GNU Multiple Precision Arithmetic Library|GMP]]<ref>[[Array Cast]] episode 59: [https://www.arraycast.com/episodes/episode59-raul-miller Raul Miller - Precision]</ref>
|-
| [https://code.jsoftware.com/wiki/System/ReleaseNotes/J9.5 9.5] || 2023-12-20 || Modular arithmetic (<syntaxhighlight lang=j inline>m.</syntaxhighlight>), changes and restrictions to [[Select]] (<syntaxhighlight lang=j inline>{</syntaxhighlight>) and [[Amend]] (<syntaxhighlight lang=j inline>}</syntaxhighlight>), limited [[structural Under]] support<ref>[[Array Cast]] episode 73: [https://www.arraycast.com/episodes/episode73-j95 Henry Rich and the Release of J9.5]</ref>
|}
|}


Line 161: Line 165:


<references />
<references />
{{APL dialects}}[[Category:Array languages]][[Category:Flat array languages]][[Category:Leading axis languages]][[Category:Languages with tacit programming]][[Category:ASCII languages]]
{{APL dialects}}[[Category:Flat array languages]][[Category:Leading axis languages]][[Category:Languages with tacit programming]][[Category:ASCII languages]]

Navigation menu