This is a collection of the Dyalog, FinnAPL, and APL2 idiom lists.

The lists differ a bit: The Dyalog entries are optimized in interpreter. The FinnAPL entries represent the traditional APL way of doing things – without nested arrays and other modern features. The APL2 entries do use nested arrays, but may not take advantage of Dyalog's newest additions, e.g. dfns, trains, and primitives like ⍣ ⌸ ⍤ ⍨ ∪ ∩ ≢ etc. Note that all idioms, including those from APL2, assume ⎕ML←1, while is use to denote {⎕ML←3 ⋄ ⍺⊂⍵}.

If you click on an APL expression it will be copied to the clipboard.

DescriptionExpression
click to copy to clipboard
RequirementsLibrary
(Cyclic) compression of successive blanks.(A∨1⌽A←CV≠' ')/CVFinnAPL
(Real) solution of quadratic equation with coefficients NV.(-NV[2]-¯1 1×((NV[2]*2)-×/4,NV[1 3])*.5)÷2×NV[1]3 ←→ ⍴NQFinnAPL
0 corresponding to each item of XA.{0}¨XADyalog
0 irrespective of XA.{0}XADyalog
1 if XA does not have an empty first dimension, 0 otherwise (⎕ML<2).0≠⊃⍴XADyalog
1 if XA has a depth of 0 or 1 (simple scalar, vector, etc.), 0 otherwise.1=≡,XA Dyalog
1 if XA has a depth of 1 (simple array), 0 otherwise.1=≡XA Dyalog
1 if XA has a depth of zero (simple scalar), 0 otherwise.0=≡XADyalog
1 if XA has a rank of zero (scalar), 0 otherwise.0=⍴⍴XADyalog
1 if XA has an empty first dimension, 0 otherwise (⎕ML<2).0=⊃⍴XADyalog
1 if XA is empty, 0 otherwise.0∊⍴XA Dyalog
1 if XA is not empty, 0 otherwise.~0∊⍴XA Dyalog
1 if XV has a shape of zero, 0 otherwise.0=⍴XVDyalog
A Boolean mask indicating the leading blank spaces in each row of CA.∧\' '=CADyalog
A magic square, side IS.A⊖(A←(⍳IS)-⌈IS÷2)⌽(IS,IS)⍴⍳IS×IS1=2|ISFinnAPL
A nested vector comprising simple character vectors constructed from the rows of CA (which must be of depth 1) with all blank spaces removed.~∘' '¨↓CADyalog
A nested vector comprising simple character vectors constructed from the rows of CA (which must be of depth 1) with trailing blank spaces removed.{(+/∨\' '≠⌽⍵)↑¨↓⍵}CADyalog
A nested vector comprising vectors that each correspond to a position in the original vectors of PV – the first vector contains the first item from each vector in PV, padded to be the same length as the largest vector, and so on (⎕ML<2).↓⍉↑PVDyalog
A nested vector comprising vectors that each correspond to a position in the original vectors of PV – the first vector contains the first item from each vector in PV, padded to be the same length as the largest vector, and so on (⎕ML≥2).↓⍉⊃PVDyalog
A simple vector comprising as many items as there are rows in XM2, where each item is the number of the first row in XM1 that matches each row in XM2.XM1{(↓⍺)⍳↓⍵}XM2Dyalog
A way to combine trigonometric functions (sin NS1 cos NS2).1 2×.○NS1,NS2FinnAPL
Accurately sum a vector of floating numbers.FS←+/F[⍒|F]APL2
Add subvectors of N from consecutive G dups.N←+/¨(+\¯1↓1,G≠1⌽G)⊆NAPL2
Add subvectors of N given B breaks in group.N←+/¨(+\B)⊆NAPL2
Add subvectors of N given L items per group.N←+/¨(L/1+⍳⍴L)⊆NAPL2
Add subvectors of N using ordered list MG.N←+/¨(+\¯1↓1,∨/MG≠1⊖MG)⊆NAPL2
Add vector N to each column of NM.NM←NM+[1]N0=⎕IOAPL2
Add vector N to each column of NM.NM←NM+[2]N1=⎕IOAPL2
Adding a new dimension after dimension IS1 IS2-fold.(⍋⍋(IS1+1),⍳⍴⍴XA)⍉(IS2,⍴XA)⍴XAFinnAPL
Adding an empty row into XM after row IS.((IS+1)≠⍳1+1⍴⍴XM)⍀XMFinnAPL
Adding an empty row into XM after rows IV.(~(⍳(⍴IV)+1⍴⍴XM)∊IV+⍳⍴IV)⍀XMFinnAPL
Adding NV to each column of NA.NA+⍉(⌽⍴NA)⍴NV≢NQ ←→ ≢NAFinnAPL
Adding NV to each column of NM.2 1 2⍉NV∘.+NMFinnAPL
Adding NV to each column of NM.1 2 2⍉NM∘.+NVFinnAPL
Adding NV to each row of NA.NA+(⍴NA)⍴NV(⍴NQ)=¯1↑⍴NAFinnAPL
Adding NV to each row of NM.1 1 2⍉NV∘.+NMFinnAPL
Adding NV to each row of NM.1 2 1⍉NM∘.+NVFinnAPL
Adding scalar NS to last element of NA.NA+(-⍴NA)↑NSFinnAPL
Ain't Dot Is. Test for even # of non-zeros.BS←0≠.=NAPL2
Aligning columns of matrix XM to diagonals.(1-⍳¯1↑⍴XM)⌽XMFinnAPL
Aligning diagonals of matrix XM to columns.(¯1+⍳¯1↑⍴XM)⌽XMFinnAPL
All axes of array A.I←⍳⍴⍴AAPL2
All axes of array XA.⍳⍴⍴XAFinnAPL
All binary representations up to IS (truth table).((⌈2⍟1+IS)⍴2)⊤0,⍳ISFinnAPL
All binary representations with IS bits (truth table).(IS⍴2)⊤¯1+⍳2*ISFinnAPL
All column indices of array A.I←⍳⊃⌽⍴AAPL2
All elements true (∧/) on each subvector of BV2 indicated by BV1.(BV1/BV2)∧A/1⌽A←(BV2≤BV1)/BV1FinnAPL
All factors of IS.I←(0=I|IS)/I←2+⍳⌊IS÷20=⎕IOAPL2
All factors of IS.I←(0=I|IS)/I←1+⍳⌊IS÷21=⎕IOAPL2
All indices of vector V.I←⍳⍴VAPL2
All indices of vector XV.⍳⍴XVFinnAPL
All ones after the first one.B←∨\BAPL2
All ones after the first zero.B←≤\BAPL2
All ones to the first zero.B←∧\BAPL2
All pairs of elements of ⍳IS1 and ⍳IS2.⎕IO+(IS1,IS2)⊤(⍳IS1×IS2)-⎕IOFinnAPL
All pixels in a 5 by 10 window.Z←(⍳5)∘.+¯11○⍳10APL2
All possible pairs of 1 through IS.M←(<⌿M)/M←(2,IS*2)⍴(,⍉M),,M←IS IS⍴1+⍳IS0=⎕IOAPL2
All possible pairs of 1 through IS.M←(<⌿M)/M←(2,IS*2)⍴(,⍉M),,M←IS IS⍴⍳IS1=⎕IOAPL2
All primes up to IS.(2=+⌿0=(⍳IS)∘.|⍳IS)/⍳ISFinnAPL
All row indices of matrix M.I←⍳≢MAPL2
All valid one character APL2 names.C←(¯1≠⎕NC,['']⎕AV)/⎕AVAPL2
All zeros except the first one.B←<\BAPL2
All, both.∧/BAFinnAPL
Alphabetical comparison with alphabets XV.(XV⍳XA1)<XV⍳XA2FinnAPL
Alphabetizing CA; equal alphabets in same column of CM.(¯1↑⍴CM)|(,CM)⍳CAFinnAPL
Alternate beg/end tags.M←↑∊¨⊂[1]M⊣(B/,M)←(+/B←,M='ø')⍴':HP1.' ':EHP1.'0=⎕IOAPL2
Alternate beg/end tags.M←↑∊¨⊂[2]M⊣(B/,M)←(+/B←,M='ø')⍴':HP1.' ':EHP1.'1=⎕IOAPL2
Alternating product.÷/NAFinnAPL
Alternating product of N.NS←÷/NAPL2
Alternating sequence of I ones and zeros.B←I/(⍴I)⍴1 0APL2
Alternating series (1 ¯1 2 ¯2 3 ¯3 …).#NAME?FinnAPL
Alternating series of length IS(1,-1,2,-2..).N←-\⍳ISAPL2
Alternating sum.-/NAFinnAPL
Alternating sum of magnitude of N.NS←-/|NAPL2
Alternating sum of N.NS←-/NAPL2
An expression giving itself.1⌽22⍴11⍴'''1⌽22⍴11⍴'''FinnAPL
Annuity coefficient: IA periods at int FA.A←FA÷⍉1-(1+FA)∘.×-IAAPL2
Annuity coefficient: IA periods at interest rate NA %.((⍴A)⍴NA÷100)÷A←⍉1-(1+NA÷100)∘.*-IAFinnAPL
Any element true (∨/) on each subvector of BV2 indicated by BV1.(BV1/BV2)≥A/1⌽A←(BV2∨BV1)/BV1FinnAPL
Any, anyone.∨/BAFinnAPL
Applying to columns action defined on rows.⍉ … ⍉XVFinnAPL
Arccosine of NA in radians.FA←¯2○NAAPL2
Arcsine of NA in radians.FA←¯1○NAAPL2
Arctan NA2÷NA1.((NA1≠0)ׯ3○NA2÷NA1+NA1=0)+○((NA1=0)×.5××NA2)+(NA1<0)×1-2×NA2<0FinnAPL
Arctangent of NA in radians.FA←¯3○NAAPL2
Are there less than N items in each dim?B←N>⍴AAPL2
Area of a polygon given X,Y endpoints.NS←|.5×+/Y×(¯1⌽X)-1⌽XAPL2
Area of a triangle given side length.V←(×/(+/X÷2)-0,X)*.53=⍴XAPL2
Area of triangle with side lengths in NV (Heron's formula).(×/(+/NV÷2)-0,NV)*.53 ←→ ⍴NQFinnAPL
Arithmetic average (mean value).(+/NV)÷⍴NVFinnAPL
Arithmetic average (mean value) of NV1 weighted by NV2.(NV2+.×NV1)÷⍴NV1FinnAPL
Arithmetic average (mean value), also for an empty array.(+/,NA)÷1⌈⍴,NAFinnAPL
Arithmetic precision of the system (in decimals).⌊|10⍟|1-3×÷3FinnAPL
Arithmetic progression from NS1 to NS2 with step NS3.NS1+(NS3××NS2-NS1)×(⍳1+|⌊(NS2-NS1)÷NS3)-⎕IOFinnAPL
Arithmetic progression of NS2 numbers from NS1 with step NS3.NS1+NS3×(⍳NS2)-⎕IOFinnAPL
Arithmetic progression vector.N←X+NS×⍳ISAPL2
Arithmetic progression vector.N←X+NSׯ1+⍳ISAPL2
Array and its negative ('plus minus').NA∘.×1 ¯1FinnAPL
Array and its negative ('plus minus').NA,[.5+⍴⍴NA]-NAFinnAPL
Array with shape of XA and XV as its rows.(⍴XA)⍴XVFinnAPL
Ascending cardinal numbers (ranking, all different).⍋⍋NVFinnAPL
Ascending cardinal numbers (ranking, shareable).⌊.5×(⍋⍋NV)+⌽⍋⍋⌽NVFinnAPL
Ascending series of integers IS2…IS1 (for small IS2 and IS1).(IS2-1)↓⍳IS1FinnAPL
ASCII sequence in HEX table.C←16 16⍴⎕AVAPL2
Assign value to A if not assigned.⍎(0=⎕NC 'A')/'A←1'APL2
Assign values of expressions in CM1 to variables named in CM2.A←⍎,',','(','0','⍴',CM2,'←',CM1,')'FinnAPL
Assigns MY-values to matrix of MX-names.⍎¨⊂[1]MX,'←',⍕MY0=⎕IOAPL2
Assigns MY-values to matrix of MX-names.⍎¨⊂[2]MX,'←',⍕MY1=⎕IOAPL2
Attach row numbers to a matrix.M←(⍳≢M),MAPL2
Average (mean value) of columns of matrix NM.(+⌿NM)÷1↑(⍴NM),1FinnAPL
Average (mean value) of elements of NA along direction IS.(+/[IS]NA)÷(⍴NA)[IS]FinnAPL
Average (mean value) of rows of matrix NM.(+/NM)÷¯1↑1,⍴NMFinnAPL
Average (mean) of N.AVG←(+/N)÷1⌈⍴NAPL2
Avoiding division by zero error (gets value zero).(0≠NA1)×NA2÷NA1+0=NA1FinnAPL
Avoiding parentheses by swapping arguments of FUNCTION F.(1 F⍨ …)FinnAPL
BA1 but not BA2.BA1>BA2FinnAPL
BA1 implies BA2.BA1≤BA2FinnAPL
Barchart of integer values (across the page).' ⎕'[⎕IO+IV∘.≥⍳⌈/IV]FinnAPL
Barchart of integer values (down the page).' ⎕'[⎕IO+(⌽⍳⌈/IV)∘.≤IV]FinnAPL
Barchart of NV with height NS (across the page).' ⎕'[⎕IO+NV∘.≥(⌈/NV)×(⍳NS)÷NS]FinnAPL
Barchart of two integer series (across the page).' *○⍟'[⎕IO+2⊥IM∘.≥⍳⌈/,IM]≢IM ←→ 2FinnAPL
Base 10 representation of a number.IA←(¯1⌽⍳1+⍴⍴NA)⍉((1+⌊10⍟1⌈⌈/,NA)⍴10)⊤NAAPL2
Base IS representation of a number.IA←(¯1⌽⍳1+⍴⍴NA)⍉((1+⌊IS⍟1⌈⌈/,NA)⍴IS)⊤NAAPL2
Best linear fit of points (NV1,NV2) (least squares).NV2⌹NV1∘.*0 1FinnAPL
Beta function.÷NS2×(NS1-1)!NS2+NS1-1FinnAPL
Beta function.N←÷Y×(X-1)!Y×X-1APL2
Binary format of decimal number IS.⍕10⊥((1+⌈2⍟⌈/,IS)⍴2)⊤ISFinnAPL
Binary matrix of (N,K) combinations.M←⌽(K=+⌿M)/M←(N⍴2)⊤⍳1+2⊥N↑K⍴1APL2
Binomial coefficients from 1-IS.M←⍉(⍳1+IS)∘.!⍳1+IS0=⎕IOAPL2
Binomial coefficients from 1-IS.M←⍉(0,⍳IS)∘.!0,⍳IS1=⎕IOAPL2
Binomial distribution of IS trials with probability NS.(A!IS)×(NS*A)×(1-NS)*IS-A←-⎕IO-⍳IS+1FinnAPL
Binomial distribution of X trials at prob. Y.N←(N!X)×(Y*N)×(1-Y)*X-N←⍳X+10=⎕IOAPL2
Binomial distribution of X trials at prob. Y.N←(N!X)×(Y*N)×(1-Y)*X-N←¯1+⍳X+11=⎕IOAPL2
Blank rows.∧/' '=CMFinnAPL
Boolean ending changes given # duped items.B←(,(1-L),[.5]1)/10=⎕IOAPL2
Boolean ending changes given # duped items.B←(,(1-L),[1.5]1)/11=⎕IOAPL2
Boolean ending changes given # duped items.B←(1+⍳+/L)∊+\L0=⎕IOAPL2
Boolean ending changes given # duped items.B←(⍳+/L)∊+\L1=⎕IOAPL2
Boolean expand length for headers.B←2</0,(1+B)/BAPL2
Boolean first item of each change in MG.B←¯1↓1,∨/MG≠1⊖MGAPL2
Boolean first ones in each group of ones.B←2</0,BAPL2
Boolean items in X that are not in Y.B←~X∊YAPL2
Boolean L[i] gaps after each one.B←(,1,[.5]-L)/10=⎕IOAPL2
Boolean L[i] gaps after each one.B←(,1,[1.5]-L)/11=⎕IOAPL2
Boolean last item of each change in MG.B←1↓(∨/MG≠¯1⊖MG),1APL2
Boolean last ones in each group of ones.B←2>/B,0APL2
Boolean mask of CM containing VC.BM←⊃∨/VC⍷¨⊂CMAPL2
Boolean one at first occurrence of C in CA.(,BA)←<\,BA←C⍷CAAPL2
Boolean rows of CM containing C.B←∨/C⍷CMAPL2
Boolean rows of CM starting with C.B←,1↑[0]C⍷CM0=⎕IOAPL2
Boolean rows of CM starting with C.B←,1↑[1]C⍷CM1=⎕IOAPL2
Boolean rows of M all equal to scalar S.B←M∧.=SAPL2
Boolean rows of MVX containing MVY.B←∨/MVX∧.(≡¨)⍉MVYAPL2
Boolean rows of MX containing MY.B←∨/MX∧.=⍉MYAPL2
Boolean start changes given length vector L.B←(,1,[.5]1-L)/10=⎕IOAPL2
Boolean start changes given length vector L.B←(,1,[1.5]1-L)/11=⎕IOAPL2
Boolean start changes given length vector L.B←(⍳+/L)∊+\0,L0=⎕IOAPL2
Boolean start changes given length vector L.B←(⍳+/L)∊+\1,L1=⎕IOAPL2
Boolean start vector given position indices.B←(≢M)↑(⍳⌈/P)∊PAPL2
Boolean start vector to boolean end vector.B←1⌽BAPL2
Boolean starting changes given # duped items.B←(⍳+/L)∊0,+\L0=⎕IOAPL2
Boolean starting changes given # duped items.B←(⍳+/L)∊+\1,L1=⎕IOAPL2
Boolean test: All items in B equal?BS←≠/0 1∊∊ABAPL2
Boolean test: All items in B equal?BS←AB≡1⌽ABAPL2
Boolean test: All items in simple B equal?BS←≠/0 1∊BAPL2
Boolean test: Are all items in V equal?BS←V∧.∊⊂⊃VAPL2
Boolean test: Are all items in V equal?BS←V≡1⌽VAPL2
Boolean test: Are all items in V equal?BS←V∧.=⊃V1=≡VAPL2
Boolean test: Are all items of V unique?BS←(V⍳V)≡⍳⍴VAPL2
Boolean test: Are all true?BS←∧/BAPL2
Boolean test: Are any true?BS←∨/BAPL2
Boolean test: Are none true?BS←~∨/BAPL2
Boolean test: Is A a nested array?BS←1<|≡AAPL2
Boolean test: Is A a scalar?BS←0∊⍴⍴AAPL2
Boolean test: Is A a simple array?BS←1≥|≡AAPL2
Boolean test: Is A a simple character array?BS←A≡⍕AAPL2
Boolean test: Is A a vector?BS←1∊⍴⍴AAPL2
Boolean test: Is A anti-symmetric?BS←A≡-⍉AAPL2
Boolean test: Is A empty?BS←0∊⍴AAPL2
Boolean test: Is A non-empty?BS←0≠⍴,AAPL2
Boolean test: Is A numeric? (if homogeneous).BS←0=⊃0⍴AAPL2
Boolean test: Is A simple numeric?BS←(⊃0⍴⊂A)≡(⍴A)⍴0APL2
Boolean test: Is A symmetric?BS←A≡⍉AAPL2
Boolean test: Is any element of N even?BS←∨/~2|NAPL2
Boolean test: Is AX identical to AY?BS←AX≡AYAPL2
Boolean test: Is B boolean?BS←∧/∊B∊0 1APL2
Boolean test: Is every element of N odd?BS←∧/2|NAPL2
Boolean test: Is every element of N positive?BS←∧/N>0APL2
Boolean test: Is every element of NA even?BS←∧/∊~2|NAAPL2
Boolean test: Is every element of NA integer?BS←∧/∊NA=⌊NAAPL2
Boolean test: Is first item largest?BS←~×⊃⍒NAPL2
Boolean test: Is first item largest?BS←|/⍋NAPL2
Boolean test: Is first item smallest?BS←~×⊃⍋NAPL2
Boolean test: Is first item smallest?BS←|/⍒NAPL2
Boolean test: Is IS prime?BS←0=+/0=((2×IS≠2),2+2×⍳⌊.5×IS*.5)|IS0=⎕IOAPL2
Boolean test: Is IS prime?BS←0=+/0=((2×IS≠2),1+2×⍳⌊.5×IS*.5)|IS1=⎕IOAPL2
Boolean test: Is N in ascending column order.BS←∧⌿N=⌈⍀NAPL2
Boolean test: Is N in ascending row order.BS←∧/N=⌈\NAPL2
Boolean test: Is N permutation of NX?BS←N[⍋N]≡NX[⍋NX]APL2
Boolean test: Is N permutation vector?BS←N[⍋N]≡1+⍳⍴N0=⎕IOAPL2
Boolean test: Is N permutation vector?BS←N[⍋N]≡⍳⍴N1=⎕IOAPL2
Boolean test: Is V a valid APL name?BS←¯1≠⎕NC VAPL2
Boolean test: Is Y a subset of X?BS←∧/,Y∊XAPL2
Boolean test: Parity.BS←≠/BAPL2
Boolean vector of length IS with ones in locations IA.(⍳IS)∊IAFinnAPL
Boolean vector of length IS with zeroes in locations IA.(~(⍳IS)∊IA)FinnAPL
Branch to label on condition.IS:→(100<NS←NS+1)/ISAPL2
Branch to line in I of first true B.→B/IAPL2
Branch to line in position PS of I.→PS⊃IAPL2
Branch to offset IS from current line.→⎕LC+ISAPL2
Build array from boolean pattern. Insert S.A←(' ',S)[BA]1=⎕IOAPL2
Build array from boolean pattern. Insert S.A←(' ',S)[1+BA]0=⎕IOAPL2
Build array from boolean pattern. Insert V.A←(' ',V)[BA×(⍴BA)⍴⍳⊃⌽⍴BA]1=⎕IOAPL2
Build array from boolean pattern. Insert V.A←(' ',V)[1+BA×(⍴BA)⍴⍳⊃⌽⍴BA]0=⎕IOAPL2
Build array from boolean pattern. Reduce A.A←↑⊃,/¨(⊂[1]BM)⊂¨⊂V0=⎕IOAPL2
Build array from boolean pattern. Reduce A.A←↑⊃,/¨(⊂[2]BM)⊂¨⊂V1=⎕IOAPL2
Cartesian product: all pairs of AX, AY.AV←AX∘.,AYAPL2
Cascade NS-fold fill between two polygons.VZ←(⊂ZX)+(⊂ZY-ZX)×(⍳NS+1)÷NS0=⎕IOAPL2
Cascade NS-fold fill between two polygons.VZ←(⊂ZX)+(⊂ZY-ZX)×(0,⍳NS)÷NS1=⎕IOAPL2
Case structure according to key vector XV.→IV[XV⍳XS]FinnAPL
Case structure using levels with limits NV.→(NS≥NV)/IVFinnAPL
Case structure with an encoded branch destination.→IV[1+2⊥BV]FinnAPL
Case structure with integer switch.→IS⌽IVFinnAPL
Case structure with logical switch (preferring from start).→BV/IVFinnAPL
Catenating IS elements XA after every element of XV.,XV,((⍴XV),IS)⍴XAFinnAPL
Catenating IS elements XS after indices IV in vector XV.A←IS×⍴,IV ⋄ (XV,A⍴XS)[⍋(⍳⍴XV),A⍴IV]FinnAPL
Catenating IS elements XS before every element of XV.,(((⍴XV),IS)⍴XS),XVFinnAPL
Catenating IS elements XS before indices IV in vector XV.A←IS×⍴,IV ⋄ ((A⍴XS),XV)[⍋(A⍴IV),⍳⍴XV]FinnAPL
Centering C in field width NS.C←(-⌊.5×0⌈NS-⍴C)⌽NS↑CAPL2
Centering character array CA with only right edge ragged.(-⌊0.5×+/∧\' '=⌽CA)⌽CAFinnAPL
Centering character array CA with ragged edges.(A-⌊0.5×(A←+/∧\⌽A)++/∧\A←' '=⌽CA)⌽CAFinnAPL
Centering left justified CM.CM←(-⌊.5×+/∧\⌽CM=' ')⌽CMAPL2
Centering non-justified CM.CM←(⌈.5×⊃-/+/¨∧\¨B(⌽B←CM=' '))⌽CMAPL2
Centering right justified CM.CM←(⌈.5×+/∧\CM=' ')⌽CMAPL2
Centering text line CV into a field of width IS.IS↑((⌊-/.5×IS,⍴CV)⍴' '),CVFinnAPL
Centering text line CV into a field of width IS.(-⌊.5×IS+⍴CV)↑CVFinnAPL
Change A to scalar if it is simple.⍎(1=≡A)/'A←⊂A'APL2
Change A, only if it is scalar, to vector.A←1/AAPL2
Change scalars to vectors at depths 0-2.A←1/¨AAPL2
Change sign on condition B.N←Nׯ1*BAPL2
Change X if new value given.X←⊃(' '∨.≠V)↓X V←⍞APL2
Changing an index origin dependent argument to act as ⎕IO=0.⎕IO+IAFinnAPL
Changing an index origin dependent argument to act as ⎕IO=1.(⎕IO-1)+IAFinnAPL
Changing an index origin dependent result to be as ⎕IO=0.-⎕IO-IAFinnAPL
Changing an index origin dependent result to be as ⎕IO=1.(~⎕IO)+IAFinnAPL
Changing connection matrix IM (¯1 → 1) to a node matrix.(1 ¯1∘.=⍉IM)+.×⍳≢⎕←IMFinnAPL
Changing connectivity list CM to a connectivity matrix.A←(×/B←0 0+⌈/,CM)⍴0 ⋄ A[⎕IO+B[1]⊥-⎕IO-CM]←1 ⋄ B⍴AFinnAPL
Changing connectivity matrix CM to a connectivity list.(,CM)/1+A⊤¯1+⍳×/A←⍴CMFinnAPL
Changing index of an unfound element to zero.(1+⍴XV)|XV⍳XAFinnAPL
Changing index of an unfound element to zero (not effective).(XA∊XV)×XV⍳XAFinnAPL
Changing lengths IV of subvectors of XV to ending indicators.(⍳⍴XV)∊(+\IV)-~⎕IOFinnAPL
Changing lengths IV of subvectors of XV to starting indicators.(⍳⍴XV)∊+\⎕IO,IVFinnAPL
Changing lengths IV of subvectors to ending indicators.(⍳+/IV)∊(+\IV)-~⎕IOFinnAPL
Changing lengths IV of subvectors to starting indicators.A←(+/IV)⍴0 ⋄ A[+\¯1↓⎕IO,IV]←1 ⋄ AFinnAPL
Changing lengths IV of subvectors to starting indicators.(⍳+/IV)∊+\⎕IO,IVFinnAPL
Changing node matrix IM (starts,ends) to a connection matrix.-/(⍳⌈/,IM)∘.=⍉IMFinnAPL
Changing numeric code NA into corresponding name in NV.CM[NV⍳NA;]FinnAPL
Changing starting indicators BV of subvectors to lengths.A-¯1↓0,A←(1⌽BV)/⍳⍴BVFinnAPL
Changing XA if a new input value is given.XA←⍎,((2↑'XA'),' ',[.5]A)[⎕IO+~' '∧.=A←⍞;]FinnAPL
Check for input in range 1…XA.(A←⎕)∊⍳XAFinnAPL
Chipmunk. Selective picking from array.A←PA⊃¨⊂AAPL2
Choosing a string according to boolean value BS.(BS/CV1),(~BS)/CV2FinnAPL
Choosing according to signum.XV[2+×NA]FinnAPL
Choosing IA1 objects out of ⍳IA2 with replacement (roll).?IA1⍴IA2FinnAPL
Choosing IS2 objects out of ⍳IS1 without replacement (deal).IS2?IS1FinnAPL
Choosing sorting direction during execution.⍋NV×(¯1 1)[IS]FinnAPL
Choosing sorting direction I +A, 0U, or -D.NM←NM[⍋NM×I;]APL2
Classic version only: The character numbers (atomic vector index) corresponding to the characters in CA.⎕AV⍳CADyalog
Classification of elements NV into IS classes of equal size.+/(A×IS÷⌈/A←NV-⌊/NV)∘.≥¯1+⍳ISFinnAPL
Classification of NV1 to classes starting with NV2.A[(B/C)-⍴NV2]←B/+\~B←(⍴NV2)<C←⍋NV2,NV1+A←0×NV1 ⋄ ANQ2<.≥1⌽NQ2FinnAPL
Coefficients of exponential (curve) fit of points (NV1,NV2).A←(⍟NV2)⌹NV1∘.*0 1 ⋄ A[1]←*A[1] ⋄ AFinnAPL
Coefficients of the binomial.N←(⍳1+IS)!IS0=⎕IOAPL2
Coefficients of the binomial.N←(0,⍳IS)!IS1=⎕IOAPL2
Column averages of NM.CAVE←(+⌿NM)÷1⌈≢NMAPL2
Column averages of NM. (non-zero).CAVG←(+⌿NM)÷1⌈+⌿0≠NMAPL2
Column sum of a matrix.+⌿NMFinnAPL
Column table. Vectors to columns of matrix.M←⍉↑VVAPL2
Columnize rows of data separated by blanks.CM←⍕↑(C≠' ')⊂¨C←⊂[1]CM0=⎕IOAPL2
Columnize rows of data separated by blanks.CM←⍕↑(C≠' ')⊂¨C←⊂[2]CM1=⎕IOAPL2
Col-wise percentage per column.N←100×NM÷[1]+⌿NM0=⎕IOAPL2
Col-wise percentage per column.N←100×NM÷[2]+⌿NM1=⎕IOAPL2
Combinations of N things taken K ways.C←K!NAPL2
Combine 2 arrays along their last dimension.A←↑,/AX,⊂AYAPL2
Comparing vector XV with rows of array XA.XA∧.=XVFinnAPL
Comparison of successive rows.∧/XM=1⊖XMFinnAPL
Comparison table.IV∘.≥⍳⌈/IV,0FinnAPL
Complementary angle (arccos sin NS).○/¯2 1,NSFinnAPL
Compound interest for principals NA2 at rates NA3 % in times NA1.NA2∘.×(1+NA3÷100)∘.*NA1FinnAPL
Compound interest: IA prds, FA int, NA prn.A←NA∘.×(1+FA)∘.*IAAPL2
Conditional branch depending on sign of IS.→IV[2+×IS]FinnAPL
Conditional branch out of program.→0⌊⍳BSFinnAPL
Conditional branch out of program.→0×⍳BSFinnAPL
Conditional branch out of programs.⍎BS/'→'FinnAPL
Conditional branch to line IS.→IS⌈⍳BSIS>0FinnAPL
Conditional change of elements of NA to one according to BA.NA*~BAFinnAPL
Conditional drop of IV elements from array XA.(IV×BV)↓XAFinnAPL
Conditional drop of last element of XV.(-BS)↓XVFinnAPL
Conditional elementwise change of sign.NA×(1 ¯1)[1+BA]1=⎕IOFinnAPL
Conditional elementwise change of sign.NAׯ1*BA0=⎕IO ⋄ ⍴NA ←→ ⍴BAFinnAPL
Conditional execution.⍎BS/'EXPRESSION'FinnAPL
Conditional execution.⍎BS↓'⍝ …'FinnAPL
Conditional execution of monadic function.fn¨BS/⊂AAPL2
Conditional in text.((~BS)/'IN'),'CORRECT'FinnAPL
Consecutive integers from IS1 to IS2 (arithmetic progression).(IS1-⎕IO)+⍳1+IS2-IS1FinnAPL
Continued fraction.1+÷2+÷3+÷4+÷5+÷6+÷ …FinnAPL
Continuing from line IS (if NS>0) or exit.→IS××NSFinnAPL
Contour levels NV at points with altitudes NS.NV[+⌿NV∘.≤NS]FinnAPL
Conversion from characters to numeric codes.⎕AV⍳XAFinnAPL
Conversion from decimal to hexadecimal.⍉'0123456789ABCDEF'[⎕IO+((⌈⌈/16⍟,IA)⍴16)⊤IA]IA∊⍳255FinnAPL
Conversion from degrees to radians.NA×○÷180FinnAPL
Conversion from hexadecimal to decimal.16⊥-⎕IO-'0123456789ABCDEF'⍳⍉CAFinnAPL
Conversion from radians to degrees.NA×180÷○1FinnAPL
Conversion of alphanumeric string into numeric.10⊥¯1+⎕D⍳CVFinnAPL
Conversion of characters to hexadecimal representation (⎕AV).,' ',⍉'0123456789ABCDEF'[⎕IO+16 16⊤-⎕IO-⎕AV⍳CV]FinnAPL
Conversion of each row to a number (default zero).(CM∨.≠' ')\1↓⍎'0 ',,CM,' 'FinnAPL
Conversion of indices IM of array XA to indices of raveled XA.⎕IO+(⍴XA)⊥IM-⎕IOFinnAPL
Conversion of set of positive integers IV to a mask.(⍳⌈/IV)∊IVFinnAPL
Convert binary to character.C←⎕UCS 2⊥¨((⌈.125×⍳⍴B)⊂BAPL2
Convert binary to integer.IS←2⊥BAPL2
Convert character matrix to numeric vector.N←1↓⍎'0',',',CMAPL2
Convert character or numeric data into numeric.⍎⍕XVFinnAPL
Convert character to binary.B←,⍉(8⍴2)⊤⎕UCS CAPL2
Convert character to hex.H←(⎕D,⎕A)[,⍉16 16⊤⎕UCS C]0=⎕IOAPL2
Convert character to hex.H←(⎕D,⎕A)[1+,⍉16 16⊤⎕UCS C]1=⎕IOAPL2
Convert character to numeric.I←10⊥⎕D⍳CAPL2
Convert character to numeric.I←10⊥¯1+⎕D⍳CAPL2
Convert character to Unicode/ASCII positions.I←⎕UCS CAPL2
Convert character vector to vector of digits.I←⍎¨CAPL2
Convert double words to integer.I←(256⊥⍉I)-(256*4)×128≤,1↑[1]I←⎕UCS C0=⎕IOAPL2
Convert double words to integer.I←(256⊥⍉I)-(256*4)×128≤,1↑[2]I←⎕UCS C1=⎕IOAPL2
Convert from AX, AY coordinates to radians.NA←12○AX+¯11○AYAPL2
Convert from degrees to radians.NA←NA×○÷180APL2
Convert from NA pairs to radians.NA←12○0J1⊥⊖NA2=≢NAAPL2
Convert from radians to degrees.NA←NA×180÷○1APL2
Convert halfword to float.M←(256⊥1↓[0]N)×(×128-M)×16*¯63⌈¯70+128|M←1↑[0]N0=⎕IOAPL2
Convert halfword to float.M←(256⊥1↓[1]N)×(×128-M)×16*¯63⌈¯70+128|M←1↑[1]N1=⎕IOAPL2
Convert hex to binary char.C←∊4↑¨('FEC80124936DA5B7'⍳H)⌽¨⊂'1111000010011010'0=⎕IOAPL2
Convert hex to binary char.C←∊4↑¨('FEC80124936DA5B7'⍳H)⌽¨⊂'0111100001001101'1=⎕IOAPL2
Convert integer to binary.BM←⍉((1+⌊2⍟1⌈⌈/I)⍴2)⊤IAPL2
Convert integers to double words.C←⎕UCS⍉(4⍴256)⊤I+(256*4)×I<0APL2
Convert non-empty CA to NA - rank ≥1.NA←↑⍎¨⊂[¯1+⍴⍴CA]',',CA0=⎕IOAPL2
Convert non-empty CA to NA - rank ≥1.NA←↑⍎¨⊂[⍴⍴CA]',',CA1=⎕IOAPL2
Convert non-empty CM to numeric vector.NM←↑⍎¨⊂[1]',',CM0=⎕IOAPL2
Convert non-empty CM to numeric vector.NM←↑⍎¨⊂[2]',',CM1=⎕IOAPL2
Convert rows of digits to base 10.I←10⊥⍉MAPL2
Convert to numeric, throw out characters.I←1↓⍎'0 ',(C∊' ',⎕D)/CAPL2
Coordinates of A corresponding to offsets P.PM←⍉(⍴A)⊤PAPL2
Coordinates of A corresponting to offsets P.PM←1+⍉(⍴A)⊤P-1APL2
Copies. Create IS copies of C.C←(IS×⍴C)⍴CAPL2
Corner element of a (non-empty) array.1⍴XAFinnAPL
Cosine of NA in radians.FA←2○NAAPL2
Count of leading ones.B←+/∧\BAPL2
Count of the number of Ys in each row of AX.A←AX+.∊YAPL2
Counting pairwise matches (equal elements) in two vectors.XV1+.=XV2FinnAPL
Create a histogram from numeric vector.CM←↑(⌊N)⍴¨'*'APL2
Create col header CM for NS wide text.CM←1 0⍕10 10⊤⍳NSAPL2
Cumulative maxima (⌈\) of subvectors of NV indicated by BV.NV[A⍳⌈\A←⍋A[⍋(+\BV)[A←⍋NV]]]FinnAPL
Cumulative minima (⌊\) of subvectors of NV indicated by BV.NV[A⍳⌈\A←⍋A[⍋(+\BV)[A←⍒NV]]]FinnAPL
Cumulative sum.#NAME?FinnAPL
Cumulative sums (+\) over subvectors of NV indicated by BV.#NAME?FinnAPL
Cumulative sums.N←+\NAPL2
Current European date - DD/MM/YYYY.C←'56/06/0005'⍕⎕TS[⌽⍳3]APL2
Current European date and time.C←'56/06/0005 06:06:05'⍕⎕TS[(⌽⍳3),3+⍳3]APL2
Current time - HH:MM:SS.C←'06:06:05'⍕3↑3↓⎕TSAPL2
Current US date - MM/DD/YYYY.C←'56/06/0005'⍕⎕TS[1⌽⍳3]APL2
Current US date and time.C←'56/06/0005 06:06:05'⍕⎕TS[(1⌽⍳3),3+⍳3]APL2
CV without any leading blank spaces.{(∨\' '≠⍵)/⍵}CVDyalog
CV without any leading blank spaces.{(+/∧\' '=⍵)↓⍵}CVDyalog
Date IS (YYYYMM) given IS months from "0".IS←1+0 100⊥0 12⊤IS-1APL2
Decimal to hex.H←(⎕D,⎕A)[,⍉((1+⌊16⍟1⌈⌈/,N)⍴16)⊤N]0=⎕IOAPL2
Decimal to hex.H←(⎕D,⎕A)[1+,⍉((1+⌊16⍟1⌈⌈/,N)⍴16)⊤N]1=⎕IOAPL2
Decoding numeric code ABBCCC into a matrix.10 100 1000⊤IAFinnAPL
Decommenting a matrix representation of a function (⎕CR).(∨/A)⌿(⍴CM)⍴(,A)\(,A←∧\('⍝'≠CM)∨≠\CM='''')/,CMFinnAPL
Decommenting the ⎕CR of a function.((~,∧\('⍝'≠CM)∨≠\CM='''')/,CM)←' 'APL2
Decrease rank of A by 1.AV←⊂[¯1+(0≠⍴⍴A)/⍴⍴A]A0=⎕IOAPL2
Decrease rank of A by 1.AV←⊂[(0≠⍴⍴A)/⍴⍴A]A1=⎕IOAPL2
Decrease rank of A by 1. Rank 2 or higher.A←,[2↑⍳⍴⍴A]AAPL2
Definite integral of XV(X) in range NV with NS steps ('X'∊XV).A+.×⍎XV,0⍴X←NV[1]+(A←--/NV÷NS)×0,⍳NS⍴NQ ←→ 2FinnAPL
Demote floating point representations to integers.⌊IAFinnAPL
Demote non-boolean representations to booleans.0∨BAFinnAPL
Depth of parentheses.+\('('=CV)-¯1↓0,')'=CVFinnAPL
Depth of parenthesis.I←+\(C='(')-¯1↓0,C=')'APL2
Derivate of polynomial NV.¯1↓NV×⌽¯1+⍳⍴NVFinnAPL
Descending cardinal numbers (ranking, all different).⍋⍒NVFinnAPL
Diagonal matrix with elements of NV.0 ¯1↓(-⍳⍴NV)⌽((2⍴⍴NV)⍴0),NVFinnAPL
Diagonal ravel.(,XA)[⍋+⌿(⍴XA)⊤(⍳⍴,XA)-⎕IO]FinnAPL
Difference of sets. Elements of X not in Y.V←X~YAPL2
Differences of successive elements of NA along direction IS.NA-(-IS=⍳⍴⍴NA)↓0,[IS]NAFinnAPL
Digits of IS separately.((1+⌊10⍟IS)⍴10)⊤ISFinnAPL
Direct matrix product.1 3 2 4⍉NM1∘.×NM2FinnAPL
Display vector of vectors vertically.,['']VVAPL2
Distribution of NA into intervals between NV.+/((¯1↓NV)∘.≤NA)∧(1↓NV)∘.>NAFinnAPL
Divisibility table.0=(⍳⌈/IV)∘.|IVFinnAPL
Division to IS classes with width NS2, minimum NS1.+/(⍳IS)∘.=⌈(NA-NS1)÷NS2FinnAPL
Division. Avoid DOMAIN ERROR for N÷0.NA←AX÷AY+AY=0APL2
Division. Force DOMAIN ERROR for 0÷0.NA←AX×÷AYAPL2
Divisors of IS.(0=A|IS)/A←⍳ISFinnAPL
Does each row contain only items from C?B←CM∧.∊CAPL2
Does vector V have less than NS items?BO←NS>⍴VAPL2
Doubles each occurrence of X within V.V←(1+V∊X)/VAPL2
Doubles quotes in an expression.C←'''',((1+C='''')/C),''''APL2
Doubling quotes (for execution).(CV,'''')[(⎕IO+⍴CV)⌊⍋(⍳⍴CV),(''''=CV)/⍳⍴CV]FinnAPL
Drop of IS first columns from matrix XM.(0,IS)↓XMFinnAPL
Drop of IS first rows from matrix XM.(2↑IS)↓XMFinnAPL
Drop of IS first rows from matrix XM.(IS,0)↓XMFinnAPL
Duplicate items in vector V, L times.V←L/VAPL2
Duplicate vector V, LS times.M←LS⌿,[¯.5]V0=⎕IOAPL2
Duplicate vector V, LS times.M←LS⌿,[.5]V1=⎕IOAPL2
Duplicate vector V, LS times.V←(LS×⍴V)⍴VAPL2
Duplicating element of XV belonging to BV,1↑XV until next found.XV[1⌈⌈\BV×⍳⍴BV]FinnAPL
Duplicating vector XV IS times.(IS×⍴XV)⍴XVFinnAPL
Editing CV1 with CV2 '-wise.((~(⍴A↑CV1)↑'/'=CV2)/A↑CV1),(1↓A↓CV2),(A←+/∧\CV2≠',')↓CV1FinnAPL
Elements of NV divisible by Y.(0=Y|NV)/NVFinnAPL
Elements of XV not in XA (difference of sets).(~XV∊XA)/XVFinnAPL
Empty matrix.0⌿XMFinnAPL
Empty numeric vector.FinnAPL
Encoding current date.100⊥100|3↑⎕TSFinnAPL
Ending points for IS1 fields of width IS2.(IS1×IS2)⍴(-IS2)↑1FinnAPL
Ending points for XV in indices pointed by IV.1⌽(⍳⍴XV)∊IVFinnAPL
Ending points of groups of equal elements (non-empty XV).((1↓XV)≠¯1↓XV),1FinnAPL
Enlist - top down. Remove highest nesting.A←,↑AAAPL2
Entering from terminal data exceeding input (printing) width.NA←0 2 1 2 5 8 0 4 5,⎕FinnAPL
Euler's idiom (accurate when NA is a multiple of 0J0.5).*○NADyalog
Eval. asc. ord. N-coeff poly. at points NA.N←(,['']NA)⊥⌽NAPL2
Eval. dec. ord. N-coeff poly. at points NA.N←(,['']NA)⊥NAPL2
Evaluating a three row determinant.NS←-/+/¨×⌿¨(1 ¯1×⊂0 1 2)⌽¨⊂MAPL2
Evaluating a two row determinant.NS←-/×⌿0 1⌽MAPL2
Evaluating a two-row determinant.-/×/0 1⊖NMFinnAPL
Evaluating a two-row determinant.-/×⌿0 1⌽NMFinnAPL
Evaluation of several expressions; results form a vector.⍎,',','(',',',XA,')'FinnAPL
Exclusive or.BA1≠BA2FinnAPL
Execute each with prototype of CSV.V←1↓⍎¨CSV,VVAPL2
Execute statement PS in VV of statements.A←⍎PS⊃VVAPL2
Execute which works on empty vector.V←1↓⍎'0 ',VAPL2
Executing costly monadic function F on repetitive arguments.(F A/XV)[+\A←(XV⍳XV)=⍳⍴XV]FinnAPL
Execution of expression NV with default value Y.⍎((NV∧.=' ')/'Y'),NVFinnAPL
EXIT. Leave all levels of program.APL2
Expand N, but change fill item to NS.N←(NS×~B)+B\NAPL2
Expand N, but change fill item to one.N←(~B)+B\NAPL2
Expand V given length vector L.V←(,L∘.≥⍳⌈/L)\VAPL2
Expansion vector with zero after indices IV.(⍴NV)≥⍋(⍳⍴NV),IVFinnAPL
Expansion vector with zero after indices IV.~(⍳(⍴IV)+⍴XV)∊IV+⍳⍴IVFinnAPL
Extending a distance table to next leg.NM←NM⌊.+NMFinnAPL
Extending a transitive binary relation.BM←BM∨.∧BMFinnAPL
Field lengths of vector XV; IV ←→ ending indices.IV-¯1↓0,IV←(~⎕IO)+(((1↓XV)≠¯1↓XV),1)/⍳⍴XVFinnAPL
Field width ≤NS of fractional part of number.IA←+⌿NA≠⌊NA←(10*⍳NS)∘.×NA0=⎕IOAPL2
Field width ≤NS of fractional part of number.IA←+⌿NA≠⌊NA←(10*-1-⍳NS)∘.×NA1=⎕IOAPL2
Field width for integral part of number.IA←1+⌊10⍟1⌈NAAPL2
Fifo stock NV decremented with NS units.A-¯1↓0,A←0⌈(+\NV)-NSFinnAPL
Filling XV with last element of XV to length IS.IS↑XV,IS⍴¯1↑XVFinnAPL
Find description of VY from VX index to VVX.VVY←(VVX,' ')[VX⍳VY]APL2
Find functions that contain string C.CM←(1∊¨(⊂C)⍷¨⎕CR¨⊂[1]CM)⌿CM←⎕NL 30=⎕IOAPL2
Find functions that contain string C.CM←(1∊¨(⊂C)⍷¨⎕CR¨⊂[2]CM)⌿CM←⎕NL 31=⎕IOAPL2
Find the exponent of NA such that NA*FA = A.FA←NA⍟AAPL2
Finds the rows of CM containing C.CM←(∨/C⍷CM)⌿CMAPL2
Finds the rows of CM that start with C.CM←(,1↑[1]C⍷CM)⌿CM0=⎕IOAPL2
Finds the rows of CM that start with C.CM←(,1↑[2]C⍷CM)⌿CM1=⎕IOAPL2
Finds word number NS in C.C←NS⊃(C≠' ')⊆CAPL2
First column as a matrix.XM[;,1]FinnAPL
First column as a vector.XM[;1]FinnAPL
First group of ones.BA∧∧\BA=∨\BAFinnAPL
First IS figurative numbers.I←+\+\1+⍳IS0=⎕IOAPL2
First IS figurative numbers.I←+\+\⍳IS1=⎕IOAPL2
First IS triangular numbers.I←+\1+⍳IS0=⎕IOAPL2
First IS triangular numbers.I←+\⍳IS1=⎕IOAPL2
First occurrence of string XV in matrix XM.(XM∧.=XV)⍳1¯1↑⍴XM ←→ ⍴XVFinnAPL
First occurrence of string XV1 in string XV2.(∧⌿(¯1+⍳⍴XV1)⌽XV1∘.=XV2)⍳1FinnAPL
First one (<\) in each subvector of BV2 indicated by BV1.(BV2∧BV1)∨(BV2∨BV1)\A>¯1↓0,A←(BV2∨BV1)/BV2FinnAPL
First one (turn off all ones after first one).<\BAFinnAPL
First ones in groups of ones.BA>((-⍴⍴BA)↑¯1)↓0,BAFinnAPL
First ones in groups of ones.BV>¯1↓0,BVFinnAPL
First part of numeric code ABBB.⌊IA÷1000FinnAPL
First word in CV.(¯1+CV⍳' ')↑CVFinnAPL
Force 0÷0 into DOMAIN ERROR in division.NA2×÷NA1FinnAPL
Force each item to same shape by overtake.AV←(⌈/⍴¨AV)↑¨AVAPL2
Force each item to same shape by reshape.AA←(⌈/(-⌈/⍴¨⍴¨AA)↑¨⍴¨AA)⍴¨AAAPL2
Force N numbers to range 0≤N≤NS.N←0⌈NS⌊NAPL2
Force to 0 any N greater than NS.N←N×N≤NSAPL2
Force to 0 any N less than NS.N←N×NS≤NAPL2
For-loop ending construct.→IS2⌈⍳IS3≥IS1←IS1+1FinnAPL
Format and right justify columns of report.CM←1↓[0]⍕0,[0]AA0=⎕IOAPL2
Format and right justify columns of report.CM←1↓[1]⍕0,[1]AA1=⎕IOAPL2
Format and right justify NS wide columns.CM←1↓[0](NS,0)⍕0,[0]AA0=⎕IOAPL2
Format and right justify NS wide columns.CM←1↓[1](NS,0)⍕0,[1]AA1=⎕IOAPL2
Formatting a numerical vector to run down the page.⍕NV∘.+,0FinnAPL
Formatting NA with IV2 decimals in fields of width IV1.(,IV1,[1.1]IV2)⍕NAFinnAPL
Formatting with zero values replaced with blanks.(⍴A)⍴B\(B←,('0'≠A)∨' '≠¯1⌽A)/,A←' ',⍕XAFinnAPL
Forming a IS-row matrix with all rows alike (XV).(IS,⍴XV)⍴XVFinnAPL
Forming a transitive closure.→⎕LC⌈⍳∨/,(BM←BM∨BM∨.∧BM)≠+BMFinnAPL
Forming a two-column matrix.XV1,[1.1]XV2FinnAPL
Forming a two-row matrix.XV1,[.1]XV2FinnAPL
Forming an initially empty array to be expanded.0 80⍴0FinnAPL
Forming first row of a matrix to be expanded.1 80⍴80↑XVFinnAPL
Fractional part.1|NAFinnAPL
Fractional part of number with sign.FA←(×NA)|NAAPL2
Fractional part of number.FA←1|NAAPL2
Fractional part with sign.(×NA)|NAFinnAPL
Framing.'_',[1]('|',CM,'|'),[1]'¯'FinnAPL
Framing CM in a box.CM←'|',('¯',[0]CM,[0]'_'),'|'0=⎕IOAPL2
Framing CM in a box.CM←'|',('¯',[1]CM,[1]'_'),'|'1=⎕IOAPL2
Frequency of X in Y.N←+/X∘.=YAPL2
From complex to magnitude and radians.A←10 12∘.○ZA2=≢AAPL2
From magnitude AX and degrees AY to complex.ZA←AXׯ12○○AY÷180APL2
From magnitude AX and radians AY to complex.ZA←AXׯ12○AYAPL2
From nested to simple char image.CM←⍕⊂1/AAAPL2
Future value of cash flows NA at int FS.A←(1+FS)⊥NAAPL2
Future value of cash flows NV at interest rate NS %.(1+NS÷100)⊥NVFinnAPL
Gamma function.!NS-1FinnAPL
Gamma function.N←!N-1APL2
Get (N+1)th item in vector V.S←⊃N↓VAPL2
Get angle (deg) of real AX and imaginary AY.NA←(180÷○1)×12○AX+¯11○AYAPL2
Get angle (rad) of real AX and imaginary AY.NA←12○AX+¯11○AYAPL2
Get angle in degrees of A.NA←(180÷○1)×12○0J1⊥⊖AAPL2
Get angle in radians of A.NA←12○0J1⊥⊖A2=≢A (x,y) pairsAPL2
Get magnitude of A.NA←|0J1⊥⊖A2=≢A (x,y) pairsAPL2
Get magnitude of AX, AY coordinates.NA←|AX+¯11○AYAPL2
Get magnitude of NA pairs.NA←|0J1⊥⊖NA2=≢NAAPL2
Get magnitude of real AX and imaginary AY.NA←|AX+¯11○AY2=≢A (x,y) pairsAPL2
Ghost Buster. Inc rank by one on last dim.A←,['']AAPL2
Giving a character default value for input.1↑⍞,CSFinnAPL
Giving a numeric default value for input.1⍴(⍎⍞,',⍬'),NSFinnAPL
Grade down (⍒) for sorting subvectors of NV having lengths IV.A[⍋(+\(⍳⍴NV)∊+\⎕IO,IV)[A←⍒NV]]⍴NQ ←→ +/IVFinnAPL
Grade down (⍒) for sorting subvectors of NV indicated by BV.A[⍋(+\BV)[A←⍒NV]]FinnAPL
Grade up (⍋) for sorting subvectors of NV having lengths IV.A[⍋(+\(⍳⍴NV)∊+\⎕IO,IV)[A←⍋NV]]⍴NQ ←→ +/IVFinnAPL
Grade up (⍋) for sorting subvectors of NV indicated by BV.A[⍋(+\BV)[A←⍋NV]]FinnAPL
Grade up according to key XV1.⍋XV1⍳XV2FinnAPL
Graph of XV(NV) at points NV ('NV'∊XV).' *'[⎕IO+(⌽(¯1+⌊/A)+⍳1+(⌈/A)-⌊/A)∘.=A←⌊.5+⍎XV]FinnAPL
Gray code or reflected binary. Inverse of ≠\.B←2≠/0,BAPL2
Greatest common divisor of elements of IV.⌈/(∧/0=A∘.|IV)/A←⍳⌊/IVFinnAPL
Greatest common divisor of vector I.IS←⌈/(∧/0=V∘.|I)/V←1+⍳⌊/I0=⎕IOAPL2
Greatest common divisor of vector I.IS←⌈/(∧/0=V∘.|I)/V←⍳⌊/I1=⎕IOAPL2
Groups of ones in BA2 pointed to by BA1 (or trailing parts).BA2∧A=⌈\BA1×A←+\BA2>¯1↓0,BA2FinnAPL
Groups of ones in BV2 pointed to by BV1.BV2∧A∊(BV1∧BV2)/A←+\BV2>¯1↓0,BV2FinnAPL
Handling array XA temporarily as a vector.(⍴XA)⍴ … ,XAFinnAPL
Helps locating column positions 1…IS.1 0⍕10 10⊤1-⎕IO-⍳ISFinnAPL
Hex to Dec.I←16⊥¨(⌈.5×(2|⍴H)+1+⍳⍴H)⊆(⎕D,⎕A)⍳H0=⎕IOAPL2
Hex to Dec.I←16⊥¨(⌈.5×(2|⍴H)+⍳⍴H)⊆16|(⎕D,⎕A)⍳H1=⎕IOAPL2
Hex/Char.C←⎕UCS 16⊥¨(⌈.5×(2|⍴H)+1+⍳⍴H)⊆(⎕D,⎕A)⍳H0=⎕IOAPL2
Hex/Char.C←⎕UCS 16⊥¨(⌈.5×(2|⍴H)+⍳⍴H)⊆16|(⎕D,⎕A)⍳H1=⎕IOAPL2
Hilbert matrix of order IS.÷¯1+(⍳IS)∘.+⍳ISFinnAPL
Hilbert matrix of order IS.M←÷1+(⍳IS)∘.+⍳IS0=⎕IOAPL2
Hilbert matrix of order IS.M←÷¯1+(⍳IS)∘.+⍳IS1=⎕IOAPL2
Histogram (distribution barchart; down the page).' ⎕'[⎕IO+(⌽⍳⌈/A)∘.≤A←+/(⍳1+(⌈/IV)-⌊/IV)∘.=IV]FinnAPL
Hyperbolic Arccosine of NA in radians.FA←¯6○NAAPL2
Hyperbolic Arcsine of NA in radians.FA←¯5○NAAPL2
Hyperbolic Arctangent of NA in radians.FA←¯7○NAAPL2
Hyperbolic Cosine of NA in radians.FA←6○NAAPL2
Hyperbolic Sine of NA in radians.FA←5○NAAPL2
Hyperbolic Tangent of NA in radians.FA←7○NAAPL2
I random boolean numbers.BA←?I⍴20=⎕IOAPL2
I random boolean numbers.BA←¯1+?I⍴21=⎕IOAPL2
Identity matrix of shape of matrix NM.(⍴NM)⍴1,0×NMFinnAPL
Identity matrix: IS by IS.M←IS IS⍴1,IS⍴0APL2
Identity matrix: IS by IS.M←⊃⌹/0⍴⊂IS⍴0APL2
Identity matrix: IS by IS.M←(⍳IS)∘.=⍳ISAPL2
Identity of two sets.∧/(XV1∊XV2),XV2∊XV1FinnAPL
IF NOT. Branch if condition B false.→IS×1~BAPL2
If Then/Else.A←⍎⊃BS↓'else part' 'then part'APL2
IF. Branch on condition B.→IS+0~BAPL2
Increase rank by one after dim IS.A←,[IS+.5]AAPL2
Increase rank by one on the first dim.A←,[¯.5]A0=⎕IOAPL2
Increase rank by one on the first dim.A←,[.5]A1=⎕IOAPL2
Increase rank of AX to rank of AY.A←((-⍴⍴AY)↑((⍴⍴AY)⍴1),⍴AX)⍴AXAPL2
Increasing absolute value without change of sign.(×NA1)×NA2+|NA1FinnAPL
Increasing rank of XA2 to rank of XA1.((((⍴⍴XA1)-⍴⍴XA2)⍴1),⍴XA2)⍴XA2FinnAPL
Increasing the dimension of XV to multiple of IS.XV,(IS|-⍴XV)↑0/XVFinnAPL
Incrementing cyclic counter NA with upper limit NS.1+NS⊤NAFinnAPL
Index Generator with step IS. From X to Y.N←X+IS×⍳0⌈(IS≠0)+⌊(Y-X)÷IS0=⎕IOAPL2
Index Generator with step IS. From X to Y.N←X+ISׯ1+⍳0⌈(IS≠0)+⌊|(Y-X)÷IS1=⎕IOAPL2
Index Generator. Range from X to Y.N←X+(×N)×⍳1+⌊|N←Y-X0=⎕IOAPL2
Index Generator. Range from X to Y.N←X+0,(×N)×⍳⌊|N←Y-X1=⎕IOAPL2
Index of (first) maximum element of NV.NV⍳⌈/NVFinnAPL
Index of (first) minimum element of NV.1↑⍋NVFinnAPL
Index of (first) minimum element of NV.NV⍳⌊/NVFinnAPL
Index of first differing element in vectors XV1 and XV2.(XV2≠XV1)⍳1FinnAPL
Index of first maximum element of NV.1↑⍒NVFinnAPL
Index of first non-blank, counted from the rear.(' '=CV)⊥1FinnAPL
Index of first occurrence of elements of CV2.⌊/CV1⍳CV2FinnAPL
Index of first occurrence of XA in XV (circularly) after IS.⎕IO+(⍴XV)|IS+(IS⌽XV)⍳XAFinnAPL
Index of first occurrences of rows of XA as rows of XM.⎕IO++⌿∧⍀XM∨.≠⍉XAFinnAPL
Index of first one after index IS in BV.IS+(IS↓BV)⍳1FinnAPL
Index of first satisfied condition in BV.BV⍳1FinnAPL
Index of key XA in key vector XV.XV⍳XAFinnAPL
Index of last maximum element of NV.¯1↑⍋NVFinnAPL
Index of last occurrence of XA in XV (⎕IO-1 if not found).((¯1 1)[2×⎕IO]+⍴XV)-(⌽XV)⍳XAFinnAPL
Index of last occurrence of XA in XV (0 if not found).(1+⍴XV)-(⌽XV)⍳XAFinnAPL
Index of last occurrence of XA in XV, counted from the rear.(⌽XV)⍳XAFinnAPL
Index of the elements of NV1 in NV2.(((1,A)/B)⌊1+⍴NV2)[(⍴NV2)↓(+\1,A←(1↓A)≠¯1↓A←A[B])[⍋B←⍋A←NV2,NV1]]FinnAPL
Index of the largest item.IS←⊃⍒NAPL2
Index of the largest item.IO←N⍳⌈/NAPL2
Index of the smallest item.IS←⊃⍋NAPL2
Index of the smallest item.IO←N⍳⌊/NAPL2
Index origin (⎕IO) as a vector.⍳1FinnAPL
Index pairs of saddle points.⎕IO+(⍴NM)⊤-⎕IO-(,(NM=(⍴NM)⍴⌈⌿NM)∧NM=⍉(⌽⍴NM)⍴⌊/NM)/⍳×/⍴NMFinnAPL
Indexing independent of index origin.XV[⎕IO+IA]FinnAPL
Indexing scattered elements.(,XA)[⎕IO+(⍴XA)⊥IM-⎕IO]FinnAPL
Indexing when rank is not known beforehand.⍎'XA[',((¯1+⍴⍴XA)⍴';'),'IA]'FinnAPL
Indexing with boolean value BA (plotting a curve).' *'[⎕IO+BA]FinnAPL
Indicating equal elements of XV as a logical matrix.⍉XV∘.=(1 1⍉<\XV∘.=XV)/XVFinnAPL
Indicator of first occurrence of each unique element of XV.(XV⍳XV)=⍳⍴XVFinnAPL
Indices of all occurrences of elements of XA in XV.(XV∊XA)/⍳⍴XVFinnAPL
Indices of all occurrences of XS in XV.(XS=XV)/⍳⍴XVFinnAPL
Indices of elements of XM2 in corr. rows of XM1 (XM1[i;]⍳XM2[i;]).1++/∧\1 2 1 3⍉XM2∘.≠XM1FinnAPL
Indices of elements XA2 in array XA1.⎕IO+(⍴XA1)⊤(-⎕IO)+(,XA1∊XA2)/⍳⍴,XA1FinnAPL
Indices of first blanks in rows of array CA.⎕IO++/∧\' '≠CAFinnAPL
Indices of last non-blanks in rows.(' '≠CA)⌈.×⍳¯1↑⍴CAFinnAPL
Indices of ones in logical vector BV.(+/BV)↑⍒BVFinnAPL
Indices of ones in logical vector BV.(+\BV)⍳⍳+/BVFinnAPL
Indices of ones in logical vector BV.BV/⍳⍴BVFinnAPL
Indices of subvectors of length IS starting at IV+1.IV∘.+⍳ISFinnAPL
Initialize a matrix with no rows.M←0 IS⍴''APL2
Initialize variables to the empty vector.N←B←I←F←Z←⍬APL2
Input continuation.V←1 2 3 4 5 6 7 8 9 0,⎕APL2
Input of row IS of text matrix CM.CM[IS;]←(≢CM)↑⍞FinnAPL
Insert NS items S after each item of V.V←∊V,¨⊂NS⍴SAPL2
Insert NS items S before each item of V.V←∊(⊂NS⍴S),¨VAPL2
Insert the first item of C where C is in CM.CM←↑∊¨⊂[1]CM⊣((,CM∊C)/,CM)←↑C0=⎕IOAPL2
Insert the first item of C where C is in CM.CM←↑∊¨⊂[2]CM⊣((,CM∊C)/,CM)←↑C1=⎕IOAPL2
Insert vector for IV[i] elements before i:th element.(⍳+/A)∊+\A←1+IVFinnAPL
Insert vector for IV[i] zeroes after i:th subvector.(⍳(⍴BV)++/IV)∊+\1+¯1↓0,(1⌽BV)\IVFinnAPL
Insert X after positions P in V.V←(V,X)[⍋(⍳⍴V),P](⍴P)=⍴XAPL2
Inserting IS *'s into vector CV after indices IV.(CV,'*')[(⎕IO+⍴CV)⌊⍋(⍳⍴CV),(IS×⍴IV)⍴IV]FinnAPL
Inserting vector XV into matrix XM after row IS.XM[⍳IS;],[1]((1↓⍴XM)↑XV),[1](2↑IS)↓XMFinnAPL
Inserting vector XV to the end of matrix XM.(A↑XM),[⍳1](1↓A←(⍴XM)⌈0,⍴XV)↑XVFinnAPL
Inserting XS after each element of XV.,XV,[1.1]XSFinnAPL
Inserting XV1 into XV2 after index IS.(IS↑XV2),XV1,IS↓XV2FinnAPL
Integer and fractional parts of positive numbers.0 1⊤NAFinnAPL
Integer representation of logical vectors.2⊥BAFinnAPL
INTEGER. Truncate to whole number.IA←(×NA)×⌊|NAAPL2
Integral+fractional part of positive number.FA←0 1⊤NAAPL2
Interpolated value of series (NV1,NV2) at NS.NS⊥NV2⌹NV1∘.*⌽-⎕IO-⍳⍴NV1FinnAPL
Interpretation of roman numbers.+/Aׯ1*A<1⌽A←0,(1000 500 100 50 10 5 1)['MDCLXVI'⍳XA]FinnAPL
Intersection of sets, ⍞.(XV∊XA)/XVFinnAPL
Intersection of two sets of numbers.V←(X∊Y)/XAPL2
Intersection of two sets of numbers.V←Y~Y~XAPL2
Inverse of +\. Difference of adjacent pairs.N←¯2-/0,NAPL2
Inverting a permutation.⍋IVFinnAPL
Inverting a permutation.IV⍳⍳⍴IVFinnAPL
Inverting a permutation.A←⍳⍴IV ⋄ A[IV]←A ⋄ AFinnAPL
Inverting a permutation.I←⍋NAPL2
Is CX lexically greater than CY?BS←>/⍋⎕UCS↑CX CYAPL2
Is CX lexically greater than or equal to CY?BS←</⍒⎕UCS↑CX CYAPL2
Is CX lexically less than CY?BS←>/⍒⎕UCS↑CX CYAPL2
Is CX lexically less than or equal to CY?BS←</⍋⎕UCS↑CX CYAPL2
IS degree polynomial fit given X,Y values.C←Y⌹X∘.*⍳IS+10=⎕IOAPL2
IS degree polynomial fit given X,Y values.C←Y⌹X∘.*(⍳IS+1)-11=⎕IOAPL2
IS first figurate numbers.#NAME?FinnAPL
IS first triangular numbers.#NAME?FinnAPL
Is IS (YYYY) a leap year?B←0≠.=400 100 4∘.|ISAPL2
IS largest elements of NV in order of occurrence.((⍋⍒NV)∊⍳IS)/NVFinnAPL
IS months from "0" given IS (YYYYMM) date.IS←0 12⊥0 100⊤ISAPL2
Is N an integer in range [XY) XY ←→ lo,hi.B←</(N<⌈N),N∘.<XYAPL2
Is N in range (XY) XY ←→ lo,hi.B←((⊃XY)<N)∧N<⊃⌽XYAPL2
Is N in range (XY] XY ←→ lo,hi.B←>/N∘.>XYAPL2
Is N in range [XY) XY ←→ lo,hi.B←</N∘.<XYAPL2
Is N in range [XY] XY ←→ lo,hi.B←((⊃XY)≤N)∧N≤⊃⌽XYAPL2
IS place-base NS rep. of a fraction.NA←(¯1⌽⍳1+⍴⍴FA)⍉⌊(IS⍴NS)⊤(NS*IS)×1|FAAPL2
IS smallest elements of NV in order of occurrence.((⍋⍋NV)∊⍳IS)/NVFinnAPL
IS:th subvector of XV (subvectors indicated by BV).(IS=+\BV)/XVFinnAPL
IS:th subvector of XV (subvectors separated by XV[1]).1↓(IS=+\XV=1↑XV)/XVFinnAPL
IS×IS identity matrix.(⍳IS)∘.=⍳ISFinnAPL
IS×IS identity matrix.(IS,IS)⍴1,IS⍴0FinnAPL
IS×IS lower triangular matrix.(⍳IS)∘.≥⍳ISFinnAPL
IS×IS upper triangular matrix.(⍳IS)∘.≤⍳ISFinnAPL
ISBN check digit generator from C.IS←|¯11|+/+\10↑⍎¨CC∧.∊⎕DAPL2
IS-degree polynomial (curve) fit of points (NV1,NV2).⌽NV2⌹NV1∘.*0,⍳ISFinnAPL
Isometric scaling by 2.1.ZA←ZA×2.1APL2
ISth subvector of V given boolean B.V←IS⊃(+\B)⊆VAPL2
ISth subvector of V given length L.V←IS⊃(L/⍳⍴L)⊆VAPL2
Item equals. Find item V in array A.BA←A≡¨⊂VAPL2
Ith starting indicators BV1.(+\BV1)∊BV2/⍳⍴BV2FinnAPL
IV is the ranking of NA in same order.IV←⍋⍋NAAPL2
IV is the ranking of NA in same order.(fast).IV[I]←IV←⍳⍴I←⍋NAAPL2
IV2-shaped array of random numbers within ( IV1[1],IV1[2] ].IV1[1]+?IV2⍴--/IV1FinnAPL
Join XA real and YA imaginary to complex.ZA←AX+¯11○AYAPL2
Joining a set of variables into one variable.VV←N B I F ZAPL2
Joining array of arrays - horizontally.A←↑,/AAAPL2
Joining array of arrays - vertically.M←↑,[0]/AA0=⎕IOAPL2
Joining array of arrays - vertically.A←↑,[1]/AA1=⎕IOAPL2
Joining conforming matrices - horizontally.M←⊃,/MW MX MYAPL2
Joining corresponding items in vectrices.AV←⊃,¨/VAAPL2
Joining current date.IS←0 100 100⊥3↑⎕TSAPL2
Joining matrices - vertically.M←↑⊃,/⊂[1]¨MW MX MY0=⎕IOAPL2
Joining matrices - vertically.M←↑⊃,/⊂[2]¨MW MX MY1=⎕IOAPL2
Joining pairs of ones.BA∨≠\BAFinnAPL
Joining sentences.XV,0⍴XAFinnAPL
Julian date (YYYYDDD).IS←(1000×Y)+D+(M⊃0 0,+\30+1 ¯2,∊5 4⍴¨⊂1 0)+(M>2)∧0=4|Y1=⎕IOAPL2
Julian date (YYYYDDD).IS←(1000×Y)+D+(M⊃0,+\30+1 ¯2,∊5 4⍴¨⊂1 0)+(M>2)∧0=4|Y0=⎕IOAPL2
Julian day (DDD) given Y M D.IS←D+(M⊃0 0,+\30+1 ¯2,∊5 4⍴¨⊂1 0)+(M>2)∧0=4|Y1=⎕IOAPL2
Julian day (DDD) given Y M D.IS←D+(M⊃0,+\30+1 ¯2,∊5 4⍴¨⊂1 0)+(M>2)∧0=4|Y0=⎕IOAPL2
Justifying left.(+/∧\' '=CA)⌽CAFinnAPL
Justifying left fields of XV (lengths IV) to length IS.(,IV∘.>(⍳IS)-⎕IO)\XVFinnAPL
Justifying right.(1-(' '=CA)⊥1)⌽CAFinnAPL
Justifying right.(-+/∧\⌽' '=CA)⌽CAFinnAPL
Justifying right fields of XV (lengths IV) to length IS.(,IV∘.>⌽(⍳IS)-⎕IO)\XVFinnAPL
Justifying text CV to right edge of field of width IS.(-IS)↑CVFinnAPL
Juxtapositioning planes of rank 3 array XQ.(×⌿2 2⍴1,⍴XQ)⍴2 1 3⍉XQFinnAPL
Keep even words in a phrase.C←(≠\C=' ')/CAPL2
Keep everything from ⊃C to ⊃1↓C in V.V←(V⍳⊃1↓C)↑V←(1+V⍳⊃C)↓V0=⎕IOAPL2
Keep everything from ⊃C to ⊃1↓C in V.V←(¯1+V⍳⊃1↓C)↑V←(V⍳⊃C)↓V1=⎕IOAPL2
Keep everything in range [0,NS).N←(>/N∘.>0 NS)/NAPL2
Keep everything up to the 1st return.C←(∧\C≠⎕UCS 10)/CAPL2
Keep odd words in a phrase.C←(≠\¯1↓1,C=' ')/CAPL2
Keep PFK within range 1-12.PFK←12+¯12|PFKAPL2
Koch island new generation.Z←¯3↓,Z-[0]((2-/Z÷3),0)∘.×0 1,(1+1D60),20=⎕IOAPL2
Koch island new generation.Z←¯3↓,Z-[1]((2-/Z÷3),0)∘.×0 1,(1+1D60),21=⎕IOAPL2
Kronecker delta of IA1 and IA2 (element of identity matrix).IA2=IA1FinnAPL
L sequences of IS ones and zeros.B←IS/L⍴1 0APL2
Largest possible number.FS←⌊/⍬APL2
Last element of numeric vector NV as a scalar.0⊥NVFinnAPL
Last ones in groups of ones.BV>1↓BV,0FinnAPL
Last part of numeric code ABBB.1000|IAFinnAPL
Last row of matrix XA as a vector.0⊥XAFinnAPL
Leading ones (∧\) in each subvector of BV2 indicated by BV1.~≠\(BV2≤BV1)\A≠¯1↓0,A←~(BV2≤BV1)/BV2FinnAPL
Leading ones (turn off all ones after first zero).∧\BAFinnAPL
Leading zeroes for IV in fields of width IS.0 1↓(2↑IS+1)⍕IV∘.+,10*ISIV≥0FinnAPL
Least squares linear fit given X,Y values.V←N+.×Y⌹N←X∘.*0 1APL2
Left justify C in field width NS.C←(-NS)↑CAPL2
Left justify matrix CM.CM←(+/∧\CM=' ')⌽CMAPL2
Leftmost neighboring elements.((-⍴⍴NA)↑¯1)↓0,NAFinnAPL
Leftmost neighboring elements cyclically.¯1⌽XAFinnAPL
Length of polygon.S←+/|2-/ZAPL2
Length vector given boolean vector B.L←(1↓P,1+⍴B)-P←B/⍳⍴BAPL2
Length vector given first position indices.L←¯2-/P,1+⍴BAPL2
Length vector given last position indices.L←¯2-/0,PAPL2
Length vector given unique items in V.L←+/U∘.≡VAPL2
Lengthening matrix XM1 to be compatible with XM2.((1 0×⍴XM2)⌈⍴XM1)↑XM1FinnAPL
Lengths of groups of ones in BV.(A>0)/A←(1↓A)-1+¯1↓A←(~A)/⍳⍴A←0,BV,0FinnAPL
Lengths of subvectors of XV having equal elements.(1↓A)-¯1↓A←(A,1)/⍳1+⍴A←1,(1↓XV)≠¯1↓XVFinnAPL
Life: next generation given O<=>140 3x3 wins.M←¯1⌽¯1⊖⊃∨/O⍷¨⊂MAPL2
Limiting indices and giving a default value XS.(XV,XS)[(1+⍴XV)⌊IA]FinnAPL
Limiting NA between NV[1] and NV[2], inclusive.NV[1]⌈NV[2]⌊NAFinnAPL
Limits NA to fit in ⍕ field IV[1 2].(NA⌈1↓A)⌊1↑A←(2 2⍴¯1 1 1 ¯.1)+.×10*(-1↓IV),-/IV+IV>99 0FinnAPL
List of functions and operators without ' '.VV←(⊂[1]⎕NL 3 4)~¨' '0=⎕IOAPL2
List of functions and operators without ' '.VV←(⊂[2]⎕NL 3 4)~¨' '1=⎕IOAPL2
List of names in CM (one per row).1↓,',',CMFinnAPL
Locating field number IS starting with first element of CV.(IS=+\CV=1↑CV)/CVFinnAPL
Locations of texts between and including quotes.A∨¯1↓0,A←≠\CV=''''FinnAPL
Locations of texts between and including quotes.A∨¯1↓0,A←2|+\CV=''''FinnAPL
Locations of texts between quotes.A∧¯1↓0,A←≠\CV=''''FinnAPL
Locations of texts between quotes.A∧¯1↓0,A←2|+\CV=''''FinnAPL
Lower triangular matrix: IS by IS.M←(⍳IS)∘.>⍳ISAPL2
Magnitude of fractional part.1||NAFinnAPL
Magnitude of fractional part of number.FA←1||NAAPL2
Magnitude. Absolute Value of NA.NA←|NAAPL2
Major diagonal of array XA.(1*⍴XA)⍉XAFinnAPL
Major diagonal of matrix XM.1 1⍉XMFinnAPL
Mask Operator. Merge X and Y using B.V[⍋~B]←V←(B/X),(~B)/YAPL2
Matricize - for any rank.M←,[¯1↓⍳⍴⍴A]1/AAPL2
Matricize - for any rank.M←((×/¯1↓⍴A),¯1↑1,⍴A)⍴AAPL2
Matricize - rank 0, 1, or 2.M←(¯2↑1 1,⍴A)⍴AAPL2
Matrix for choosing all subsets of XV (truth table).((⍴XV)⍴2)⊤¯1+⍳2*⍴XVFinnAPL
Matrix of all indices of XA.⎕IO+(⍴XA)⊤(⍳×/⍴XA)-⎕IOFinnAPL
Matrix of vectors to vector of matrices.VM←↑¨⊂[1]MV0=⎕IOAPL2
Matrix of vectors to vector of matrices.VM←↑¨⊂[2]MV1=⎕IOAPL2
Matrix product.NA1+.×NA2¯1↑⍴NA1 ←→ 1↑⍴NA2FinnAPL
Matrix product.M←MX+.×MYAPL2
Matrix to vector at character CS.V←¯1↓(,⌽1,∨\CS≠⌽CM)/,CM,CSAPL2
Matrix to vector of column vectors.VV←,⌿MAPL2
Matrix to vector of row vectors.VV←⊂[1]M0=⎕IOAPL2
Matrix to vector of row vectors.VV←⊂[2]M1=⎕IOAPL2
Matrix with IS columns NV.⍉(IS,⍴NV)⍴NVFinnAPL
Matrix with IV[i] leading ones on row i.IV∘.≥⍳⌈/IVFinnAPL
Matrix with IV[i] leading zeroes on row i.IV∘.<⍳⌈/IVFinnAPL
Matrix with IV[i] trailing ones on row i.IV∘.≥⌽⍳⌈/IVFinnAPL
Matrix with IV[i] trailing zeroes on row i.IV∘.<⌽⍳⌈/IVFinnAPL
Matrix with shape of XM and XV as its columns.⍉(⌽⍴XM)⍴XVFinnAPL
Maxima (⌈/) of elements of subvectors of NV indicated by BV.NV[A[BV/⍋(+\BV)[A←⍒NV]]]FinnAPL
Maxima of elements of subsets of XV specified by BA.A+(XV-A←⌊/XV)⌈.×BAFinnAPL
Maximum of elements of NV.⌈/NVFinnAPL
Maximum of magnitude of NM preserving sign.N←N××.5-(⌈/NM)≠N←⌈/|NMAPL2
Maximum of magnitude of NM.N←⌈/|NMAPL2
Maximum of negative value of NM.N←⌊/NM,0APL2
Maximum of NV1 with weights NV2.NV2⌈.×NV1FinnAPL
Maximum of positive value of NM.N←⌈/NM,0APL2
Maximum table.(⍳IS)∘.⌈⍳ISFinnAPL
Maximum value of NM.N←⌈/NMAPL2
Meaning of life.⍎⊖⍕⊃⊂|⌊-*+○⌈×÷!⌽⍉⌹~⍴⍋⍒,⍟?⍳0FinnAPL
Median.NV[(⍋NV)[⌈.5×⍴NV]]FinnAPL
Median of non-empty N.MED←.5×+/N[(⍋N)[⌈.5ׯ1 0+⍴N←,N]]0=⎕IOAPL2
Median of non-empty N.MED←.5×+/N[(⍋N)[⌈.5×0 1+⍴N←,N]]1=⎕IOAPL2
Merge X and Y alternately.V←∊X,¨YAPL2
Merging vectors XV1 and XV2 alternately.,XV2,[⎕IO+.5]XV1FinnAPL
Merging XV1 and XV2 under control of BV (mesh).(XV1,XV2)[⍋⍋BV]FinnAPL
Merging XV1 and XV2 under control of BV (mesh).(XV2,XV1)[⍋⍒BV]FinnAPL
Merging XV1 and XV2 under control of BV (mesh).A[⍋BV]←A←XV2,XV1 ⋄ AFinnAPL
Merging XV1 and XV2 under control of BV (mesh).A←BV\XV1 ⋄ A[(~BV)/⍳⍴BV]←XV2 ⋄ AFinnAPL
Merging XV1, XV2, XV3, … under control of IV (mesh).(XV1,XV2,XV3,…)[⍋⍋IV]FinnAPL
Mesh V according to mask pattern IV.V←V[⍋⍋IV]APL2
Mesh X and Y in V using boolean pattern B.V[⍋B]←V←X,YAPL2
Mid product of AX and AY.A←AX,.×AYAPL2
Minima (⌊/) of elements of subvectors of NV indicated by BV.NV[A[BV/⍋(+\BV)[A←⍋NV]]]FinnAPL
Minimum of elements of NV.⌊/NVFinnAPL
Minimum of magnitude of NM preserving sign.N←N××.5-(⌊/NM)≠N←⌊/|NMAPL2
Minimum of magnitude of NM.N←⌊/|NMAPL2
Minimum of NV1 with weights NV2.NV2⌊.×NV1FinnAPL
Minimum value of NM.N←⌊/NMAPL2
Mirror in X if B.ZA←(¯10+~BA)○ZAAPL2
Mirror in X.ZA←+ZAAPL2
Mirror in Y.ZA←-+ZAAPL2
Mode(s) of data.MODE←(I=⌈/I←+⌿N∘.=NU)/NU←(∨⌿<\N∘.=N)/NAPL2
MODULO of NAX and NAY.NA←NAY|NAXAPL2
Move blanks to end of each row of M.(,M)←(,M)[⍋,(2×⍳≢M)+[0]' '=M]0=⎕IOAPL2
Move blanks to end of each row of M.(,M)←(,M)[⍋,(2×⍳≢M)+[1]' '=M]1=⎕IOAPL2
Move figure by x=6, y=9.ZA←ZA+6J9APL2
Move items X to end of Y.V←Y[⍋Y∊X]APL2
Move set of points NM into first quadrant.1 2 1⍉NM∘.-⌊/NMFinnAPL
Moving all blanks to end of each row.(⍴CA)⍴(,(+/A)∘.>-⎕IO-⍳¯1↑⍴CA)\(,A←CA≠' ')/,CAFinnAPL
Moving all blanks to end of text.CV[⍒' '≠CV]FinnAPL
Moving elements satisfying condition BV to the start of XV.XV[⍒BV]FinnAPL
Moving index of width IS for vector XV.(0,⍳(⍴XV)-IS)∘.+ISFinnAPL
Multiplication table.(⍳IS)∘.×⍳ISFinnAPL
Multiplication table: IS by IS.M←(1+⍳IS)∘.×1+⍳IS0=⎕IOAPL2
Multiplication table: IS by IS.M←(⍳IS)∘.×⍳IS1=⎕IOAPL2
Multiply each row of NM by vector N.NM←NM×[0]N0=⎕IOAPL2
Multiply each row of NM by vector N.NM←NM×[1]N1=⎕IOAPL2
N column matrix from N vectors.M←↑[0]V W X Y0=⎕IOAPL2
N column matrix from N vectors.M←↑[1]V W X Y1=⎕IOAPL2
N column matrix from N vectors.M←⍉↑V W X YAPL2
N row matrix from N vectors.M←↑V W X YAPL2
Negative infinity; the smallest representable value.⌈/⍬FinnAPL
Nested to simple char image w/o extra blanks.CM←I↓(-I←(-2-2>⍴⍴AA)↑|≡AA)↓⍕⊂1/AAAPL2
None, neither.~∨/BAFinnAPL
Not first zero (≤\) in each subvector of BV2 indicated by BV1.~(B∧BV1)∨(B∨BV1)\A>¯1↓0,A←(B∨BV1)/B←~BV2FinnAPL
Not first zero (turn on all zeroes after first zero).≤\BAFinnAPL
Not leading zeroes (turn on all zeroes after first one).∨\BAFinnAPL
Not leading zeroes(∨\) in each subvector of BV2 indicated by BV1.≠\(BV2∨BV1)\A≠¯1↓0,A←(BV2∨BV1)/BV2FinnAPL
NS differences of differences of adjacents.N←⊃-//NS 1/¯2 NAPL2
NS months after date IS (YYYYMM).I←1+0 100⊥0 12⊤(0 12⊥0 100⊤IS)+⍳NS0=⎕IOAPL2
NS months after date IS (YYYYMM).I←1+0 100⊥0 12⊤(0 12⊥0 100⊤IS)-1-⍳NS1=⎕IOAPL2
NS months before date IS (YYYYMM).I←1+0 100⊥0 12⊤(0 12⊥0 100⊤IS)-2+⌽⍳NS0=⎕IOAPL2
NS months before date IS (YYYYMM).I←1+0 100⊥0 12⊤(0 12⊥0 100⊤IS)-1+⌽⍳NS1=⎕IOAPL2
NS spokes of unit wheel.VZ←0,¨*○0J2×(1+⍳NS)÷NSAPL2
NS spokes of unit wheel.VZ←0,¨*○0J2×(⍳NS)÷NSAPL2
NS-point spline.(M=Bezier matrix, Z ctrl pts).Z←(,[⍬](1+⍳NS)÷NS)⊥M+.×Z0=⎕IOAPL2
NS-point spline.(M=Bezier matrix, Z ctrl pts).Z←(,[⍬](⍳NS)÷NS)⊥M+.×Z1=⎕IOAPL2
Number and its negative ('plus minus').1 ¯1×NSFinnAPL
Number of ?s intersecting ?s (NV1=starts, NV2=stops).+/A∧⍉A←NV1∘.≤NV2FinnAPL
Number of areas intersecting areas in X.+/A∧⍉A←∧/X[;A⍴1;]≤2 1 3⍉X[;(A←≢X)⍴2;]⍴NQ ←→ (n × 2 × dim)FinnAPL
Number of columns in A as vector.IO←⊃⌽⍴AAPL2
Number of columns in A.IS←⊃⌽⍴AAPL2
Number of columns in array XA.(⍴XA)[⍴⍴XA]FinnAPL
Number of columns in array XA as a scalar.0⊥⍴XAFinnAPL
Number of columns in matrix XM.¯1↑⍴XMFinnAPL
Number of columns in matrix XM.1↓⍴XMFinnAPL
Number of columns in matrix XM.(⍴XM)[2]FinnAPL
Number of combinations of NA1 objects taken NA2 at a time.NA2!NA1FinnAPL
Number of days in month IS of years IA (for all leap years).(12⍴7⍴31 30)[IS]-0⌈¯1+2⊥(IS=2),[.1](0≠400|IA)-(0≠100|IA)-0≠4|IAFinnAPL
Number of days in month IS of years IA (for most leap years).(12⍴7⍴31 30)[IS]-0⌈¯1+2⊥(IS=2),[.1]0≠4|IAFinnAPL
Number of decimals (up to IS) of elements of NA.0+.≠(⌈(10*IS)×10*⎕IO-⍳IS+1)∘.|⌈NA×10*ISFinnAPL
Number of decimals of elements of NV.⌊10⍟(⍎('.'≠A)/A←⍕NV)÷NVFinnAPL
Number of digit positions in integers in IA.1+⌊10⍟(IA=0)+IA×(1 ¯10)[1+IA<0]FinnAPL
Number of digit positions in scalar NS (depends on ⎕PP).⍴⍕NSFinnAPL
Number of digitpositions in integers in IA.1+(IA<0)+⌊10⍟|IA+0=IAFinnAPL
Number of digits in positive integers in IA.1+⌊10⍟IA+0=IAFinnAPL
Number of elements (also of a scalar).×/⍴XAFinnAPL
Number of elements (also of a scalar).⍴,XAFinnAPL
Number of elements in A as vector.IO←⍴,AAPL2
Number of elements in a plane of 3D A.IS←×/1↓⍴AAPL2
Number of elements in A.IS←×/⍴AAPL2
Number of elements satisfying condition BV.+/BVFinnAPL
Number of leading blanks.NA←+/∧\CA=' 'APL2
Number of occurrences of scalar XS in array XA.XS+.=,XAFinnAPL
Number of occurrences of scalar XS in array XA.+/XS=,XAFinnAPL
Number of permutations of (N,K) combinations.NS←(!K)×K!NAPL2
Number of permutations of NA1 objects taken NA2 at a time.(!NA2)×NA2!NA1FinnAPL
Number of rows in array XA (also of a vector).×/¯1↓⍴XAFinnAPL
Number of rows in M as vector.IO←1↑⍴MAPL2
Number of rows in M.IS←≢MAPL2
Number of rows in matrix XM.≢XMFinnAPL
Number of rows in matrix XM.¯1↓⍴XMFinnAPL
Number of rows in matrix XM.(⍴XM)[1]FinnAPL
Number of rows in matrix XM.≢XMFinnAPL
Number of sortable columns at a time using ⊥ and alphabet CV.⌊(1+⍴CV)⍟2*(A=¯1+A←2*⍳128)⍳1FinnAPL
Number of trailing blanks.NA←+/∧\⌽CA=' 'APL2
Numeric headers (elements of NV) for rows of table XM.(3⌽7 0⍕NV∘.+,0),⍕XMFinnAPL
Numeric matrix of (N,K) combinations.M←(∧⌿2<⌿M)/M←1+((-K)↑⍳N+1)⊤⍳(!K)×K!N0=⎕IOAPL2
Numeric matrix of (N,K) combinations.M←(∧⌿2<⌿M)/M←1+((-K)↑⍳N)⊤⍳(!K)×K!N1=⎕IOAPL2
Occurences of the elements of NV.|-⌿(2,⍴NV)⍴⍋⍋NV,NVFinnAPL
Occurrences of string CV1 in string CV2.(∧⌿(¯1+⍳⍴CV1)⌽(CV1∘.=CV2),0)/⍳1+⍴CV2FinnAPL
Occurrences of string XV1 in string XV2.(XV2[A∘.+¯1+⍳⍴XV1]∧.=XV1)/A←(A=1↑XV1)/⍳⍴A←(1-⍴XV1)↓XV2FinnAPL
Occurrences of string XV1 in string XV2.((-A)↓XV1∧.=(A,1+⍴XV2)⍴XV2)/⍳(⍴XV2)+1-A←⍴XV1FinnAPL
Ohm's Law - resistance of parallel resistors.NS←÷+/÷NAPL2
One column matrix from vector V.M←,['']VAPL2
One row matrix from vector V.M←,[¯.5]V0=⎕IOAPL2
One row matrix from vector V.M←,[.5]V1=⎕IOAPL2
Ones, same shape and structure.B←A=AAPL2
Ones, same shape plus one.B←0×/VAPL2
Open a gap of IV1[i] after XV[IV2[i]] (for all i).((⍳(⍴XV)++/IV1)∊+\1+¯1↓0,((⍳⍴XV)∊IV2)\IV1)\XVFinnAPL
Open a gap of IV1[i] before XV[IV2[i]] (for all i).((⍳(⍴XV)++/IV1)∊+\1+((⍳⍴XV)∊IV2)\IV1)\XVFinnAPL
Open gaps before each item of V, L wide.V←∊(-L+1)↑¨VAPL2
Open gaps between each item in V, L wide.V←∊(L+1)↑¨VAPL2
Open gaps between points B in V, L wide.V←((~B)-B\L)/VAPL2
Open NS-1 spaces between each item in V.V←∊NS↑¨VAPL2
Ordinal numbers of words in CV that indices IA point to.⎕IO++/IA∘.≥(' '=CV)/⍳⍴CVFinnAPL
Outer product.M←X∘.×YAPL2
Outline of bar chart of data V.Z←0J1⊥1 0⌽2/↑V(⍳1+⍴V)0=⎕IOAPL2
Outline of bar chart of data V.Z←0J1⊥1 0⌽2/0,↑V(⍳⍴V)1=⎕IOAPL2
Output assigned value.⎕←A←2 10⍴⍳20APL2
Output of an empty line.0⍴XA←FinnAPL
Output of assigned value.⊢NA←FinnAPL
Output of assigned value.⎕←XA←FinnAPL
Pack an array into a vector based on BA.V←(,BA)/,AAPL2
Pairwise differences of successive columns (inverse of +\).NA-((-⍴⍴NA)↑¯1)↓0,NAFinnAPL
Pairwise differences of successive elements of vector NV.(1↓NV)-¯1↓NVFinnAPL
Pairwise ratios of successive elements of vector NV.(1↓NV)÷¯1↓NVFinnAPL
Parallel projection of 3D object in M.Z←0J1⊥M[1 0;]0=⎕IOAPL2
Parallel projection of 3D object in M.Z←0J1⊥M[2 1;]1=⎕IOAPL2
Parity.≠/BAFinnAPL
Parity. Connect odd and even ones.B←≠\BAPL2
Parity+connectors. Connect odd and even ones.B←B∨≠\BAPL2
Pascal's triangle of order IS (binomial coefficients).⍉A∘.!A←0,⍳ISFinnAPL
Pascal's triangle of order IS.V←V∘.!V←⍳IS+10=⎕IOAPL2
Pascal's triangle of order IS.V←V∘.!V←0,⍳IS1=⎕IOAPL2
Perspective projection from distance D.Z←0J1⊥M[1 0;]×D÷D-M[2;]0=⎕IOAPL2
Perspective projection from distance D.Z←0J1⊥M[2 1;]×D÷D-M[3;]1=⎕IOAPL2
Pinpoint figure rather than polygon.VZA←,¨ZAAPL2
Places between pairs of ones.(~BA)∧≠\BAFinnAPL
Playing order in a cup for IS ranked players.,⍉(A⍴2)⍴(2*A←⌈2⍟IS)↑⍳ISFinnAPL
Plot of scalaroid function 'f' for data V.Z←V+¯11○f VAPL2
Plotting a curve from boolean values.CA←' *'[BA]0=⎕IOAPL2
Plotting a curve from boolean values.CA←' *'[1+BA]1=⎕IOAPL2
Plus Minus. Number and its negative.NA←(⊂1 ¯1)×NAAPL2
Poisson distribution of states IA with average number NS.(*-NS)×(NS*IA)÷!IAFinnAPL
Poisson distribution of states X and Y avg.N←(*-Y)×(Y*X)÷!XAPL2
Polynomial with roots NV.⌽((0,⍳⍴NV)∘.=+⌿~A)+.×(-NV)×.*A←((⍴NV)⍴2)⊤¯1+⍳2*⍴NVFinnAPL
Combining two lines into one.X←'line1'⊣Y←'line2'APL2
Position of comment in each row of array CA.B←(<\'/*'⍷CA)∨⌽<\'/*'⍷⌽CAAPL2
Position of first blanks in rows of M.P←(⊂[1]CM)⍳¨' '0=⎕IOAPL2
Position of first blanks in rows of M.P←(⊂[2]CM)⍳¨' '1=⎕IOAPL2
Position of first item in CX not in C.P←⊃(~CX∊C)/⍳⍴CXAPL2
Position of first occurrence of C in VV.PO←VV⍳⊂CAPL2
Position of last Y in X - from left.PO←(⌽X)⍳YAPL2
Position of last Y in X.PO←(⍴X)-(1,X≠Y)⊥11=⎕IOAPL2
Position of last Y in X.PO←1+(⍴X)-(1,X≠Y)⊥10=⎕IOAPL2
Position of the first non-blank char by row.P←(<\~CM∊' ')+.×⍳⊃⌽⍴CMAPL2
Position of the first non-blank char.PO←(C≠' ')⍳1APL2
Position of the first satisfied condition.PO←B⍳1APL2
Position of the last non-blank char by row.P←(⊃⌽⍴CM)-(1,CM=' ')⊥11=⎕IOAPL2
Position of the last non-blank char by row.P←1+(⊃⌽⍴CM)-(1,CM=' ')⊥10=⎕IOAPL2
Position of the last non-blank char.PO←(⍴C)-(1,C=' ')⊥11=⎕IOAPL2
Position of the last non-blank char.PO←1+(⍴C)-(1,C=' ')⊥10=⎕IOAPL2
Position of the NSth Y in X.PO←(+\X≡¨Y)⍳NSAPL2
Position of trailing blanks in rows.P←(CM≠' ')⌈.×⍳⊃⌽⍴CMAPL2
Position of V in corresponding row of M.N←M⌊.⍳VAPL2
Position(s) of V in each row of M.VN←M,.⍳VAPL2
Positions of items in set C in string CX.P←(CX∊C)/⍳⍴CXAPL2
Positions of ones given length vector L.P←¯1↓+\0,L1=⎕IOAPL2
Positions of ones given length vector L.P←¯1↓+\1,L0=⎕IOAPL2
Positions of ones in boolean vector B.P←B/⍳⍴BAPL2
Positions of ones in boolean vector B.P←(+/B)↑⍒BAPL2
Positions of start of C in string CX.P←(C⍷CX)/⍳⍴CXAPL2
Positive infinity; the largest representable value.⌊/⍬FinnAPL
Positive maximum, at least zero (also for empty NV).⌈/NV,0FinnAPL
Postfix vector to each row of matrix.M←↑,/M,⊂VAPL2
Predicted values of best linear fit (least squares).A+.×NV2⌹A←NV1∘.*0 1FinnAPL
Predicted values of exponential (curve) fit.*A+.×(⍟NV2)⌹A←NV1∘.*0 1FinnAPL
Prefix vector to each row of matrix.M←⊃,/V,⊂MAPL2
Present value of cash flows NA at int FS.A←(÷1+FS)⊥⌽NAAPL2
Present value of cash flows NV at interest rate NS %.(÷1+NS÷100)⊥⌽NVFinnAPL
Prime numbers from 1...IS.I←(2=+⌿0=I∘.|I)/I←1+⍳IS0=⎕IOAPL2
Prime numbers from 1...IS.I←(2=+⌿0=I∘.|I)/I←⍳IS1=⎕IOAPL2
Product by bucket. U = buckets.N←N×.*V∘.≡U⍴N ←→ ⍴VAPL2
Product of elements of NV.×/NVFinnAPL
Product of N.NS←×/NAPL2
Product of two polynomials with coefficients NV1 and NV2.+⌿(⎕IO-⍳⍴NV1)⌽NV1∘.×NV2,0×1↓NV1FinnAPL
Products over subsets of XV specified by BA.XV×.*BAFinnAPL
Progressive index of (without replacement).((⍴XV1)⍴⍋⍋XV1⍳XV1,XV2)⍳(⍴XV2)⍴⍋⍋XV1⍳XV2,XV1FinnAPL
Progressive index of (without replacement).((⍋XV1⍳XV1,XV2)⍳⍳⍴XV1)⍳(⍋XV1⍳XV2,XV1)⍳⍳⍴XV2FinnAPL
Prompt and response on same line.V←(⍴V)↓⊃⍞ V←⍞←'Finished? 'APL2
Proof. Returns items of VVX not in VVY list.VV←VVX~VVYAPL2
Pythagorean: FA = hypotenuse NA = side ratio.FA←4○NAAPL2
Pythagorean: FA = side NA = hyp:side ≥ 1.FA←¯4○NAAPL2
Pythagorean: FA = side NA = side:hyp ≤ 1.FA←0○NAAPL2
Pythagorean: Sum of the squares of AX.NA←AX+.*2APL2
Quick input of (×/I) strings.VA←⍎¨I⍴'⍞'I=⍴VAAPL2
Quick list of all functions and operators.M←,['']⎕CR¨⊂[1]⎕NL 3 40=⎕IOAPL2
Quick list of all functions and operators.M←,['']⎕CR¨⊂[2]⎕NL 3 41=⎕IOAPL2
Quick membership (∊) for positive integers.A←(⌈/IV1,IV2)⍴0 ⋄ A[IV2]←1 ⋄ A[IV1]FinnAPL
Random numbers between 1-IS w/o repl.I←1+IS?IS0=⎕IOAPL2
Random numbers between 1-IS w/o repl.I←IS?IS1=⎕IOAPL2
Random numbers between 1-IS w/repl.I←1+?IS⍴IS0=⎕IOAPL2
Random numbers between 1-IS w/repl.I←?IS⍴IS1=⎕IOAPL2
Randomizing random numbers (in ⎕LX in a workspace).⎕RL←⎕TS+.*2FinnAPL
Range of non-empty N.RANGE←(⌈/N)-⌊/NAPL2
Rank of A.IO←⍴⍴AAPL2
Rank of array XA.⍴⍴XAFinnAPL
Rank of each item in an array.AV←⍴¨⍴¨AAAPL2
Rank of the first item in an array.IO←⊃⍴¨⍴¨AAAPL2
Rank of the first item in an array.IO←⍴⍴⊃AAAPL2
Ravel of a matrix to IV[1] columns with a gap of IV[2].(A×IV[1]*¯1 1)⍴(A←(⍴XM)+(IV[1]|-≢XM),IV[2])↑XMFinnAPL
Real from ZAX and imaginary from ZAX.ZA←(9○ZAX)+¯11○11○ZAYAPL2
Reassign main diagonal of matrix.(0 0⍉M)←10=⎕IOAPL2
Reassign main diagonal of matrix.(1 1⍉M)←11=⎕IOAPL2
Reblock. Cut VV into many ≤LS length vecs.VV←↑,/((⍴¨VV)⍴¨⊂1+LS↑1)⊂¨VVAPL2
Rectangular scale by x=2,y=3.ZA←(2,¯11○3)+.×9 11∘.○ZAAPL2
Reduce each item of VV by B.VV←⊂[2]B/↑VV(⍴B)∧.=∊⍴¨VVAPL2
Reduction with function ⍺ in dimension IS, rank unchanged.((⍴XA)*IS≠⍳⍴⍴XA)⍴ ⍺/[IS]XAFinnAPL
Reduction with FUNCTION ⍺ without respect to shape.⍺/,NAFinnAPL
Regular unit polygon of NS edges.Z←*○0J2×(⍳NS+1)÷NS0=⎕IOAPL2
Regular unit polygon of NS edges.Z←*○0J2×(0,⍳NS)÷NS1=⎕IOAPL2
REMAINDER from division of NAX by NAY.NA←(×NAX)×(|NAY)||NAXAPL2
Remove blank columns.CM←(' '∨.≠CM)/CMAPL2
Remove blank rows.CM←(CM∨.≠' ')⌿CMAPL2
Remove blanks in each string.C←C~¨' 'APL2
Remove blanks.C←C~' 'APL2
Remove duplicate blank columns.CM←(¯1↓1,B∨1⌽B←' '∨.≠CM)/CMAPL2
Remove duplicate blank rows.CM←(¯1↓1,B∨1⌽B←CM∨.≠' ')⌿CMAPL2
Remove lead, trail, and duplicate blanks.V←1↓(B∨1⌽B←0,C≠' ')/' ',CAPL2
Remove leading blank columns.CM←(∨\' '∨.≠CM)/CMAPL2
Remove leading blank rows.CM←(∨\CM∨.≠' ')⌿CMAPL2
Remove leading blanks.V←(∨\C≠' ')/CAPL2
Remove punctuation.C←C~'.,:;?!'APL2
Remove trailing blank columns.CM←(1-(1,' '∧.=CM)⊥1)↓[1]CM0=⎕IOAPL2
Remove trailing blank columns.CM←(1-(1,' '∧.=CM)⊥1)↓[2]CM1=⎕IOAPL2
Remove trailing blank rows.CM←(1-(1,CM∧.=' ')⊥1)↓[0]CM0=⎕IOAPL2
Remove trailing blank rows.CM←(1-(1,CM∧.=' ')⊥1)↓[1]CM1=⎕IOAPL2
Remove trailing blanks.V←(⌽∨\⌽C≠' ')/CAPL2
Removing blank columns.(' '∨.≠CM)/CMFinnAPL
Removing blank rows.(CM∨.≠' ')⌿CMFinnAPL
Removing blanks.(' '≠XV)/XVFinnAPL
Removing columns IV from array XA.(~(⍳¯1↑⍴XA)∊IV)/XAFinnAPL
Removing duplicate blank columns.(A∨1,¯1↓A←' '∨.≠CM)/CMFinnAPL
Removing duplicate blank rows.(A∨1↓1⌽1,A←CM∨.≠' ')⌿CMFinnAPL
Removing duplicate elements (nub).((XV⍳XV)=⍳⍴XV)/XVFinnAPL
Removing duplicate elements (nub).(1 1⍉<\XV∘.=XV)/XVFinnAPL
Removing duplicate rows.((A⍳A)=⍳⍴A←2⊥XM∧.=⍉XM)⌿XMFinnAPL
Removing duplicate rows.((A⍳A)=⍳⍴A←⎕IO++⌿∧⍀XM∨.≠⍉XM)⌿XMFinnAPL
Removing duplicate rows.(∨⌿<\XM∧.=⍉XM)⌿XMFinnAPL
Removing duplicate rows.(1 1⍉<\XM∧.=⍉XM)⌿XMFinnAPL
Removing duplicate rows from ordered matrix XM.(¯1⌽1↓(∨/XM≠¯1⊖XM),1)⌿XMFinnAPL
Removing duplicate XS's from vector XV.(A∨¯1↓1,A←XV≠XS)/XVFinnAPL
Removing duplicates from an ordered vector.(¯1⌽1↓(XV≠¯1⌽XV),1)/XVFinnAPL
Removing duplicates from positive integers.A←9999⍴0 ⋄ A[IV]←1 ⋄ A/⍳9999FinnAPL
Removing elements XA from beginning and end of vector XV.((A⍳1)-⎕IO)↓(⎕IO-(⌽A←~XV∊XA)⍳1)↓XVFinnAPL
Removing elements XA from beginning of vector XV.(((~XV∊XA)⍳1)-⎕IO)↓XVFinnAPL
Removing elements XA from end of vector XV.(⎕IO-(~⌽XV∊XA)⍳1)↓XVFinnAPL
Removing elements XS from vector XV.(XV≠XS)/XVFinnAPL
Removing every IS:th element of XV.(0≠IS|⍳⍴XV)/XVFinnAPL
Removing every second element of XV.(2|⍳⍴XV)/XVFinnAPL
Removing leading and multiple blanks.(A∨¯1↓0,A←' '≠CV)/CVFinnAPL
Removing leading and trailing blanks.((⌽∨\⌽A)∧∨\A←' '≠CV)/CVFinnAPL
Removing leading blank columns.(∨\' '∨.≠CM)/CMFinnAPL
Removing leading blank rows.(∨\CM∨.≠' ')⌿CMFinnAPL
Removing leading blanks.(∨\' '≠CV)/CVFinnAPL
Removing leading blanks.(+/∧\' '=CV)↓CVFinnAPL
Removing leading zeroes.(¯1+(XV='0')⍳0)↓XVFinnAPL
Removing leading, multiple and trailing blanks.(' '=1↑CV)↓((1↓A,0)∨A←' '≠CV)/CVFinnAPL
Removing leading, multiple and trailing XS's.(1↑A)↓(A⍲1⌽A←XS=XV)/XVFinnAPL
Removing multiple and trailing blanks.((1↓A,0)∨A←' '≠CV)/CVFinnAPL
Removing multiple blanks.(A∨¯1↓1,A←' '≠CV)/CVFinnAPL
Removing punctuation characters.(~XV∊' .,:;?''')/XVFinnAPL
Removing trailing blank columns.(⌽∨\⌽' '∨.≠CM)/CMFinnAPL
Removing trailing blank columns.(⌽∨\⌽∨⌿' '≠CM)/CMFinnAPL
Removing trailing blank rows.(-2↑+/∧\⌽CM∧.=' ')↓CMFinnAPL
Removing trailing blanks.(1-(' '=CV)⊥1)↓CVFinnAPL
Removing trailing blanks.(1-(⌽' '≠CV)⍳1)↓CVFinnAPL
Removing trailing blanks.(⌽∨\⌽' '≠CV)/CVFinnAPL
Removing trailing blanks.(-+/∧\⌽' '=CV)↓CVFinnAPL
Removing trailing blanks.(¯1↑(' '≠CV)/⍳⍴CV)⍴CVFinnAPL
Repeat matrix.(((¯1⌽~A)∧A←(¯1↓XV1=1⌽XV1),0)/XV2)∘.=XV2FinnAPL
Replace all blanks with dashes.((,CA=' ')/,CA)←'-'APL2
Replace all items, shape unchanged.(,A)←⊂AXAPL2
Replace all occurrences of element in array.((,CA∊1↓C)/,CA)←↑CAPL2
Replace leading zeros with blanks.((1=⌈\' 0'⍳C)/C)←' '0=⎕IOAPL2
Replace leading zeros with blanks.((2=⌈\' 0'⍳C)/C)←' '1=⎕IOAPL2
Replace rows of M given boolean start vector.M←M[⌈\B×⍳⍴B;]APL2
Replace selected items, shape unchanged.(B/,A)←(+/B)⍴VAPL2
Replacing all values XS1 in XA with XS2.A[(A=XS1)/⍳⍴A←,XA]←XS2 ⋄ (⍴XA)⍴AFinnAPL
Replacing elements of XA in set XV1 with corresponding XV2.A[B/⍳⍴B]←XV2[(B←B≤⍴XV2)/B←XV1⍳A←,XA] ⋄ (⍴XA)⍴AFinnAPL
Replacing elements of XA not satisfying BV with blanks/zeroes.BV\BV/XAFinnAPL
Replacing elements of XS in set XV with blanks/zeroes.A\(A←~XS∊XV)/XSFinnAPL
Replacing elements of XV not in set XA with blanks/zeroes.A\(A←XV∊XA)/XVFinnAPL
Replacing elements of XV satisfying BV with XS.XV[BV/⍳⍴XV]←XSFinnAPL
Replacing first element of XV with XS.¯1⌽1↓XV,XSFinnAPL
Replacing last element of XV with XS.1⌽¯1↓XS,XVFinnAPL
Replacing zeroes with corresponding elements of NA2.NA1+NA2×NA1=0FinnAPL
Replicate CM at rows indicated by B.CM←(1+B)⌿CMAPL2
Replicate MU given boolean start vector.M←MU[¯1++\B;]0=⎕IOAPL2
Replicate MU given boolean start vector.M←MU[+\B;]1=⎕IOAPL2
Replicate XV[i] IV[i] times (for all i).((IV≠0)/XV)[+\¯1⌽(⍳+/IV)∊+\IV]FinnAPL
Replicate XV[i] IV[i] times (for all i).XV[+\(⍳+/IV)∊¯1↓1++\0,IV]FinnAPL
Replicate XV[i] IV[i] times (for all i).XV[⎕IO++\(⍳+/IV)∊⎕IO++\IV]FinnAPL
Replicating a dimension of rank three array XQ IS-fold.XQ[;,(IS⍴1)∘.×⍳(⍴XQ)[2];]FinnAPL
Representation of current date (American).A←⍕100|1⌽3↑⎕TS ⋄ A[(' '=A)/⍳⍴A]←'/' ⋄ AFinnAPL
Representation of current date (ascending format).A←⍕⌽3↑⎕TS ⋄ A[(' '=A)/⍳⍴A]←'.' ⋄ AFinnAPL
Representation of current date (descending format).A←⍕1000⊥3↑⎕TS ⋄ A[5 8]←'-' ⋄ AFinnAPL
Representation of current time (12 hour clock).(1⌽,' ::',3 2⍴6 0⍕100⊥12 0 0|3↑3↓⎕TS),'AP'[1+12≤⎕TS[4]],'M'FinnAPL
Representation of current time (24 hour clock).A←⍕1000⊥3↑3↓⎕TS ⋄ A[3 6]←':' ⋄ AFinnAPL
Representation of NS1 in base NS2.((1+⌊NS2⍟NS1)⍴NS2)⊤NS1FinnAPL
Reshaping a 400×12 character matrix to fit into one page.40 120⍴2 1 3⍉10 40 12⍴CMFinnAPL
Reshaping first element of XA into a scalar.⍬⍴XAFinnAPL
Reshaping NA into a matrix of width IS.((⌈(⍴,NA)÷IS),IS)⍴NAFinnAPL
Reshaping NA into a matrix of width IS.(((⍴,NA),1)×IS*¯1 1)⍴NAFinnAPL
Reshaping non-empty lower-rank array XA into a matrix.(1⌈¯2↑⍴XA)⍴XA2≥⍴⍴XAFinnAPL
Reshaping non-empty lower-rank array XA into a matrix.(¯2↑1 1,⍴XA)⍴XA2≥⍴⍴XAFinnAPL
Reshaping numeric vector NV into a one-column matrix.NV∘.+,0FinnAPL
Reshaping one-element vector XV into a scalar.+/XVFinnAPL
Reshaping only one-element numeric vector NV into a scalar.⍎⍕NVFinnAPL
Reshaping planes of rank 3 array to a matrix.(×/2 2⍴(⍴XQ),1)⍴XQFinnAPL
Reshaping planes of rank 3 array to rows of a matrix.(×/2 2⍴1,⍴XQ)⍴XQFinnAPL
Reshaping scalar XA into a one-element vector.1/XAFinnAPL
Reshaping vector XV into a one-column matrix.(⌽1,⍴XV)⍴XVFinnAPL
Reshaping vector XV into a one-column matrix.((⍴XV),1)⍴XVFinnAPL
Reshaping vector XV into a one-row matrix.(1,⍴XV)⍴XVFinnAPL
Reshaping vector XV into a two-column matrix.((0.5×⍴XV),2)⍴XVFinnAPL
Residue replacing 0 with NS.NA←NS+(-NS)|NAAPL2
Resistance of parallel resistors.÷+/÷NVFinnAPL
Restoring argument of cumulative sum (inverse of +\).NV-¯1↓0,NVFinnAPL
Retrieving scattered elements IM from matrix XM.1 1⍉XM[IM[1;];IM[2;]]FinnAPL
RETURN. Leave function, return to caller.→0APL2
Reversal (⌽) of subvectors of NV having lengths IV.NV[⌽⍒+\(⍳⍴NV)∊+\⎕IO,IV]FinnAPL
Reversal (⌽) of subvectors of XV indicated by BV.XV[⌽⍒+\BV]FinnAPL
Reverse vector XV on condition BS.XV[⍒BS!⍳⍴XV]FinnAPL
Reverse vector XV on condition BS.,⌽[⎕IO+BS](1,⍴XV)⍴XVFinnAPL
Reversing disclose.VV←(+/∨\⌽M≠' ')↑¨⊂[1]M0=⎕IOAPL2
Reversing disclose.VV←(+/∨\⌽M≠' ')↑¨⊂[2]M1=⎕IOAPL2
Reversing disclose. Eliminating blanks.V←(⊂[1]M)~¨' '0=⎕IOAPL2
Reversing disclose. Eliminating blanks.V←(⊂[2]M)~¨' '1=⎕IOAPL2
Right justify C in field width NS.C←NS↑CAPL2
Right justify matrix CM.CM←(1-(1,CM=' ')⊥1)⌽CMAPL2
Rightmost neighboring elements.((-⍴⍴NA)↑1)↓NA,0FinnAPL
Rightmost neighboring elements cyclically.1⌽XAFinnAPL
Roman numerals to Arabic.I←+/Iׯ1*I<1⌽I←0,(,(10*⍳4)∘.×1 5)['IVXLCDM'⍳C]0=⎕IOAPL2
Roman numerals to Arabic.I←+/Iׯ1*I<1⌽I←0,(,(1,10*⍳3)∘.×1 5)['IVXLCDM'⍳C]1=⎕IOAPL2
Rotate and scale at same time.ZA←ZA×2.1D30APL2
Rotate figure 30 degrees.ZA←ZA×1D30APL2
Rotate figure in direction of point ZS.ZA←ZA××ZSAPL2
Rotate first elements (1⌽) of subvectors of XV indicated by BV.XV[⍋BV++\BV]FinnAPL
Rotation matrix for angle NS (in radians) counter-clockwise.2 2⍴1 ¯1 1 1×2 1 1 2○NSFinnAPL
Round to nearest integer.⌊0.5+NADyalog
Rounding currencies to nearest 5 subunits..05×⌊.5+NA÷.05FinnAPL
Rounding to ⎕PP precision.⍎⍕NVFinnAPL
Rounding to IA decimals.(10*-IA)×⌊0.5+NA×10*IAFinnAPL
Rounding to IS decimal places.FA←⍎(|IS)⍕NAAPL2
Rounding to nearest even integer.⌊NA+1≤2|NAFinnAPL
Rounding to nearest even number.IA←(×NA)×⌊(1≤2||NA)+|NAAPL2
Rounding to nearest hundredth.0.01×⌊0.5+100×NAFinnAPL
Rounding to nearest integer.⌊0.5+NAFinnAPL
Rounding to nearest NSth.FA←(×NA)×(⌊.5+|NA÷NS)×NSAPL2
Rounding to nearest whole number.IA←(×NA)×⌊.5+|NAAPL2
Rounding to zero values of NA1 close to zero.NA1×NA2≤|NA1FinnAPL
Rounding, to nearest even integer for .5 = 1||NA.⌊NA+.5×.5≠2|NAFinnAPL
Row averages of NM.RAVE←(+/NM)÷1⌈⊃⌽⍴NMAPL2
Row averages of NM. (non-zero).RAVG←(+/NM)÷1⌈+/0≠NMAPL2
Row positions given boolean vector B.P←B/⍳≢AAPL2
Row positions of MX in MY (0 for not found).P←(<\MX∧.=⍉MY)+.×⍳↑⍴MYAPL2
Row positions of MX in MY.P←(⊂[1]MY)⍳⊂[1]MX0=⎕IOAPL2
Row positions of MX in MY.P←(⊂[2]MY)⍳⊂[2]MX1=⎕IOAPL2
Row standard deviation of A.STD←(((N×+/A*2)-(+/A)*2)÷N×1⌈¯1+N←1⌈⊃⌽⍴A)*.5APL2
Row sum of a matrix.+/NMFinnAPL
Row table. Vectors to rows of a matrix.M←↑VVAPL2
Row theoretical standard deviation of A.STD←(((N×+/A*2)-(+/A)*2)*.5)÷N←1⌈⊃⌽⍴AAPL2
Row theoretical variance of A.VAR←((N×+/A*2)-(+/A)*2)÷(N←1⌈⊃⌽⍴A)*2APL2
Row variance of A.VAR←((N×+/A*2)-(+/A)*2)÷N×1⌈¯1+N←1⌈⊃⌽⍴AAPL2
Row-by-row formatting (width IS) of NM with IV decimals per row.((1,IS)×⍴NM)⍴2 1 3⍉(⌽IS,⍴NM)⍴(,IS,[1.1]IV)⍕⍉NMFinnAPL
Rows of matrix XM starting with string XV.((((≢XM),⍴XV)↑XM)∧.=XV)⌿XMFinnAPL
Rows of non-empty matrix XM starting with a character in XV.(XM[;1]∊XV)⌿XMFinnAPL
Row-wise percentage per row.N←100×NM÷[0]+/NM0=⎕IOAPL2
Row-wise percentage per row.N←100×NM÷[1]+/NM1=⎕IOAPL2
Running parity.≠\BAFinnAPL
Running parity (≠\) over subvectors of BV2 indicated by BV1.≠\BV2≠BV1\A≠¯1↓0,A←BV1/≠\¯1↓0,BV2FinnAPL
Running sum of IS consecutive elements of NV.((IS-1)↓A)-0,(-IS)↓A←+\NVFinnAPL
Running sum of NS consecutive elements of N.N←NS+/NAPL2
Scalar (dot) product of vectors.NV2+.×NV1FinnAPL
Scan from end with function ⍺.⌽⍺\⌽XAFinnAPL
Scatter assignment.(,A)[(⍴A)⊥⍉PM]←V0=⎕IO ⋄ (⍴PM)=(⍴V),⍴⍴AAPL2
Scatter assignment.(,A)[1+(⍴A)⊥⍉¯1+PM]←V1=⎕IO ⋄ (⍴PM)=(⍴V),⍴⍴AAPL2
Scatter assignment.(PV⌷¨⊂A)←V(⍴PV)=⍴V ⋄ (⍴¨PV)=⍴⍴AAPL2
Scatter indexing.V←PV⌷¨⊂A(⍴PV)=⍴V ⋄ (⍴¨PV)=⍴⍴AAPL2
Select random item from vector. Works on ''.NS←V[(0≠⍴V)?⍴V]APL2
Select X or Y depending on BS.Z←BS⊃X Y0=⎕IOAPL2
Select X or Y depending on BS.Z←(BS+1)⊃X Y1=⎕IOAPL2
Select X or Y depending on BS.Z←⊃BS↓X YAPL2
Selecting elements of XA satisfying condition BV.BV/XAFinnAPL
Selecting elements satisfying condition BA, others to 1.BA!NAFinnAPL
Selecting elements satisfying condition BA, others to one.NA*BAFinnAPL
Selecting elements satisfying condition BA, zeroing others.BA×NAFinnAPL
Selecting specific elements from a 'large' outer product.IV⍉XA1∘.⍺XA2FinnAPL
Selection depending on index origin.XV[2×⎕IO]FinnAPL
Selection depending on index origin.XV[1]FinnAPL
Selection depending on sign of array.A←(⊂¯1 0 1⍳×NA)⌷SW SX SYAPL2
Selection depending on sign of scalar.S←(¯1 0 1⍳×NS)⊃SW SX SYAPL2
Selection of elements of NA1 and NA2 depending on condition BA.(NA1×BA)+NA2×~BAFinnAPL
Selection of XS1 or XS2 depending on condition BS.''⍴BS↓XS1,XS2FinnAPL
Selection of XS1 or XS2 depending on condition BS.(XS1,XS2)[⎕IO+BS]FinnAPL
Selective multiple subarrays from array.AV←PAV⊃¨¨⊂⊂AAPL2
Sentence from vector of words.C←∊' ',¨VVAPL2
Sentence to vector of words.VV←⍎∊'''',C,''''⊣((C=' ')/C)←⊂''' '''APL2
Sentence to vector of words.VV←((2>/1,B)/⍳⍴B)↓¨(1+(2</B,1)/⍳⍴B←C=' ')↑¨⊂C0=⎕IOAPL2
Sentence to vector of words.VV←(¯1+(2>/1,B)/⍳⍴B)↓¨((2</B,1)/⍳⍴B←C=' ')↑¨⊂C1=⎕IOAPL2
Sentence to vector of words.VV←(C≠' ')⊆CAPL2
Separating a date YYMMDD to YY, MM, DD.⍉(3⍴100)⊤NAFinnAPL
Separating date IS - YYYYMMDD format.(IW IX IY)←0 100 100⊤ISAPL2
Separating variable length lines.XV1,⎕TC[2],XV2FinnAPL
Sequence from NX for IX items.N←∊NX+⍳¨IX0=⎕IOAPL2
Sequence from NX for IX items.N←¯1+∊NX+⍳¨IX1=⎕IOAPL2
Setting a constant with hyphens.⎕LX←⍞FinnAPL
Shift B forward or backward IS positions.B←((×IS)×⍴B)↑IS↓BAPL2
Shifting vector XV left with IS without rotate.(⍴XV)↑IS↓XVFinnAPL
Shifting vector XV right with IS without rotate.(-⍴XV)↑(-IS)↓XVFinnAPL
Shur product.1 2 1 2⍉NM1∘.×NM2FinnAPL
Sign of point ZS relative to edges of Z.V←×11○(ZS-1↓Z)×+2-/ZAPL2
SIGN. Transfer of sign from NAY to NAX.NA←(×NAY)×|NAXAPL2
Sine of a complex number.(2 2⍴1 6 2 5)×.○NA≢NA ←→ 2FinnAPL
Sine of NA in radians.FA←1○NAAPL2
Size of range of elements of NV.(⌈/NV)-⌊/NVFinnAPL
Skew by 30 percent in y.ZA←ZA+¯11○.3×9○ZAAPL2
Smallest possible number.FS←⌈/⍬APL2
Sort by highfliers - M ←→ groups of length L.M←M[⍒L/L;]APL2
Sort each column in ascending order.(,⍉A)←(,A)[⍋,A+(⍴A)⍴(⌈/,A)×⍳×/¯1↓⍴A]APL2
Sort each column in ascending order.A←↑[I](⊂¨⍋¨A)⌷¨A←⊂[I←¯2+⍴⍴A]A1=⎕IO ⋄ 2≤⍴⍴AAPL2
Sort each column in ascending order.A←↑[I](⊂¨⍋¨A)⌷¨A←⊂[I←¯1+⍴⍴A]A0=⎕IO ⋄ 2≤⍴⍴AAPL2
Sort each row in ascending order.(,A)←(,A)[⍋,A+(⊃⌽⍴A)/(⌈/,A)×⍳×/¯1↓⍴A]APL2
Sort each row in ascending order.A←↑(⊂¨⍋¨A)⌷¨A←⊂[¯1+⍴⍴A]A←1/A1=⎕IOAPL2
Sort each row in ascending order.A←↑(⊂¨⍋¨A)⌷¨A←⊂[⍴⍴A]A←1/A0=⎕IOAPL2
Sorting a matrix according to Y:th column.NM[⍋NM[;Y];]FinnAPL
Sorting a matrix into lexicographic order.NM[⍋+⌿A<.-⍉A←NM,0;]FinnAPL
Sorting a matrix into reverse lexicographic order.NM[⍒+⌿A<.-⍉A←NM,0;]FinnAPL
Sorting CM in ascending row order.CM←CM[⍋⎕UCS CM;]APL2
Sorting CM in descending row order.CM←CM[⍒⎕UCS CM;]APL2
Sorting CM in reverse SEQ order.CM←CM[SEQ⍒CM;]APL2
Sorting CM in SEQ row order.CM←CM[SEQ⍋CM;]APL2
Sorting CVV in alphabetical order.CVV←CVV[⍋⎕UCS↑CVV]APL2
Sorting indices IV according to data NV.IV[⍋NV[IV]]FinnAPL
Sorting NM in ascending row order.NM←NM[⍋NM;]APL2
Sorting NM in descending row order.NM←NM[⍒NM;]APL2
Sorting NV into ascending order.NV[⍋NV]FinnAPL
Sorting NV into descending order.NV[⍒NV]FinnAPL
Sorting rows of matrix NM into ascending order.(⍴NM)⍴(,NM)[A[⍋(,⍉(⌽⍴NM)⍴⍳≢NM)[A←⍋,NM]]]FinnAPL
Sorting rows of matrix NM into ascending order.A←(⍋,NM)-⎕IO ⋄ (⍴NM)⍴(,NM)[⎕IO+A[⍋⌊A÷¯1↑⍴NM]]FinnAPL
Sorting rows of XM according to key XV (alphabetizing).XM[⍋(1+⍴XV)⊥XV⍳⍉XM;]FinnAPL
Sorting words in list CM according to word length.CM[⍋CM+.≠' ';]FinnAPL
Sorting XV2 according to XV1.XV2[⍋XV1]FinnAPL
Spacing out text.((2×⍴CV)⍴1 0)\CVFinnAPL
Spacing out text.,CV,[1.1]' 'FinnAPL
Split A into a vector of arrays given B.VA←↑[1↓⍳⍴⍴A]¨(+\B)⊆⊂[1↓⍳⍴⍴A]AAPL2
Split complex array into real and imaginary.NA←9 11∘.○ZAAPL2
Split V into subvectors given boolean B.VV←(+\B)⊂VAPL2
Split V into subvectors indicated by L.VV←(L/⍳⍴L)⊆VAPL2
Splitting a variable into a set of variables.(N B I F Z)←VVAPL2
Square of elements of NA without change of sign.NA×|NAFinnAPL
Square without changing sign.NA←NA×|NAAPL2
Standard deviation of NV.((+/(NV-(+/NV)÷⍴NV)*2)÷⍴NV)*.5FinnAPL
Starting points for IS1 fields of width IS2.(IS1×IS2)⍴IS2↑1FinnAPL
Starting points for XV in indices pointed by IV.(⍳⍴XV)∊IVFinnAPL
Starting points of groups of equal elements (non-empty XV).1,(1↓XV)≠¯1↓XVFinnAPL
Starting positions of subvectors having lengths IV.#NAME?FinnAPL
State of switch given BX=on and BY=off spikes.B←≠\B\2≠/0,(B←BX∨BY)/BXAPL2
Stereo pair. (Eye separation NS).VZ←(¯.5 .5×NS)+⊂ZAPL2
Students grades given score IA.CA←'FDCBA'[+/IA∘.≥10×6 7 8 9]0=⎕IOAPL2
Students grades given score IA.CA←'FDCBA'[+/IA∘.≥10×0 6 7 8 9]1=⎕IOAPL2
Successive transposes of XA (IV1 after IV2: IV1⍉IV2⍉XA).IV1[IV2]⍉XAFinnAPL
Sum by bucket. U = buckets.N←N+.×V∘.≡U⍴N ←→ ⍴VAPL2
Sum elements of NV1 marked by succeeding identicals in NV2.A-¯1↓0,A←(NV2≠1↓NV2,0)/+\NV1FinnAPL
Sum of all elements in NA.NS←+/∊NAAPL2
Sum of alternating reciprocal series NV2÷NV1.NV2-.÷NV1FinnAPL
Sum of common parts of matrices (matrix sum).1 2 1 2⍉NM1∘.+NM2FinnAPL
Sum of elements of NV.+/NVFinnAPL
Sum of magnitude of N.NS←+/|NAPL2
Sum of N.NS←+/NAPL2
Sum of numbers in character matrix XM.⍎,'+',XMFinnAPL
Sum of reciprocal series NV2÷NV1.NV2+.÷NV1FinnAPL
Sum of squares of NV.NV+.*2FinnAPL
Sum of squares of NV.NV+.×NVFinnAPL
Sum of subvectors of V given boolean B.N←+/¨(+\B)⊆VAPL2
Sum of subvectors of V indicated by L.N←+/¨(L/⍳⍴L)⊆VAPL2
Sum of the elements of vector NV.1⊥NVFinnAPL
Sum over elements of NV1 determined by elements of NV2.NV1+.×NV2∘.=((⍳⍴NV2)=NV2⍳NV2)/NV2FinnAPL
Summation over subsets of XV specified by BA.XV+.×BAFinnAPL
Sums according to codes XA2.(XA2∘.=XA1)+.×NAFinnAPL
Sums over (+/) subvectors of NV indicated by BV.A-¯1↓0,A←(1⌽BV)/+\NVFinnAPL
Sums over (+/) subvectors of NV, lengths in IV.A-¯1↓0,A←(+\NV)[+\IV]FinnAPL
Swap real and imaginary.ZA←¯11○+ZAAPL2
SWIFT check digit from IS bank number.IS←97+¯97|ISAPL2
Syllabization of a Finnish word XV.(~A∊1,⍴XV)/A←A/⍳⍴A←(1↓A,0)←~XV∊'aeiouyäö'FinnAPL
Syntax error to stop execution.FinnAPL
Table of divisibility.M←0=(1+⍳⌈/I)∘.|I0=⎕IOAPL2
Table of divisibility.M←0=(⍳⌈/I)∘.|I1=⎕IOAPL2
Take of at most IA elements from XA.(IA⌊⍴XA)↑XAFinnAPL
Taking every IS:th element of XV.(0=IS|⍳⍴XV)/XVFinnAPL
Tangent of NA in radians.FA←3○NAAPL2
Taylor series at point X, coefficients Y.N←+/Y×(X*N)÷!N←⍳⍴Y0=⎕IOAPL2
Taylor series at point X, coefficients Y.N←+/Y×(X*N)÷!N←¯1+⍳⍴Y1=⎕IOAPL2
Temporary ravel of XA1 for indexing with IA.A←⍴XA1 ⋄ XA1←,XA1 ⋄ XA1[IA]←XA2 ⋄ XA1←A⍴XA1FinnAPL
Temporary ravel of XA1 for indexing with IA.A←,XA1 ⋄ A[IA]←XA2 ⋄ XA1←(⍴XA1)⍴AFinnAPL
Test for antisymmetricity of square matrix NM.~0∊NM=-⍉NMFinnAPL
Test for associativity of f1 and f2.BS←((V f1 X)f2 Y)≡V f1 X f2 YAPL2
Test for commutativity of fn.BS←⊃≡/X Y fn Y XAPL2
Test for distributivity of f1 and f2.BS←((V f1 X)f2 Y)≡⊃f1/V X f2⊂YAPL2
Test for symmetricity of matrix XM.⍎⍎'1','↑↓'[⎕IO+∧/(⍴XM)=⌽⍴XM],'''0~0∊XM=⍉XM'''FinnAPL
Test for symmetricity of matrix XM.⍎(¯7*A∧.=⌽A←⍴XM)↑'0~0∊XM=⍉XM'FinnAPL
Test for symmetricity of square matrix XM.~0∊XM=⍉XMFinnAPL
Test if all elements of vector BV are equal.∨/∧/0 1∘.=BVFinnAPL
Test if all elements of vector BV are equal.BV∧.=∨/BVFinnAPL
Test if all elements of vector BV are equal.BV∧.=∧/BVFinnAPL
Test if all elements of vector BV are equal.⍲/0 1∊BVFinnAPL
Test if all elements of vector BV are equal.(∧/BV)∨~∨/BVFinnAPL
Test if all elements of vector BV are equal.(∧/BV)=∨/BVFinnAPL
Test if all elements of vector BV are equal.∧/BV÷∨/BVFinnAPL
Test if all elements of vector BV are equal.≠/0 1∊BVFinnAPL
Test if all elements of vector BV are equal.∧/BV/1⌽BVFinnAPL
Test if all elements of vector BV are equal.~∧/BV∊~BVFinnAPL
Test if all elements of vector BV are equal.0=(⍴BV)|+/BVFinnAPL
Test if all elements of vector NV are equal.(⌈/NV)=⌊/NVFinnAPL
Test if all elements of vector XV are equal.∧/⎕IO=XV⍳XVFinnAPL
Test if all elements of vector XV are equal.∧/XV=1⌽XVFinnAPL
Test if all elements of vector XV are equal.∧/XV=1↑XVFinnAPL
Test if all elements of vector XV are equal.∧/XV=XV[1]FinnAPL
Test if arrays are identical.~0∊XA1=XA2FinnAPL
Test if arrays of equal shape are identical.∧/,XA1=XA2⍴XA1 ←→ ⍴XA2FinnAPL
Test if circular lists are equal (excluding phase).∨/XV2∧.=⍉(⍳⍴XV1)⌽(2⍴⍴XV1)⍴XV1FinnAPL
Test if CV is a valid APL name.¯1≠⎕NC CVFinnAPL
Test if each element of XV occurs only once.∧/(XV⍳XV)=⍳⍴XVFinnAPL
Test if elements differ from next ones (non-empty XV).(¯1↓XV≠1⌽XV),1FinnAPL
Test if elements differ from previous ones (non-empty XV).1,1↓XV≠¯1⌽XVFinnAPL
Test if elements of XM1 belong to corr. row of XM2 (XM1[i;]∊XM2[i;]).∨/1 2 1 3⍉XM1∘.=XM2≢XM1 ←→ ≢XM2FinnAPL
Test if even.~2|IAFinnAPL
Test if IA is a leap year.(0=400|IA)∨(0≠100|IA)∧0=4|IAFinnAPL
Test if integer.NA=⌊NAFinnAPL
Test if IS1 is an integer within range [ IS2,IS3 ).~IS1≤.≥(⌈IS1),IS2,IS3FinnAPL
Test if IV is a permutation vector.IV∧.=⍋⍋IVFinnAPL
Test if IV is a permutation vector.IV[⍋IV]∧.=⍳⍴IVFinnAPL
Test if IV is a permutation vector.∧/1=+⌿IV∘.=⍳⍴IVFinnAPL
Test if IV is a permutation vector.∧/(⍳⍴IV)∊IVFinnAPL
Test if NA is in ascending order along direction IS.∧/[IS]NA=⌈\[IS]NAFinnAPL
Test if NA is in descending order along direction IS.∧/[IS]NA=⌊\[IS]NAFinnAPL
Test if NA is within range ( NM[1;],NM[2;] ].NA<.≤NM≢NQ ←→ 2FinnAPL
Test if NA is within range ( NM[1;],NM[2;] ].(NA,[.1+⍴⍴NA]NA)>.>NM≢NQ ←→ 2FinnAPL
Test if NA is within range ( NV[1],NV[2] ).(NV[1]<NA)∧NA<NV[2]FinnAPL
Test if NA is within range [ NV[1],NV[2] ).≠/NA∘.≥NVFinnAPL
Test if NA is within range [ NV[1],NV[2] ].(NV[1]≤NA)∧(NA≤NV[2])2=⍴NQFinnAPL
Test if NM is a lower triangular matrix.∧/,(0≠NM)≤A∘.≥A←⍳≢NMFinnAPL
Test if NM is an upper triangular matrix.∧/,(0≠NM)≤A∘.≤A←⍳≢NMFinnAPL
Test if NS is within range ( NM[1;],NM[2;] ].NS<.≤NM≢NQ ←→ 2FinnAPL
Test if NS is within range [ NM[1;],NM[2;] ).NS<.<NM≢NQ ←→ 2FinnAPL
Test if numeric.0∊0\0⍴XVFinnAPL
Test if numeric.0∊1↑0⍴XAFinnAPL
Test if numeric and conversion to numeric form.1↓⍎'0 ',(∧/CV∊' ',⎕D)/CVFinnAPL
Test if NV1 and NV2 are permutations of each other.NV2[⍋NV2]∧.=NV1[⍋NV1]FinnAPL
Test if rows of XA contain elements differing from XS.XA∨.≠XSFinnAPL
Test if single or scalar.1∊⍴,XAFinnAPL
Test if the elements of NV are ascending.NV<.≥1⌽NVFinnAPL
Test if vector.1∊⍴⍴XAFinnAPL
Test if vector XV is a row of array XA.1∊XA∧.=XVFinnAPL
Test if XA and XV have elements in common.∨/XV∊XAFinnAPL
Test if XA is an empty array.0∊⍴XAFinnAPL
Test if XA is boolean.∧/,XA∊0 1FinnAPL
Test if XV is a subset of XA (XV ⊂ XA).∧/XV∊XAFinnAPL
Test relations of elements of NA1 to range NA2; result in ¯2…2.+/×NA1∘.-NA22=¯1↑⍴NA2FinnAPL
Tests the social security number (Finnish).(¯1↑X)=((~Y∊'GIOQ')/Y)[1+31|⍎9↑X]10=⍴XFinnAPL
Text (including quotes) in expression.C←(B∨≠\B←C='''')/CAPL2
Text (with first quote) in expression.C←(≠\C='''')/CAPL2
Text (without quotes) in expression.VV←((~B)∧≠\B←C='''')⊆CAPL2
The average # of lines per pgm. in a WS.IS←(+/⊃¨⍴¨⎕CR¨⊂[1]M)÷≢M←⎕NL 3 40=⎕IOAPL2
The average # of lines per pgm. in a WS.IS←(+/⊃¨⍴¨⎕CR¨⊂[2]M)÷≢M←⎕NL 3 41=⎕IOAPL2
The enclose of the items of PV (which must be of depth 2) catenated along their first axes.⍪/PVDyalog
The enclose of the items of PV (which must be of depth 2) catenated along their last axes.,/PVDyalog
The Exponential. e to the NAth power.FA←*NAAPL2
The first item in any rank array.A←⊃AAPL2
The first sub-array along the first axis of XA.⊣⌿XA Dyalog
The first sub-array along the last axis of XA.⊣/XA Dyalog
The index of positive integers in IV.A←9999⍴⎕IO+⍴IV ⋄ A[⌽IV]←⌽⍳⍴IV ⋄ A[IA]FinnAPL
The item in the bottom right of XA (⎕ML<2).⊃⌽,XADyalog
The item in the bottom right of XA (⎕ML≥2).↑⌽,XADyalog
The item in the top right of XA (⎕ML<2).⊃⌽XADyalog
The item in the top right of XA (⎕ML≥2).↑⌽XADyalog
The last item in any rank array.A←⊃⌽,AAPL2
The last sub-array along the first axis of XA.⊢⌿XA Dyalog
The last sub-array along the last axis of XA.⊢/XA Dyalog
The length of the first axis of each item in XA (⎕ML<2).⊃∘⍴¨XADyalog
The length of the first axis of each item in XA (⎕ML≥2).↑∘⍴¨XADyalog
The natural logarithm of NA.FA←⍟NAAPL2
The NAX based logarithm of NAY.FA←NAX⍟NAYAPL2
The NAYth root of the items in NAX.FA←NAX*÷NAYAPL2
The number of code lines in a workspace.IS←+/⊃¨⍴¨⎕CR¨⊂[1]⎕NL 3 40=⎕IOAPL2
The number of code lines in a workspace.IS←+/⊃¨⍴¨⎕CR¨⊂[2]⎕NL 3 41=⎕IOAPL2
The number of leading 1s in each row of BA.+/∧\BADyalog
The number of leading blank spaces in each row of CA.+/∧\' '=CADyalog
The number of objects in a workspace.IS←≢⎕NL 2 3 4APL2
The positions in BV corresponding to the 1s in XV.XV/⍳⍴BVDyalog
The prototype of A.A←⊃0⍴⊂⊃AAPL2
The rank of XA as a 1-element vector.⍴⍴XADyalog
The rank of XA as a scalar.≢⍴XADyalog
The subset of BV corresponding to the 1s in NS.NS/⍳BVDyalog
The subset of XV in the index positions defined by NA (equivalent to XV[NA]).NA⊃¨⊂XVDyalog
The type of A.A←⊃0⍴⊂AAPL2
Three wise rolling average.AVG3←(3+/NA)÷3APL2
Total standard deviation of A.STD←((+/(,A-(+/,A)÷1⌈⍴,A)*2)÷1⌈¯1+⍴,A)*.5APL2
Total theoretical standard deviation of A.STD←((+/(,A-(+/,A)÷N)*2)÷N←1⌈⍴,A)*.5APL2
Total theoretical variance of A.VAR←(+/(,A-(+/,A)÷N)*2)÷N←1⌈⍴,AAPL2
Total variance of A.VAR←(+/(,A-(+/,A)÷1⌈⍴,A)*2)÷1⌈¯1+⍴,AAPL2
Transpose every submatrix of A.A←(⍋(-⍴⍴A)↑1 0)⍉AAPL2
Transpose matrix XM on condition BS.(BS⌽1 2)⍉XMFinnAPL
'Transpose' of matrix XM with column fields of width Y.((⌽A)×1,Y)⍴2 1 3⍉(1⌽Y,A←(⍴XM)÷1,Y)⍴XMFinnAPL
Transpose of planes of a rank three array.1 3 2⍉XQFinnAPL
Truth table with IS variables.M←2|⌊(⍳2*IS)∘.÷1+2*IS-⍳IS0=⎕IOAPL2
Truth table with IS variables.M←2|⌊(¯1+⍳2*IS)∘.÷2*IS-⍳IS1=⎕IOAPL2
Truth table: All possibilities of and(∧).CM←('∧-',B),[0]B,'|',B∘.∧B←0 10=⎕IOAPL2
Truth table: All possibilities of and(∧).CM←('∧-',B),[1]B,'|',B∘.∧B←0 11=⎕IOAPL2
Truth table: All possibilities of nand(⍲).CM←('⍲-',B),[0]B,'|',B∘.⍲B←0 10=⎕IOAPL2
Truth table: All possibilities of nand(⍲).CM←('⍲-',B),[1]B,'|',B∘.⍲B←0 11=⎕IOAPL2
Truth table: All possibilities of nor(⍱).CM←('⍱-',B),[0]B,'|',B∘.⍱B←0 10=⎕IOAPL2
Truth table: All possibilities of nor(⍱).CM←('⍱-',B),[1]B,'|',B∘.⍱B←0 11=⎕IOAPL2
Truth table: All possibilities of or(∨).CM←('∨-',B),[0]B,'|',B∘.∨B←0 10=⎕IOAPL2
Truth table: All possibilities of or(∨).CM←('∨-',B),[1]B,'|',B∘.∨B←0 11=⎕IOAPL2
Two column matrix from one vector.M←((⌈.5×⍴V),2)⍴VAPL2
Two column matrix from two vectors.M←X,[.5]Y0=⎕IOAPL2
Two column matrix from two vectors.M←X,[1.5]Y1=⎕IOAPL2
Two row matrix from two vectors.M←X,[¯.5]Y0=⎕IOAPL2
Two row matrix from two vectors.M←X,[.5]Y1=⎕IOAPL2
Type of simple A. 1-char, 2-num, 3-mixed.IO←1+(0,⍴,A)⍳0+.=⊃¨0⍴¨,A0=⎕IOAPL2
Type of simple A. 1-char, 2-num, 3-mixed.IO←(0,⍴,A)⍳0+.=⊃¨0⍴¨,A1=⎕IOAPL2
Underlines a string.CM←C,[¯.5]'¯'0=⎕IOAPL2
Underlines a string.CM←C,[.5]'¯'1=⎕IOAPL2
Underlines non-blanks in a string.CM←C,(⎕UCS 10),(C≠' ')\'¯'APL2
Underlining a string.CV,[⎕IO-.1]'¯'FinnAPL
Underlining words.CV,[⎕IO-.1](' '≠CV)\'¯'FinnAPL
Union of sets, ?XV2,(~XV1∊XV2)/XV1FinnAPL
Union of two sets of numbers.V←Y,(~X∊Y)/XAPL2
Union of two sets of numbers.V←Y,X~YAPL2
Unique. Drop duplicates from list.MU←(∨⌿<\M∧.=⍉M)⌿MAPL2
Unique. Drop duplicates from ordered list.MU←(¯1↓1,∨/MG≠1⊖MG)⌿MGAPL2
Unique. Drop duplicates from ordered vector.U←(¯1↓1,V≠1⌽V)/VAPL2
Unique. Drop duplicates from vector.U←((V⍳V)=⍳⍴V)/VAPL2
Unique. Drop duplicates from vector.U←(∨⌿<\V∘.=V)/VAPL2
Unit cube.M←2 2 2⊤1+⍳80=⎕IOAPL2
Unit cube.M←2 2 2⊤⍳81=⎕IOAPL2
Unit square.M←2 2⊤1+⍳40=⎕IOAPL2
Unit square.M←2 2⊤⍳41=⎕IOAPL2
Unit tesseract.M←2 2 2 2⊤1+⍳160=⎕IOAPL2
Unit tesseract.M←2 2 2 2⊤⍳161=⎕IOAPL2
Unpack a vector into an array based on BA.((,BA)/,A)←VAPL2
Using a variable named according to XS.⍎'VAR',(⍕XS),'←XA'FinnAPL
Using boolean matrix BM in expanding XV.(⍴BM)⍴(,BM)\XVFinnAPL
Using default value 100 if XA does not exist.⍎(¯3*2≠⎕NC 'XA')↑'XA100'FinnAPL
Value of fixed-degree polynomial NV at points NA.NV[3]+NA×NV[2]+NA×NV[1]FinnAPL
Value of polynomial with coefficients NA at point NS.NS⊥NAFinnAPL
Value of polynomial with coefficients NA at point NS.(NS*¯1+⍳⍴NA)+.×⌽NAFinnAPL
Value of polynomial with coefficients NV2 at points NV1.(NV1∘.+,0)⊥NV2FinnAPL
Value of saddle point.(<\,(NM=(⍴NM)⍴⌈⌿NM)∧NM=⍉(⌽⍴NM)⍴⌊/NM)/,NMFinnAPL
Value of Taylor series with coefficients NV at point NS.+/NV×(NS*A)÷!A←¯1+⍳⍴NVFinnAPL
Value of Taylor series with coefficients NV at point NS.+/NV××\1,NS÷⍳¯1+⍴NVFinnAPL
Variance (dispersion) of NV.(+/(NV-(+/NV)÷⍴NV)*2)÷⍴NVFinnAPL
Vector (cross) product of vectors.((1⌽NA1)ׯ1⌽NA2)-(¯1⌽NA1)×1⌽NA2FinnAPL
Vector (IV[1]⍴1),(IV[2]⍴0),(IV[3]⍴1),…≠\(⍳+/IV)∊+\⎕IO,IVFinnAPL
Vector (IV1[1]⍴1),(IV2[1]⍴0),(IV1[2]⍴1),…(⍳+/IV1,IV2)∊+\1+¯1↓0,((⍳+/IV1)∊+\IV1)\IV2FinnAPL
Vector (IV2[1]+⍳IV1[1]),(IV2[2]+⍳IV1[2]),(IV2[3]+⍳IV1[3]),…⎕IO++\1+((⍳+/IV1)∊+\⎕IO,IV1)\IV2-¯1↓1,IV1+IV2⍴IV1 ←→ ⍴IV2FinnAPL
Vector having as many ones as XM has rows.∨/0/XMFinnAPL
Vector of length IS2 with IS1 ones on the left, the rest zeroes.IS2↑IS1⍴1FinnAPL
Vector of matrices to matrix of vectors.MV←⍉↑⊂[1]¨VM0=⎕IOAPL2
Vector of matrices to matrix of vectors.MV←⍉↑⊂[2]¨VM1=⎕IOAPL2
Vector of matrices to vector of vectors.VV←⊃,/⊂[1]¨VM0=⎕IOAPL2
Vector of matrices to vector of vectors.VV←⊃,/⊂[2]¨VM1=⎕IOAPL2
Vector of positions of ones in boolean array.VP←(,BA)/,⊃∘.,/⍳¨⍴BAAPL2
Vector to expand a new element after each one in BV.(,BV,[1.5]1)/,BV,[1.5]~BVFinnAPL
Vector to matrix at selected characters.CM←↑(~V∊C)⊆VAPL2
Vectorize - for any rank.V←⊂[1↓⍳⍴⍴A]1/AAPL2
Vectorize - keep only 1st column of M.V←M[;0]0=⎕IOAPL2
Vectorize - keep only 1st column of M.V←M[;1]1=⎕IOAPL2
Vectors as column matrices in catenation beneath each other.X,[1+.5×⌈/(⍴⍴X),⍴⍴Y]YFinnAPL
Vectors as row matrices in catenation upon each other.X,[.5×⌈/(⍴⍴X),⍴⍴Y]YFinnAPL
Weekday (S-S:0-6) given Y M D.IS←7|+/D(⍎M⊃'0032503514624'),⌊5 1.25×4 100⊤Y-3>M1=⎕IOAPL2
Weekday (S-S:0-6) given Y M D.IS←7|+/D(⍎M⊃'032503514624'),⌊5 1.25×4 100⊤Y-3>M0=⎕IOAPL2
Weekday (S-S:0-6) of first of year IS (YYYY).IS←7|6+IS+-/⌈IS÷4 100 400APL2
Weighted average of vector/matrix columns.WAVG←(N+.×NM)÷+/NAPL2
Weighted average of vector/matrix rows.WAVG←(NM+.×N)÷+/NAPL2
WHERE. Execute "fn" on condition B mask.((,B)/,A)←fn(,B)/,AAPL2
Which class do elements of NA belong to.+/NA∘.≥0 50 100 1000FinnAPL
Which elements of XA are not in set XV (difference of sets).(⎕IO+⍴XV)=XV⍳XAFinnAPL
Which rows of M are all numeric?B←0∧.=↑¨0⍴¨MAPL2
Widening matrix XM1 to be compatible with XM2.((0 1×⍴XM2)⌈⍴XM1)↑XM1FinnAPL
Window enclosing Z.Z←0J1⊥0 1⌽2/|⌊/M,[0.5]-M←11 9∘.○Z0=⎕IOAPL2
Window enclosing Z.Z←0J1⊥0 1⌽2/|⌊/M,[1.5]-M←11 9∘.○Z1=⎕IOAPL2
Word lengths of words in list CA.CA+.≠' 'FinnAPL
XA1 (XA2 is ignored).XA1{⍺}XA2Dyalog
XA1 and XA2 are ignored (no result produced).XA1{}XA2Dyalog
XA1 and XA2 as a two item vector (XA1 XA2).XA1{⍺ ⍵}XA2Dyalog
XA1 redefined to be XA1 with XA2 catenated along its first axis.XA1⍪←XA2Dyalog
XA1 redefined to be XA1 with XA2 catenated along its last axis.XA1,←XA2Dyalog
XA2 (XA1 is ignored).XA1{⍵}XA2Dyalog
XM with the rows sorted into numerical or alphabetical order.{⍵[⍋⍵;]}XMDyalog
XM with the rows sorted into reverse numerical or alphabetical order.{⍵[⍒⍵;]}XMDyalog
XM1⍳XM2 for rows of matrices.⎕IO++⌿∧⍀XM1∨.≠⍉XM2FinnAPL
XV sorted into numerical or alphabetical order.{⍵[⍋⍵]}XVDyalog
XV sorted into reverse numerical or alphabetical order.{⍵[⍒⍵]}XVDyalog
Y:th moment of NV.(+/(NV-(+/NV)÷⍴NV)*Y)÷⍴NVFinnAPL
Z←AX(lo OAX I)AY. Run "lo" on axes I of AX.Z←↑[I](⊂[I]AX)lo⊂AYAPL2
Z←AX(lo OAY I)AY. Run "lo" on axes I of AY.Z←↑[I](⊂AX)lo⊂[I]AYAPL2
Z←X(lo IO B)Y;⎕IO. Run "lo" in origin B.Z←X lo Y⊣⎕IO←BAPL2
Z←X(lo PR)Y. Perform "lo" as scalar.⍎'Z←X lo ',((1<|≡Y)/'PR¨'),'Y'APL2
Zero array of shape and size of NA.0×NAFinnAPL
Zero or space depending on the type of XA (fill element).1↑0⍴XAFinnAPL
Zeroing a vector (without change of size).NV[]←0FinnAPL
Zeroing all boolean values.0∧BAFinnAPL
Zeroing elements of NA1 depending on their values.NA1×~NA1∊NA2FinnAPL
Zeros, same shape and structure.B←A≠AAPL2
Zeros, same shape plus one.B←0+/VAPL2
Zeros, same shape when A is simple.B←A∊⍬APL2