The Volt Runtime Library
The runtime library provides services that Volt programs need to run. Memory allocation, associative arrays, and much more are implemented here, as well as bindings for system libraries.
The library is divided into modules and packages, described below.
core package contains all language central packages, and standard C bindings.
core.object contains the definition of
Object, the class that all Volt classes inherit from./
core.exception contains the definition of
Exception, and other default exceptions.
core.typeinfo contains the definition of the
ClassInfoclasses, used with
classinfoto provide basic introspection capabilities.
core.varargs contains some variadic definitions that compiler needs to be able to directly refer to.
The rt package contains the runtime facilities.
Memory allocation, associative arrays, and other things running Volt programs used are contained here.
core.rt.aa contains functions that the compiler uses to implement associative arrays.
core.rt.eh contains functions that both the compiler and application uses for exception handling.
core.rt.format contains number formatting functions.
core.rt.gc contains the functions that interface with the garbage collector, the code responsible for freeing unused memory.
core.rt.thread contains functions for launching a new thread.
core.rt.misc contains functions that don't fit elsewhere, but that the compiler needs to be able to reference.
The compiler package contains intrinsics and default definitions.
core.compiler.defaultsymbols contains the symbols, like
size_tthat are defined by default.
core.compiler.llvm contains some LLVM intrinsic functions.
core.c.* package contains the C Bindings that are used by both the runtime and Volt applications.