Expand description

Mica is an embeddable scripting language for Rust.

This crate exposes a safe, high-level API akin to Rhai.

Re-exports

pub use mica_language as language;

Modules

Types for representing implementations of built-in traits.
Variants of ForeignFunction.

Structs

Arguments passed to a varargs function.
Options for debugging the language implementation.
Start here! An execution engine. Contains information about things like globals, registered types, etc.
A fiber represents an independent, pausable thread of code execution.
An automatically managed, safe reference to GC memory.
An ID unique to an engine, identifying a global variable.
An ID unique to an engine, identifying a method signature.
Represents a custom-typed value stored inside a VM.
Wrapper struct for marking functions that use the with-raw-self calling convention.
An unsafe value used internally in the VM.
A script pre-compiled into bytecode.
Allows you to build traits programatically from Rust code.
A type. This is used to represent user-defined Rust types in the VM (but not their instances).
A builder that allows for binding APIs with user-defined types.

Enums

An error.
The kind of a raw function. The kind of the function (bytecode or FFI).
The kind of a RawValue. The kind of a value.
A dynamically typed value.

Traits

A Rust function that can be called from Mica.
A trait for names convertible to global IDs.
Implemented by every type that can be used as a method signature.
Extensions for converting Results into a mica-language FFI-friendly structure.
Extensions for converting Results into a Mica FFI-friendly structure.
Implemented by all types that can be a &mut self parameter in an instance function.
A constructor of objects of type T.
A trait for names convertible to global IDs.
Implemented by all types that can be a &self parameter in an instance function.
Definitions of basic types provided by a standard library. This role is usually fulfilled by the mica-std crate.
Implemented by types that can be constructed from Values.
Marker trait for all user data types.

Type Definitions

A raw mica-language error, with metadata such as stack traces.
The implementation of a raw foreign function. The ABI of a raw foreign function.