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..  12782 background a : int <Nesl>
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.