Great post on writing and optimising an interpreter using Rust: https://blog.jeffsmits.net/compsci/2017/08/06/a-stratego-interpreter-in-rust/