edu.vub.at.objects.grammar
Interface Application


 Application

The public interface to an application AG element.

Example: f(a, b, c) where f is an expression that has to evaluate to a closure.

It is allowed to use splicing in the argument list, for example f(a, @[b, c]) or f(a, @t).

Note that o.f(a, b, c) is not represented with this interface, but rather with the combination of an MessageSend and an MethodInvocationCreation.

Author:
tvc

Method Summary
 Table arguments()
          Zero, one or more arguments may be passed.
 Expression function()
          The function may be any AmbientTalk expression that evaluates to a closure.
 
Methods inherited from interface edu.vub.at.objects.AbstractGrammar
freeVariables
 
Methods inherited from interface edu.vub.at.objects.Object
super
 

Method Detail

function

Expression function()
The function may be any AmbientTalk expression that evaluates to a closure. Example: `(f(1)(2)).function == `f(1)

Returns:
the function expression of the application

arguments

Table arguments()
Zero, one or more arguments may be passed. It is allowed to use splicing in the argument list, for example f(a, @[b, c]) or f(a, @t). Example: `(f(1, 2, @[3, 4])).arguments == `[1, 2, @[3, 4]]

Returns:
the argument list of the application