diff options
Diffstat (limited to 'src/eval/ops.rs')
| -rw-r--r-- | src/eval/ops.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/eval/ops.rs b/src/eval/ops.rs index 2537f4a5..01044842 100644 --- a/src/eval/ops.rs +++ b/src/eval/ops.rs @@ -250,6 +250,14 @@ comparison!(leq, Less | Equal); comparison!(gt, Greater); comparison!(geq, Greater | Equal); +/// Compute the range from `lhs` to `rhs`. +pub fn range(lhs: Value, rhs: Value) -> Value { + match (lhs, rhs) { + (Int(a), Int(b)) => Array((a ..= b).map(Int).collect()), + _ => Error, + } +} + /// Concatenate two collections. fn concat<T, A>(mut a: T, b: T) -> T where |
