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
.