tree-based source processing language
at main 30 lines 417 B view raw
1mod ast; 2mod builtins; 3mod eval; 4mod parser; 5mod string; 6 7pub use eval::evaluate; 8 9trait Wrap<T> { 10 fn wrap<F, U>(self, f: F) -> U 11 where 12 F: Fn(T) -> U, 13 Self: Sized; 14 15 fn wrap_ok<E>(self) -> Result<Self, E> 16 where 17 Self: Sized, 18 { 19 Ok(self) 20 } 21} 22 23impl<T> Wrap<T> for T { 24 fn wrap<F, U>(self, f: F) -> U 25 where 26 F: Fn(T) -> U, 27 { 28 f(self) 29 } 30}