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.
Package core.*
The 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
Throwable
,Error
,Exception
, and other default exceptions.core.typeinfo contains the definition of the
TypeInfo
andClassInfo
classes, used withtypeid
andclassinfo
to provide basic introspection capabilities.core.varargs contains some variadic definitions that compiler needs to be able to directly refer to.
Package core.rt.*
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.
Package core.compiler.*
The compiler package contains intrinsics and default definitions.
core.compiler.defaultsymbols contains the symbols, like
size_t
that are defined by default.core.compiler.llvm contains some LLVM intrinsic functions.
Package core.c.*
The core.c.*
package contains the C Bindings that are used by both the runtime and Volt applications.
core.c.* contains bindings for the standard C library.
core.c.windows.* contains an incomplete binding to the Win32 API.
core.c.posix.* contains bindings for *nix specific functions and syscalls.