Implements what happens when a functor of the given type is called.
The applicator will be called with the functor, arguments, and callsite information, and should perform the application
(e.g. by evaluating the functor with the given arguments in some environment) and eventually produce a result by calling task.out(result).
The current task, which can be used to evaluate code and return results.
The thing that was called.
The arguments to the call.
The location of the apply form in the source code, used for error reporting.
The current environment that the call is being made in, which can be used to look up variables and patterns.
Optionalname: stringThe resolved name of the functor being called (for debugging purposes), or undefined if the functor isn't named.
Optionalsignificant: booleanTrue if the runtime has determined that this call will show a stack frame in a traceback should an error occur.
Return the parameter descriptors for the given functor, which will be used for type checking and lazy evaluation of arguments when this applicator is called. The functor will always be a Thing of the type that this applicator was registered for.
Defines what happens when an object of a particular non-builtin type is called as the functor in an apply expression. See NativeModule.defcall for details.