:sig
function call(handle : module, name : string, input : as dval = {}, request : capture dval) dval

:params
request : the caller's request, captured when omitted
handle : a value from `unit_load()`
name : an exported function name
input : optional `dval` input

:returns
The exported function result.

:content
`call()` calls an exported function in a loaded unit. It returns the result as `dval`.

Use `unit_load()` once when several calls use the same unit. The two-argument form passes an empty `dval`.

:example capy render
var handle := unit_load("/doc/examples/call_target.capy")
var result := call(handle, "echo", name: "Ada")
print(string(result.name), "\n")

:see-group
units
