concepts/
efun/
CONCEPT
	arrays

DESCRIPTION
	There is support for arrays. The arrays can't be declared, but
	be should allocated dynamically with the function 'allocate()'
	(see efun/allocate). 

	Arrays are stored by reference, so all assignments of whole
	arrays will just copy the address. The array will be
	deallocated when no variable points to it any longer.

	When a variable points to an array, items can be accessed with
	indexing: 'arr[3]' as an example. The name of the array being
	indexed can be any expression, even a function call:
	'func()[2]'. It can also be another array, if this array has
	pointers to arrays:

	arr = allocate(2);
	arr[0] = allocate(3);
	arr[1] = allocate(3);

	Now 'arr[1][2]' is a valid value.

	The 'sizeof()' function (in true C, not a function) will give
	the number of elements in an array (see efun/sizeof).

NOTE
	Nowadays it is most of the time preferable to use an array
	constructor, a list surrounded by '({' and '})',
	e.g. ({ 1, "xx", 2 }) will be construct a new array with
	size 3, initialized with 1, "xx" and 2 respectively.