delay                  package:base                  R Documentation

Delay Evaluation

Description:

     'delay' creates a _promise_ to evaluate the given expression in
     the specified environment if its value is requested. This provides
     direct access to _lazy evaluation_ mechanism used by R for the
     evaluation of (interpreted) functions.

Usage:

     delay(x, env=.GlobalEnv)

Arguments:

       x: an expression.

     env: an evaluation environment

Details:

     This is an experimental feature and its addition is purely for
     evaluation purposes.

Value:

     A _promise_ to evaluate the expression. The value which is
     returned by 'delay' can be assigned without forcing its
     evaluation, but any further accesses will cause evaluation.

Examples:

     x <- delay({
         for(i in 1:7)
             cat("yippee!\n")
         10
     })

     x^2 #- yippee
     x^2 #- simple number

