Module yksom::vm [−][src]
The yksom run-time. The run-time uses trait objects but stores them as thin pointers (using the
experimental natrob library. This allows integer
tagging to be used. The Val
struct stores tagged integers / pointers to boxed
objects. The Obj
trait is the “supertype” trait of all objects, but it is
not intended that most parts of the VM call Obj
directly: one should use
the identically named methods on Val
. As this suggests, users should, in most
cases, either operate directly on a Val
or
Val::downcast
(or
Val::try_downcast
) it to a concrete implementation of Obj
.
Re-exports
pub use crate::vm::core::VM; | |
pub use crate::vm::error::VMError; | |
pub use crate::vm::error::VMErrorKind; |
Modules
core | The core part of the interpreter. |
error | |
function | |
objects | This module contains the core SOM objects. Note that there is a fundamental constraint that
must be obeyed by the programmer at all times: upon their creation, instances of the |
somstack | |
val | Tagged pointer support. |