evaltrees 0.1.0

A simple term-rewriting interpreter that displays intermediate expressions.
Documentation
mod expr;
mod pattern;
#[cfg(test)]
mod tests;
mod type_;

use std::fmt::{Display, Formatter, Result as FmtResult};

use ast::Decl;

impl<Aux> Display for Decl<Aux> {
    fn fmt(&self, fmt: &mut Formatter) -> FmtResult {
        write!(fmt, "Decl({}, [", self.name)?;
        let mut first = true;
        for arg in &self.args {
            if first {
                first = false;
            } else {
                write!(fmt, ", ")?;
            }
            write!(fmt, "{}", arg)?;
        }
        write!(fmt, "], {})", self.body)
    }
}