>>  <<  Ndx  Usr  Pri  Phr  Dic  Rel  Voc  !:  wd  Help  Phrases

Bond Or Curry

Fixing an argument of a verb produces a monad. Some verbs so produced are sufficiently important to justify being denoted by a primitive symbol, and the following table often shows the corresponding primitive together with the English definition. The conjunction & (often called with) is used to bond an argument to a verb.

m0 =: 1&+ Increment >:
m1 =: +&1     "
m2 =: _1&+ Decrement <:
m3 =: -&1     "
m4 =: 1&- Not -. (logical and prob complement)
m5 =: 1&~:     "
m6 =: 0&=     "
m7 =: 0&- Negate - (arithmetic)
m8 =: _1&*     "
m9 =: *&_1     "
m10=: 2&* Double +:
m11=: *&2     "
m12=: 3&* Triple
m13=: *&3     "
m14=: 0j1&* j. (Multiply by √-1)
m15=: ^@j. r.(Complex # on unit circle at y radians)
m16=: 1p1&* * times o.
m17=: 0.5&* Halve -:
m18=: *&0.5     "
m19=: %&2     "
m20=: 1&% Reciprocal %
m21=: ^&_1    "
m22=: ^&2 Square *:
m23=: ^&33 Cube
m24=: \^&0.5Square root %:
m25=: ^&1r2    "
m26=: 2&%:     "
m27=: ^&(%3) Cube root
m28=: ^&1r3     "
m29=: 3&%:     "
m30=: (^1)&^ Exponential ^
m31=: 1x1&^     "
m32=: 1x1&^. Natural log ^.
m33=: 10&^ Antilog
m34=: 10&^. Base-10 log
m35=: >:@<.@(10&^.)@(1&>.) # of digits needed to represent integer y
m36=: #@(10&#.^:_1)"0     "
m37=: >:@<.@( 2&^.)@(1&>.) # of bits needed to represent integer y
m38=: #@( 2&#.^:_1)"0     "
m39=: 0&{ Head (first) {.
m40=: _1&{ Tail (last) {:
m41=: 1&}. Behead }.
m42=: _1&}. Curtail }:
m43=: 0&< Positive test
m44=: 0&> Negative test
m45=: 0&>. Max (0,y)
m46=: 0&<. Min (0,y)
m47=: (0&=)@(2&|) Even test
m48=: (1&=)@(2&|) Odd test
m49=: _1&A. Reverse |.
m50=: (<0 _1)&C. Interchange first and last items
m51=: >.@(0.5&+) Round
m52=: ,~ $ 1: , ] $ 0: Identity matrix of order y
m53=: -.@(' '&E.) # ] Remove multiple blanks
m54=: BC=: i.@>: ! ] Binomial coefficients of order y
m55=: (0&,+,&0)^:([ `1:)     " (recursive)
m56=: BCT=:i. !/ i. BC table of orders to y-1
m57=: PAT=: |:@BCT Pascal's triangle
m58=: (0&,+,&0)^:(i.`1:)     " (recursive)
m59=: IX=: a.&i. Index in ASCII alphabet
m60=: Lt=:(1&e.)@(e.&a.)@, Literal test
m61=: 1&#. Sum over lists (last axis) +/"1
m62=: 1&, Preface a row of 1's
m63=: ,&1 Append a row of 1's
m64=: 1&,. Preface a column of 1's
m65=: ,.&1 Append a column of 1's
m66=: 1&,@$ $ , Itemize (append leading 1 to shape) ,:
m67=: sin=: 1&o. Sin
m68=: asin=: _1&o. Arcsin
m69=: cos=: 2&o. Cos
m70=: acos=: _2&o. Arccos
m71=: tan=: 3&o. Tan
m72=: atan=: _3&o. Arctan
m73=: sinh=: 5&o. Sinh
m74=: asinh=: _5&o. Arcsinh
m75=: cosh=: 6&o. Cosh
m76=: acosh=: _6&o. Arccosh
m77=: tanh=: 7&o. Tanh
m78=: atanh=: _7&o. Arctanh

Similarly, a conjunction in isolation with one of its arguments produces an adverb. For example:

   a79=: each=: &.>
   a80=: inv=: ^:_1
   ] boxes=: ;: 'I sing of Olaf'
+--------------+
�I�sing�of�Olaf�
+--------------+

   |.boxes
+--------------+
�Olaf�of�sing�I�
+--------------+

   |. each boxes
+--------------+
�I�gnis�fo�falO�
+--------------+

   ^&3 inv 0 1 2 3 4
0 1 1.25992 1.44225 1.5874

   ^&3 ^&3 inv 0 1 2 3 4
0 1 2 3 4
a79=: each=: &.> Apply argument function to each box
a80=: inv=: ^:_1 Inverse
a81=: ^:_ Limit
a82=: (D.1) " 0 First derivative
a83=: ;.1 Partition
a84=: !.0 Exact comparison; e.g. = a84
a85=: "0 Constant function on scalars
a86=: "1 Constant function on lists
a87=: "_1 Constant function on items
a88=: "_ Constant function on entire argument
a89=: 0!: Script; silent execute is se=: 0 a89
a90=: file=: 1!: File; e.g. read=:1 file

>>  <<  Ndx  Usr  Pri  Phr  Dic  Rel  Voc  !:  wd  Help  Phrases