1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#[macro_export]
macro_rules! deferred {
( $s:expr, [$($v:expr),*] ) => {
crate::Deferred::new($s, vec![$($v,)*])
};
( $s:expr ) => {
crate::Deferred::new($s, vec![])
};
}
#[macro_export]
macro_rules! state {
( $s:expr ) => {
crate::Context::State($s)
};
}
#[macro_export]
macro_rules! subdeferred {
( $s:expr, [$($v:expr),*] ) => {
crate::Context::Deferred(Box::new(crate::Deferred::new($s, vec![$($v,)*])))
};
( $s:expr ) => {
crate::Context::Deferred(Box::new(crate::Deferred::new($s, vec![])))
};
}
#[macro_export]
macro_rules! value {
( $v:expr ) => {
crate::value::Value::new(Box::new($v))
};
}