7-5 The function in the sentence 7-5 applies to two
2 arguments to perform subtraction, but in the
-5 sentence -5 it applies to a single argument to
_5 perform negation.
Adopting from chemistry the term valence, we
say that the symbol - is ambivalent, its effective
7%5 binding power being determined by context.
1.4
%5 The ambivalence of - is familiar in arithmetic;
0.2 it is here extended to other functions.
3^2
9
^2 Exponential (that is, 2.71828^2)
7.38906
a=: i. 5 The function integer or integer list
a
0 1 2 3 4 List or vector
a i. 3 1 The function index or index of
3 1
b=: 'Canada' Enclosing quotes denote literal characters
b i. 'da'
4 1
$ a Shape function
5
3 4 $ a Reshape function
0 1 2 3 Table or matrix
4 0 1 2
3 4 0 1
3 4 $ b
Cana
daCa
nada
%a Functions apply to lists
_ 1 0.5 0.333333 0.25 The symbol _ alone denotes infinity
Exercises
| 2.1 | Enter the following sentences (and perhaps related sentences
using different arguments), observe the results, and state what the two cases
(monadic and dyadic) of each function do:a=: 3 1 4 1 5 9 b=: 'Canada' #a 1 0 1 0 1 3 # a 1 0 1 0 1 3 # b /: a /: b a /: a a /: b b /: a b /: b c=: 'can''t' c #c c /: c | ||||||||||||||||||||||||||||||||||||||
| 2.2 | Make a summary table of the functions used thus far.
Then compare it with the following table (in which a bullet
separates the monadic case from the dyadic, as in Negate Subtract):
| ||||||||||||||||||||||||||||||||||||||
| 2.3 | Try to fill some of the gaps in the table of Exercise 2.2
by experimenting on the computer with appropriate expressions.
For example, enter ^.10 and ^. 2.71828
to determine the missing (monadic) case of ^. and
enter %: 4 and %: -4 and +%: -4
to determine the case of % followed by a colon. However, do not waste time on matters (such as, perhaps, complex numbers or the boxed results produced by the monad <) that are still beyond your grasp; it may be better to return to them after working through later sections. Note that the effects of certain functions become evident only when applied to arguments other than positive integers: try <.1 2 3 4 and <.3.4 5.2 3.6 to determine the effect of the monad <. . | ||||||||||||||||||||||||||||||||||||||
| 2.4 | If b=: 3.4 5.2 3.6 , then <.b
yields the argument b rounded down to the nearest integer.
Write and test a sentence that rounds the argument b to the
nearest integer. Answer: <.(b+0.5) or <.b+0.5 or <.b+1r2 | ||||||||||||||||||||||||||||||||||||||
| 2.5 | Enter 2 4 3 $ i. 5 to see an example of a
rank 3 array or report
(for two years of four quarters of three months each).
| ||||||||||||||||||||||||||||||||||||||
| 2.6 | Enter ?9 repeatedly and state what the
function ? does. Then enter t=: ?3 5 $ 9 to
make a table for use in further experiments. Answer: ? is a (pseudo-) random number generator; ?n produces an element from the population i.n |