Summary of error conditions:

	Number	Reason
	------	------

abs(n)

	102	n not numeric

any(c,s,i,j)

	101	i or j not integer
	103	s not string
	104	c not cset

bal(c1,c2,c3,s,i,j)

	101	i or j not integer
	103	s not string
	104	c1, c2, or c3 not integer

center(s1,i,s2)

	101	i not integer
	103	s1 or s2 not string
	205	i < 0 or i > 32767

close(f)

	105	f not file

display(n,f)

	101	n not integer
	105	f not file
	205	n < 0
	213	f not open for writing

exit(n)

	101	n not integer
	205	n < -32768 or n > 32767

find(s1,s2,i,j)

	101	i or j not integer
	103	s1 or s2 not string

left(s1,i,s2)

	101	i not integer
	103	s1 or s2 not string
	205	i < 0 or i > 32767

list(n)

	101	n not integer
	205	n < 0 or n > 32767

many(c,s,i,j)

	101	i or j not integer
	103	s not string
	104	c not cset

map(s1,s2,s3)

	103	s1, s2, or s3 not string
	208	s2 and s3 not same length

match(s1,s2,i,j)

	101	i or j not integer
	103	s1 or s2 not string

move(n)

	101	n not integer

open(s1,s2)

	103	s1 or s2 not string
	209	s2 contains some character other than 'abcprw',
		or 'p' with anything but either 'r' or 'w'.

pop(l)

	108	l not list

pos(i)

	101	i not integer

pull(l)

	108	x not list

push(l,x)

	108	l not list

put(l,x)

	108	l not list

read(f)

	105	f not file
	212	f not open for reading

reads(f,n)

	101	n not integer
	105	f not file
	205	n <= 0 or n > 32767
	212	f not open for reading
	302	n larger than available string space

repl(s,n)

	101	n not integer
	103	s not string
	205	n < 0 or n > 32767
	302	n * (*s) larger than available string space

reverse(s)

	103	s not string

right(s1,i,s2)

	101	i not integer
	103	s1 or s2 not string
	205	i < 0 or i > 32767

sort(x,n)

	101	n not integer
	205	n not 1 or 2
	115	x not list or table

stop(s,...)

	109	argument not string or file
	213	file not open for writing

system(s)

	103	s not string
	210	s too long (limit is 256)

tab(i)

	101	i not integer

trim(s,c)

	103	s not string
	104	c not cset

upto(c,s,i,j)

	101	i or j not integer
	103	s not string
	104	c not cset

write(s,...)

	109	argument not string or file
	213	file not open for writing

writes(s,...)

	109	argument not string or file
	213	file not open for writing

x @ y

	118	y not coexpression

x.y

	107	x not record
	207	record x does not contain field named y

x(y,...)

	106	x not procedure or integer
	117	initial call of main procedure

x \ y

	101	y not integer
	205	y < 0 or y > 32767

x := y
x <- y

	101	x is &pos, &random, or &trace, but y not integer
	103	x is substring or &subject, but y not string
	111	x not variable

x :=: y
x <-> y

	101	x or y is &pos, &random, or &trace, other not integer
	103	x or y is substring or &subject, but other not string
	111	x or y not variable

-x

	102	x not numeric
	203	integer overflow (x = -32768)

+x
	102	x not numeric

x + y
x - y

	102	x or y not numeric
	203	integer overflow
	204	floating point overflow

x * y

	102	x or y not numeric
	203	integer overflow (someday)
	204	floating point overflow

x / y

	102	x or y not numeric
	201	y = 0
	204	floating point overflow

x % y

	102	x or y not numeric
	202	y = 0
	204	floating point overflow

x ^ y

	102	x or y not numeric
	204	floating point overflow, or x = 0 and y <= 0
	206	x < 0 and y real

x = y
x >= y
x > y
x <= y
x < y
x ~= y

	102	x or y not numeric

x to y
x to y by z

	101	x, y, or z not integer
	211	z = 0

x || y

	103	x or y not string

x == y
x >>= y
x >> y
x <<= y
x << y
x ~== y

	103	x or y not string

x ? y

	103	x not string

~x

	104	x not cset

x ++ y
x -- y
x ** y

	104	x or y not cset

x ||| y

	108	x or y not list

x[y]

	101	x is string, list, or record, but y not integer
	114	x not string, list, record, or table

x[y:z]
x[y+:z]
x[y-:z]

	101	y or z not integer
	110	x not string or list

!x

	103	x originally string, but changed between activations
	116	x is null or coexpression
	212	x is file, but not open for reading

?x

	113	x not numeric, string, cset, list, table, or record
	205	x numeric, but x < 0 or x > 32767

^x

	118	x not coexpression

*x

	112	x not string, list, table, record, or coexpression

=x

	103	x not string
