Crate mice

source · []
Expand description

mice, messing with dice

This crate is written primarily for my own usage, and will likely obtain extensions related to games that I play.

Modules

This module provides facilities for rejecting dice expressions not supported by your chosen backend.

Approximate cost models for dice programs used in various contexts.

Interpreter for dice programs. The current design is a basic recursive AST walker. Not intended to be fast.

An IR language to lower dice programs to, with the goal of permitting more complex dice operators.

Types and a parser for dice programs. Note that all byte strings in this module are conventionally UTF-8.

A stack machine for dice programs. Currently just interprets the stack machine bytecode, but is already faster than the other two interpreters in all benchmarks.

Tree traversal utilities.

Generate GraphViz DOT files for ASTs.

Macros

A for loop-alike for StreamingIterator.