tree-based source processing language
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}