    [NAME]
    ALL.dao.concurrent.asyncall

    [TITLE]
    Asynchronous Function Call

    [DESCRIPTION]

    Asynchronous Function Call (AFC) allows a function call to be executed as a tasklet,
    and return immediately a future value that can be use to block on the tasklet and wait
    for its completion.

    Any standard function call followed by !! will start an AFC.

       1  routine MyFunction( n = 10 )
       2  {
       3      for( i = 1 : n ) io.writeln( i )
       4  }
       5  f = MyFunction( 20 ) !!
       6  io.writeln( f.value() )

    When multiple methods of a class instance are called in asynchronous mode, their
    execution will be mutually exclusive, namely, at any given time only call (tasklet) can
    be active. So in this way, the class instance acts just like a monitor.