Package avail.descriptor.functions

Types

Link copied to clipboard
interface A_Continuation : A_BasicObject

A_Continuation is an interface that specifies the operations specific to continuations in Avail. It's a sub-interface of A_BasicObject, the interface that defines the behavior that all AvailObjects are required to support.

Link copied to clipboard
interface A_Function : A_BasicObject

A_Function is an interface that specifies the operations specific to Avail functions. It's a sub-interface of A_BasicObject, the interface that defines the behavior that all AvailObjects are required to support.

Link copied to clipboard
interface A_RawFunction : A_BasicObject

A_RawFunction is an interface that specifies the operations specific to function implementations in Avail.

Link copied to clipboard
interface A_RegisterDump : A_BasicObject

A_RegisterDump is an interface for register dumps created for reification within an L2Chunk, generated by the L2Generator.

Link copied to clipboard
open class CompiledCodeDescriptor : Descriptor

A compiled code object is created whenever a block is compiled. It contains instructions and literals that encode how to perform the block. In particular, its main feature is a tuple of nybbles that encode L1Operations and their operands.

Link copied to clipboard
class ContinuationDescriptor : Descriptor

A continuation acts as an immutable execution stack. A running fiber conceptually operates by repeatedly replacing its continuation with a new one (i.e., one derived from the previous state by nybblecode execution rules), performing necessary side-effects as it does so.

Link copied to clipboard
class ContinuationRegisterDumpDescriptor : Descriptor

A ContinuationRegisterDumpDescriptor instance holds a collection of AvailObject and Long slots for use by an L2Chunk. It's typically stored in the A_Continuation.registerDump slot of an A_Continuation. The interpretation of its fields depends on the L2Chunk that's both creating and consuming it.

Link copied to clipboard
class FunctionDescriptor : Descriptor

A function associates compiled code with a referencing environment that binds the code's free variables to variables defined in an outer lexical scope. In this way, a function constitutes a proper closure.

Link copied to clipboard
class PrimitiveCompiledCodeDescriptor : CompiledCodeDescriptor

This is a special case of a CompiledCodeDescriptor that specifies a Primitive to be attempted, and only if it fails (if that's possible for the specific primitive) should it fall back on running the L1 instructions.