X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/8241e3a550f1eb18ed7d955dd0ebda9a4e3bc7d6..e10ebeeeccd813dd3d9ff3e23b3338036deb66b1:/apl.inc.pl diff --git a/apl.inc.pl b/apl.inc.pl new file mode 100644 index 0000000..61c759d --- /dev/null +++ b/apl.inc.pl @@ -0,0 +1,62 @@ +use utf8; +( +# monadic +["∼", undef, "Not, Tilde\nLogical: ∼1 is 0, ∼0 is 1"], + +# dyadic, monadic +["+", "Add\nSum of A and B", "Identity\nNo change to B"], +["−", "Subtract\nA minus B", "Negation\nChanges sign of B"], +["×", "Multiply\nA multiplied by B", "Signum\n¯1 if B<0; 0 if B=0; 1 if B>0"], +["÷", "Divide\nA divided by B", "Reciprocal\n1 divided by B"], +["⋆", "Exponentiation\nA raised to the B power", "Exponential\ne to the B power"], +["○", "Circle\nTrigonometric functions of B selected by A\nA=1: sin(B) A=2: cos(B) A=3: tan(B)", "Pi times\nMultiply by π"], +["?", "Deal\nA distinct integers selected randomly from the first B integers", "Roll\nOne integer selected randomly from the first B integers"], +["∈", "Membership, Epsilon\n1 for elements of A present in B; 0 where not."], +["⌈", "Maximum, Ceiling\nThe greater value of A or B", "Ceiling\nLeast integer greater than or equal to B"], +["⌊", "Minimum, Floor\nThe smaller value of A or B", "Floor\nGreatest integer less than or equal to B"], +["⍴", "Reshape, Dyadic Rho\nArray of shape A with data B", "Shape, Rho\nNumber of components in each dimension of B"], +["↑", "Take\nSelect the first (or last) A elements of B according to ×A"], +["↓", "Drop\nRemove the first (or last) A elements of B according to ×A"], +["⊥", "Decode\nValue of a polynomial whose coefficients are B at A"], +["⊤", "Encode\nBase-A representation of the value of B"], +["∣", "Residue\nB modulo A", "Absolute value\nMagnitude of B"], +[",", "Catenation\nElements of B appended to the elements of A", "Ravel, Catenate, Laminate\nReshapes B into a vector"], +["\\","Expansion, Dyadic Backslash\nInsert zeros (or blanks) in B corresponding to zeros in A", "Scan (last axis), Backslash\nRunning sum across B"], +["⍀", undef, "Scan (first axis)\nRunning sum down B"], +["/", "Compression, Dyadic Slash\nSelect elements in B corresponding to ones in A", "Reduce (last axis), Slash\nSum across B"], +["⌿", undef, "Reduce (first axis)\nSum down B"], +["⍳", "Index of, Dyadic Iota\nThe location (index) of B in A; 1+⌈/⍳⍴A if not found", "Index generator, Iota\nVector of the first B integers"], +["⌹", "Matrix divide, Dyadic Quad Divide\nSolution to system of linear equations, multiple regression Ax = B", "Matrix inverse, Monadic Quad Divide\nInverse of matrix B"], +["⌽", "Rotation\nThe elements of B are rotated A positions", "Reversal\nReverse elements of B along last axis"], +["⊖", "Rotation\nThe elements of B are rotated A positions along the first axis", "Reversal\nReverse elements of B along first axis"], +["⍟", "Logarithm\nLogarithm of B to base A", "Logarithm\nNatural logarithm of B"], +["⍋", undef, "Grade up\nIndices of B which will arrange B in ascending order"], +["⍒", undef, "Grade down\nIndices of B which will arrange B in descending order"], +["⍎", undef, "Execute\nExecute an APL expression"], +["⍕", "Dyadic formatting\nFormat B into a character matrix according to A", "Monadic formatting\nA character representation of B"], +["⍉", "General transpose\nThe axes of B are ordered by A", "Monadic transpose\nReverse the axes of B"], +["!", "Combinations\nNumber of combinations of B taken A at a time", "Factorial \nProduct of integers 1 to B"], +["¨", "Diaeresis, Double-Dot\nOver each, or perform each separately; B = on these; A = operation to perform or using(e.g. iota)"], +["<", "Less than\nComparison: 1 if true, 0 if false"], +["≤", "Less than or equal\nComparison: 1 if true, 0 if false"], +["=", "Equal\nComparison: 1 if true, 0 if false"], +["≥", "Greater than or equal\nComparison: 1 if true, 0 if false"], +[">", "Greater than\nComparison: 1 if true, 0 if false"], +["≠", "Not equal\nComparison: 1 if true, 0 if false"], +["∨", "Or\nLogic: 0 if A and B are 0; 1 otherwise"], +["∧", "And\nLogic: 1 if A and B are 1; 0 otherwise"], +["⍱", "Nor\nLogic: 1 if both A and B are 0; otherwise 0"], +["⍲", "Nand\nLogic: 0 if both A and B are 1; otherwise 1"], + +# operators and axis indicator +[".", undef, "Inner product\nMatrix product of A and B"], +["∘.", undef, "Outer product\nOuter product of A and B"], + +# miscellaneous +["¯", undef, "High minus\nDenotes a negative number"], +["⍝", undef, "Lamp, Comment\nEverything to the right of ⍝ denotes a comment"], +["→", undef, "RightArrow, Branch, GoTo\n→This_Label sends APL execution to This_Label:"], +["←", undef, "Assign, LeftArrow, Set to\nB←A sets values and shape of B to match A"], +["⎕", undef, "Quad"], +[")", undef, "Hook"], +);