NESL allows background execution of expressions. This is most useful when evaluating expressions that might take a long time to complete. It is also useful on supercomputers that allow more machine resources (memory, processors, runtime) to be used for batch jobs than for interactive jobs.
name &= exp [,mem := n] [,max_time := n]
[,config := config];
This evaluate the expression exp in the background and assigns
the result to the background variable name. The NESL prompt
returns soon as the job has been submitted. For example:
The result is retrieved using the get command described below. The &= command has three optional arguments:<Nesl> a &= sum([0:100000]); Compiling..Writing..Submitting.. [1] 12782 background a : int <Nesl>
get name;
This is used to retrieve a background variable. If the job is not
completed, the message ``Variable waiting for result'' will be
printed. If the job is completed, all output generated during
execution will be printed, and if there was no error the result will
be assigned to the variable name. The status of background
jobs can be examined with the show status command described
below.