Crate netsblox_vm

source ·
Expand description

NetsBlox is a block-based programming environment developed at Vanderbilt which is based on Snap! from Berkeley. NetsBlox adds several networking-related features, in particular the use of Remote Procedure Calls (RPCs) that can access web-based resources and cloud utilities, as well as message passing between NetsBlox projects running anywhere in the world.

netsblox_vm is a pure Rust implementation of the NetsBlox block-based code execution engine which is written in safe, no_std Rust for use on arbitrary devices, including in embedded applications. This makes it possible to execute general block-based code on nearly any platform or environment with cross-compilation.

no_std

To use netsblox_vm in no_std Rust projects, simply pass the default-features = false flag to the project dependency. Note that alloc is required in this case.

[dependencies]
netsblox_vm = { version = "...", default-features = false }

Features

NameDescriptionDefault
stdLink to the standard library. Among other benefits, this gives access to the StdSystem implementation of System, which works out of the box.Enabled

Re-exports

pub use netsblox_ast as ast;

Modules

Tools for generating executable ByteCode from a project’s abstract syntax tree.
Re-exports of relevant items from gc_arena.
Re-exports of relevant items from serde_json.
ByteCode execution utilities.
A vector that allows for generational indexing.

Macros

Creates a new SimpleValue using Python-like syntax.