New pages
Jump to navigation
Jump to search
- 23:20, 15 April 2024 Joey Tuttle (hist | edit) [3,131 bytes] Marshall (talk | contribs) (Created page with "'''Joey Keith Tuttle''' (April 29, 1942 – February 26, 2024<ref name=obit>Benito & Azzaro Pacific Gardens Chapel. [https://pacificgardenschapel.com/tribute/details/329905/Joey-Tuttle/obituary.html Obituary of Joey Keith Tuttle]. 2024-03-09.</ref>) was an APL programmer at IBM and I.P. Sharp Associates, and later a J programmer, with an interest in data analysis. Tuttle graduated high school in 1960 and enrolled at wikipedia:Missouri University of Science...")
- 20:24, 20 March 2024 Al Rose (hist | edit) [2,664 bytes] Marshall (talk | contribs) (Created page with "'''Allen J. Rose''' was an APL educator at IBM, and later a co-founder and vice president of STSC. He was the 1988 recipient of the Iverson Award. Rose was noted for his ability to demonstrate APL using an wikipedia:IBM 2741 terminal, including in a verse of APL Blossom Time which descibes it as "an old, bent, beat-up 2741". The terminal weighed 120 pounds and had been distributed into two custom suitcases for portability.<ref>Jacob Brickmann. [http...")
- 22:35, 19 March 2024 Trenchard More (hist | edit) [2,774 bytes] Marshall (talk | contribs) (Created page with "{{Also on Wikipedia|More}} '''Trenchard More''' (1930 – 2019) was a mathematician employed by IBM who helped develop nested array model concepts—"Array Theory", in his terminology—such as the "floating" property of simple scalars and the behavior of prototypes. According to Jim Brown, More "had a tremendous influence on the final definition of the APL2 language".<ref name=personal>Jim Brown. [https://old.aplwiki.com/OnAPLsHistory?action=Atta...")
- 17:36, 19 March 2024 Stanford University (hist | edit) [1,512 bytes] Marshall (talk | contribs) (Created page with "{{Also on Wikipedia}} Several students of '''Stanford University''' in California participated in IBM's initial APL implementation: Larry Breed (B.S. 1961, M.S. 1965), Phil Abrams (M.S. 1966, Ph.D. 1970), Roger Moore (B.S. 1963), and Charles Brenner (B.S. 1967) worked in various combinations on IVSYS/7090, APL\1130, and APL\360. Breed and Brenner did their implementation work at IBM's Watson Research Center, and Moore at I.P. Sharp...")
- 22:08, 16 March 2024 Timeline of APL primitives (hist | edit) [8,157 bytes] Marshall (talk | contribs) (Created page with "The following table lists APL primitives, primitive extensions, and primitive-like syntax that are implemented across many dialects, or are precursors of such features. Features are ordered by the first APL dialect to implement them, and previous definitions in other array languages or as proposals are indicated in parentheses. Because primitives tend to have multiple names and may even change name within a dialect, common modern names are used rather than the name when...")
- 01:03, 11 March 2024 Array ordering (hist | edit) [1,932 bytes] Marshall (talk | contribs) (Created page with "'''Array ordering''' is the ordering of arrays exposed by functions such as Grade and Interval Index. It may be more general than comparison, for example by allowing characters to be compared to each other and to numbers. However, not all arrays need to be comparable, meaning that functions that depend on array ordering can throw an error. Traditionally, ordering is defined only for simple arrays of the same shape and type (Grade o...")
- 23:26, 10 March 2024 Major cell search (hist | edit) [2,985 bytes] Marshall (talk | contribs) (Created page with "The dyadic functions Index Of (<syntaxhighlight lang=apl inline>⍳</syntaxhighlight>), Interval Index (<syntaxhighlight lang=apl inline>⍸</syntaxhighlight>), and possibly Member Of (<syntaxhighlight lang=apl inline>∊</syntaxhighlight>) can be extended to search argument cells rather than elements, in accordance with the leading axis model. In this model, the "principal argument" (the one that is searched through) is considered as a list of its ...")
- 03:28, 10 March 2024 APL2C (hist | edit) [4,212 bytes] Marshall (talk | contribs) (Created page with "{{Infobox array language | logo = File:APL2C.gif | array model = nested | index origin = 0 or 1 | function styles = defined | numeric types = floats | unicode support = no | released = 2001 | developer = Tilman Otto | latest release version = 5.0.3 / 2002 | implementation languages = wikipedia:C_(programming_language...")
- 01:30, 10 March 2024 One-liner (hist | edit) [1,842 bytes] Marshall (talk | contribs) (Created page with ":''This article is about one-liners in APL. For other languages, see Wikipedia.'' A '''one-liner''' is an APL program consisting of a single line of code. Creating such programs to perform various tasks, which might be considered a less precisely-measured form of code golf, was a popular challenge in early APL. The one-line constraint was significantly more limiting in this era, as it prevented creating defined functions or using...")
- 02:21, 9 March 2024 Mask (hist | edit) [2,890 bytes] Marshall (talk | contribs) (Created page with "{| class=vertical-navbox style="float:right; font-size:500%; margin:0 1ex;" |<math>/a,u,b/</math> |} In Iverson notation, '''Mask''' (<math>/a,u,b/</math>) is a three-argument operation which merges two arguments according to a Boolean array, all with matching shape. The relationship between Mask and Mesh is similar to that between Compress and Expand. The Case function can also be seen as a generalization of Mask. A related function also name...")
- 02:43, 7 March 2024 Direct definition (operator) (hist | edit) [2,424 bytes] Marshall (talk | contribs) (Created page with ":''The Del glyph <code>∇</code> is more commonly used for dfn recursion or to indicate a defined function.'' {{Built-in|Direct definition|∇}}, in NARS, is a primitive dyadic operator that defines an anonymous function based on source strings. Its left operand is the source for the function's dyadic case and the right is the source for the monadic case. One of these operands may be replaced with a Jot (using this operator a...") originally created as "Direct definition (NARS)"
- 15:06, 6 March 2024 Sort (hist | edit) [3,436 bytes] Marshall (talk | contribs) (Created page with "'''Sort Up''' and '''Sort Down''' are monadic functions that order the major cells of an array in ascending or descending order. Traditionally these functions are performed using Grade in APL: for example the FinnAPL idiom library gives <syntaxhighlight lang=apl inline>X[⍋X]</syntaxhighlight> and <syntaxhighlight lang=apl inline>X[⍒X]</syntaxhighlight> to sort <syntaxhighlight lang=apl inline>X</syntaxhighlight> ascending and descending, respectively....")
- 02:15, 5 March 2024 Cartesian Product (hist | edit) [1,494 bytes] Marshall (talk | contribs) (Created page with "{| class=vertical-navbox style="float:right; font-size:500%; margin:0 1ex;" |<code>{</code> |} '''Cartesian Product''' (<code>{</code>, or <code>@</code> in SAX), '''All''', or '''Catalogue''' is a primitive monadic function that returns an array of all combinations of choices from its argument, much like Outer Product. It appears in Rationalized APL, A Dictionary of APL, SAX, and J. It shares a glyph with the dyadic function Select (l...")
- 01:37, 5 March 2024 Stop (hist | edit) [1,857 bytes] Marshall (talk | contribs) (Created page with "{{Built-in|Stop|⊣}} (in SHARP APL and APLX) or '''Hide''' (in GNU APL and Kap) is a primitive monadic function that ignores its argument and returns a non-printing value. It shares the left tack glyph with Left Identity. The nature of the returned value can vary: for example an empty matrix is used in SAX and APLX, while GNU APL uses the scalar 0 but returns it as a shy result (or "committed"). In SHARP APL's initial implemen...")
- 00:57, 5 March 2024 Determinant (hist | edit) [2,313 bytes] Marshall (talk | contribs) (Created page with "{{Built-in|Determinant|<nowiki>.</nowiki>}} is a primitive dyadic operator that takes two dyadic functions for operands and produces a monadic function. Much like Inner Product for matrix products, it generalizes the matrix wikipedia:determinant, so that <source lang=apl inline>-.×</source> computes the determinant and <source lang=apl inline>+.×</source> the wikipedia:permanent (mathematics). Determinant has been implemented in SHAR...")
- 17:00, 3 March 2024 Direct definition (hist | edit) [782 bytes] Marshall (talk | contribs) (Created page with "'''Direct definition''' may refer to any of several different function styles, which share the feature that arguments are given default names rather than having names defined in a header: * Direct definition (Iverson), a named style defined by Ken Iverson and used to discuss APL in the 1970s and 80s * Direct definition (NARS), an anonymous function produced in NARS by applying <syntaxhighlight lang=apl inline>∇</syntaxhighlight> to strings *...")
- 16:41, 3 March 2024 Direct definition (notation) (hist | edit) [3,803 bytes] Marshall (talk | contribs) (Created page with "Ken Iverson's '''direct definition''' is a function style written with a name followed by <code>:</code> and a result, using <syntaxhighlight lang=apl inline>⍺</syntaxhighlight> and <syntaxhighlight lang=apl inline>⍵</syntaxhighlight> for arguments. The result may be one expression, which is evaluated to apply the function, or three expressions separated by <code>:</code>, in which case the middle expression is evaluated to determine which of the other tw...") originally created as "Direct definition (Iverson)"
- 01:14, 2 March 2024 Prefix and suffix vectors (hist | edit) [3,541 bytes] Marshall (talk | contribs) (Created page with "{| class=vertical-navbox style="float:right; font-size:500%; margin:0 1ex;" |<code>⍺</code> <code>⍵</code> |} In Iverson notation, the '''prefix vector''' <math>\alpha^j(n)</math> and '''suffix vector''' <math>\omega^j(n)</math> of weight <math>j</math> and length <math>n</math> are Boolean vectors that can be used with Replicate to select a prefix or suffix of a vector, a task now performed with Take. Primitives <code>⍺</code> and <code>⍵...") originally created as "Prefix and Suffix vectors"
- 03:39, 28 February 2024 IVSYS/7090 (hist | edit) [7,262 bytes] Marshall (talk | contribs) (Created page with "{{Infobox array language | array model = flat without boxes | index origin = 1 | function styles = defined function | numeric types = integer, float | unicode support = no | released = 1965 | developer = Larry Breed (IBM), Phil Abrams | implementation language = wikipedia:FORTRAN | platforms = wikipedia:IBM 7090 | ope...")
- 21:27, 26 February 2024 Phil Abrams (hist | edit) [3,400 bytes] Marshall (talk | contribs) (Created page with "'''Philip Samuel Abrams''' is an APL implementer who worked on IVSYS/7090, APL30, and APL\3000. He is a co-founder of STSC and was briefly chairman of SIGAPL. Abrams graduated Princeton with an A.B. in mathematics in 1964 and entered Stanford, where he would earn an M.S. degree in computer science in 1966 and Ph.D. in 1970. There he worked with Larry Breed, of IBM's wik...")
- 02:32, 26 February 2024 Dick Lathwell (hist | edit) [3,867 bytes] Marshall (talk | contribs) (Created page with "'''Richard Henry Lathwell''' was one of the implementers of APL0, and a designer and implementer at IBM and I.P. Sharp Associates afterwards. He is credited with the practical realization of shared variables in APL.SV, and also published the modern formula for tolerant comparison,<ref>Dick Lathwell. [https://doi.org/10.1145/800114.803685 APL comparison tolerance] at APL76 (also reproduced in [https://www.jsoftware.com/papers/satn23.htm SATN...")
- 03:34, 25 February 2024 Comparison tolerance (hist | edit) [4,430 bytes] Marshall (talk | contribs) (Created page with "'''Tolerant comparison''' is an inexact form of comparison used to mitigate the impact of floating-point rounding error on programs. It considers two numbers equal when their relative difference is smaller than a parameter called the '''comparison tolerance''', and accessed with the system variable <syntaxhighlight lang=apl inline>⎕CT</syntaxhighlight>. In addition to the comparison functions, tolerance applies to Match and Not Match, Floor, C...") originally created as "Tolerant comparison"
- 02:46, 25 February 2024 Character (hist | edit) [1,764 bytes] Marshall (talk | contribs) (Created page with ":''This page is about the data type. For the symbols used to write APL code, see Glyph.'' A '''character''' is a scalar array representing a unit of text. In current APLs this generally means a Unicode wikipedia:code point, while historically various custom character sets were used. These accomodated typical text as well as APL code, usually with one byte per character. Characters and numbers are the two basic...")
- 22:23, 23 February 2024 Number (hist | edit) [4,921 bytes] Marshall (talk | contribs) (Created page with "In APL, a number is a scalar array representing a mathematical wikipedia:number. Numbers and characters were the only possible element types in APL0 and remain the basic data types in modern APLs. In addition to quantities for computation, they are used to represent Booleans (0 and 1) and indices. Numeric operations may be subject to floating-point rounding and comparison tolerance. Traditionally, APL provides only one user-visib...")
- 16:24, 20 February 2024 EVOLUTION ERROR (hist | edit) [794 bytes] Marshall (talk | contribs) (https://tenebrax.bandcamp.com/track/evolution-error is quite good actually)
- 02:55, 18 February 2024 Kx Systems (hist | edit) [1,062 bytes] Marshall (talk | contribs) (Created page with "'''KX''' is the vendor for the wikipedia:kdb+ time-series database and associated programming language Q, and developer of K from K1 to K4 (K4 remains accessible but its use is discouraged). Founded in 1993 by Arthur Whitney and Janet Lustgarten, it is fully owned by finance technology firm FD Technologies (formerly First Derivatives) since 2018. Whitney began work on K after leaving wikipedia:Morgan Stanley where he had developed A+. Having de...")
- 00:21, 18 February 2024 VS APL (hist | edit) [1,446 bytes] Marshall (talk | contribs) (Created page with "{{Infobox array language | array model = flat without boxes | index origin = <syntaxhighlight lang=apl inline>⎕IO</syntaxhighlight>0 or 1 | function styles = defined function | numeric types = floats (64-bit HFP) | unicode support = no | released = 1976 | developer = IBM | implementation language = wik...")
- 09:27, 15 February 2024 Comparison of APL dialects (hist | edit) [21,938 bytes] RubenVerg (talk | contribs) (Create Comparison of APL dialects page)
- 16:39, 14 February 2024 STSC (hist | edit) [2,454 bytes] Marshall (talk | contribs) (Created page with "'''Scientific Time Sharing Corporation''' ('''STSC'''), later '''Manugistics Group''', was the developer of APL*PLUS and NARS. Founded in 1969, the company initially developed APL*PLUS together with I.P. Sharp Associates (IPSA), and offered time sharing service to the United States while IPSA sold to Canada. The products were later split, with IPSA renaming its version to SHARP APL. STSC's APL business was sold to form APL2000 in 1995, and is now...")
- 09:48, 14 February 2024 Comment (hist | edit) [2,353 bytes] Adám Brudzewsky (talk | contribs) (Created page with "{| class=vertical-navbox style="float:right; font-size:500%; margin:0 1ex;" |<code><nowiki>⍝</nowiki></code> |} APL allows a '''comment''' at the end of a line, separating (optional) code on the left from comments on the right using the lamp glyph <syntaxhighlight lang=apl inline>⍝</syntaxhighlight>, thus forming a line comment: <syntaxhighlight lang=apl> 2+3 ⍝ An example of addition 5 </syntaxh...")
- 19:27, 12 February 2024 Timeline of array programming corporations (hist | edit) [5,458 bytes] Marshall (talk | contribs) (Created page with "This page shows the history of businesses strongly tied to APL or other array language implementation. Many other commercial vendors have implemented APL at some point. == By dialect == Here families of dialects are grouped together: IBM APL includes APL0, APL.SV, and others; APL*PLUS includes APL+Win and APL64; and SHARP APL includes SAX. Entries in parentheses indicate a change in ownership of the array language developer. Those ma...")
- 02:58, 7 February 2024 Character arithmetic (hist | edit) [1,312 bytes] Marshall (talk | contribs) (Created page with "'''Affine character arithmetic''' is a system that defines addition and subtraction in certain cases involving character arguments. In this system, a number can be added to or subtracted from a character to give another character, and two characters can be subtracted to give a number. These are the same operations allowed in an wikipedia:affine space, and on types such as wikipedia:pointer (computer science)s. Character arithmetic was developed...")
- 02:01, 6 February 2024 Case (hist | edit) [1,531 bytes] Marshall (talk | contribs) (No idea what to call this page)
- 01:15, 6 February 2024 Promote (hist | edit) [1,791 bytes] Marshall (talk | contribs) (Created page with "'''Promote''' is a monadic function that adds a length-1 axis to its argument before the other axes, resulting in an array with rank one higher. It appears as a primitive in Kap (<syntaxhighlight lang=apl inline><</syntaxhighlight>, "increase rank") and Dyalog APL Vision (<syntaxhighlight lang=apl inline>∧</syntaxhighlight>), as well as J (<syntaxhighlight lang=j inline>,:</syntaxhighlight>, "'''Itemize'''"), BQN (<code>≍</code>, "...")
- 13:50, 5 February 2024 APL Challenge (hist | edit) [787 bytes] Adám Brudzewsky (talk | contribs) (Created page with "|thumb|right|200px|APL Challenge logo The '''APL Challenge''' is a quarterly contest hosted by Dyalog Ltd with rounds beginning in February, May, August, and November. The APL Challenge continues the tradition of the APL Problem Solving Competition, which Dyalog Ltd ran from 2008 until 2023, but is aimed specifically at newcomers to APL, and consists of ten entry-level problems.<ref>Dyalog Ltd. [https://www.dyalog.com/news/160/...")
- 19:34, 31 January 2024 Cut (hist | edit) [1,662 bytes] Marshall (talk | contribs) (Created page with ":''For the K primitive function, see Cut (K).'' {{Built-in|Cut|⍤}}, or <syntaxhighlight lang=j inline>;.</syntaxhighlight> in J, is a primitive dyadic operator first defined in Rationalized APL and implemented in SHARP APL. It provides several functions that slice an argument into subarrays in various ways, selected by an integer operand that ranges from -3 to 3. In APL this operand is the left operand, while in J it's the right ope...")
- 18:51, 31 January 2024 Group (BQN) (hist | edit) [1,347 bytes] Marshall (talk | contribs) (Created page with "{{Built-in|Group|⊔}} is a primitive function in BQN that places values at the specified indices in the result. Because each index can appear multiple times in the array of indices, or not at all, each result element is a list of all the values placed there. Group is ambivalent: in the dyadic case, the left argument is the array of indices and the right argument is the array of values. In the monadic case, the right argument gives the result indices and...")
- 16:15, 31 January 2024 Group (K) (hist | edit) [1,287 bytes] Marshall (talk | contribs) (Created page with ":''This page is about the K primitive that returns a dictionary. For the primitive that returns an array introduced by BQN, see Group (BQN).'' {{Built-in|Group|<nowiki>=</nowiki>}} is a monadic function in K that returns a dictionary whose keys are the unique values in its argument and whose value for a given key is the list of indices where it appears. In versions before K4, which introduced dictionaries, Group returns only an array of the index lis...") originally created as "Group"
- 23:23, 29 January 2024 Inverse (hist | edit) [1,612 bytes] Marshall (talk | contribs) (Created page with "The '''inverse''' of a function is a function that undoes its effect, computing an argument that corresponds to the given result for that function. In APL it's usually written with the Power operator as <syntaxhighlight lang=apl inline>(f⍣¯1) x</syntaxhighlight>. While some functions such as Reverse have an obvious exact inverse, others might have no valid inverse or many possible choices for a given result. Treatment of these cases varies among dialects, but...")
- 21:04, 28 January 2024 A Dictionary of APL (hist | edit) [2,284 bytes] Marshall (talk | contribs) (Created page with "{{Infobox array language | array model = flat with boxes | index origin = 0 primarily; allowing 1 in dialects | function styles = definition operator, direct definition | numeric types = real and complex | released = 1987 | developer = Ken Iverson | influenced by = Rationalized APL, SHARP APL | influenced = J | implementation language= not...")
- 17:01, 27 January 2024 Classify (hist | edit) [1,211 bytes] Marshall (talk | contribs) (Created page with "'''Self-classify''', or '''index-in-nub''', is a monadic function that gives the index of each of its argument cells in the unique argument cells, which can be implemented as <syntaxhighlight lang=apl inline>{(∪⍵)⍳⍵}</syntaxhighlight> or <syntaxhighlight lang=apl inline>(∪⍳⊢)</syntaxhighlight>. This result is another representation of the boolean matrix returned by the earlier function Nub in defined by Iverson. Classify is implement...")
- 16:42, 27 January 2024 Nub in (hist | edit) [1,306 bytes] Marshall (talk | contribs) (Created page with ":''The name "self-classify" may also refer to the related function Classify, which returns a vector of indices instead of a boolean matrix.'' {{Built-in|Nub in|<nowiki>=</nowiki>}}, '''nub-classify''', or '''self-classify''', is a monadic function that indicates which unique cell each of its argument cells matches. It returns a boolean matrix where the first axis corresponds to unique cells and the second to all cells, and might be implemented as <sy...")
- 16:04, 27 January 2024 Laminate (hist | edit) [3,851 bytes] Marshall (talk | contribs) (Created page with "{{Built-in|Laminate|,[0.5]}} is a case of the Catenate function with axis that joins its argument arrays along a new length-2 axis. It applies whenever the function axis is non-integral, but is typically written with a half-integer axis. Possible choices of axis range from <syntaxhighlight lang=apl inline>,[⎕IO-0.5]</syntaxhighlight>, which places the new axis before any argument axis, to <syntaxhighlight lang=apl inline>,[r+⎕IO-0.5]</syntax...")