API Reference

These are the tasks Khan can be passed and the gifts it can give.

Tasks

Here are the tasks you can pass Khan. You'd either use %fard to run a thread from a file or %lard to run an in-line thread.

%fard

Run a thread from within Arvo.

[%fard p=(fyrd cage)]

p contains the thread location, name, and start arguments. See the fyrd data type reference entry for details.

Returns

When the thread finishes, either by succeeding or failing, Khan will return an %arow gift.


%fyrd

External thread.

[%fyrd p=(fyrd cast)]

This is passed to Khan by the runtime when a thread is run externally. You would not use this from userspace.


%lard

In-line thread.

[%lard =bear =shed]

The bear is either a desk or beak. The shed is the thread itself. Since Spider doesn't need to read out the thread from Clay, the bear doesn't do much apart from be included in the thread name that Spider generates. Khan will have Spider run the given thread, and eventually give an %arow gift back with the result.

Returns

When the thread eventually finishes (or if it fails), Khan with give an %arow gift back with the result.


Gifts

These are the two gifts Khan can give. In userspace, you'd only receive an %arow.

%arow

In-arvo result.

[%arow p=(avow cage)]

This gift contains the result of a finished thread if successful, or an error and stack trace if it failed. It's given for threads run from within Arvo. See the avow entry in the types reference for more details.


%avow

External result.

[%avow p=(avow page)]

This gift contains the result of running a thread externally. You would not receive this in userspace.

A page is a pair of mark and noun. See the avow entry in the types reference for more details of that mold builder.