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

# Box - monad <

So far you have dealt with atoms that are either numeric or character. The monad < (box) introduces a new type of atom called boxed. The monad < applies to any noun and returns an atom that is a box which contains the argument.

An array is either a numeric array that contains numbers, or a literal array that contains characters, or a boxed array that contains boxes. Arrays of numbers and characters are referred to as open to distinguish them from boxed arrays.

       b =. < 2 3 4
       $b		NB. an atom has empty shape

A boxed array is displayed in a box.

       b
    +-----+
    ¦2 3 4¦
    +-----+

       c =. < 4 7 9
       d =. b , c	NB. append
       d
    +-----------+
    ¦2 3 4¦4 7 9¦
    +-----------+

       $d		NB. list with shape 2
    2

       (< 2 3 4) , < 4 7 9
    +-----------+
    ¦2 3 4¦4 7 9¦
    +-----------+

Arrays of different types (numeric, character, and boxed) cannot be appended to one another.

       'a' , 3
    ¦domain error
    ¦   'a'    ,3

       3 , < 2 3 4
    ¦domain error
    ¦   3    ,<2 3 4

Boxed arrays are of the same type and can be appended no matter what they contain.

       (< 'abc') , < 4 5 6
    +---------+
    ¦abc¦4 5 6¦
    +---------+

       (< 2 3 $ 'abcdef') , (< i. 3 4) , < 23
    +----------------+
    ¦abc¦0 1  2  3¦23¦
    ¦def¦4 5  6  7¦  ¦
    ¦   ¦8 9 10 11¦  ¦
    +----------------+

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