Any valid Gamma expression can be read by the Gamma reader using the
function read. The
read function will read from the current location
in a file, skipping over comments, until it encounters a character which
could be the beginning of a Gamma expression. The reader then constructs the
shortest possible complete expression from the input and returns that. A
complete Gamma expression may be as simple as a number, or as complex as a
complete function definition or complex data object. The reader ignores
white space, except as a token separator. It may be interesting to note that
the entire Gamma mainline is essentially just a simple loop:
while ((exp = read (input_file)) != _eof_) eval (exp);