summaryrefslogtreecommitdiff
path: root/rust/src/lambda.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust/src/lambda.rs')
-rw-r--r--rust/src/lambda.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/rust/src/lambda.rs b/rust/src/lambda.rs
index 7c8d9be..d1ab5b5 100644
--- a/rust/src/lambda.rs
+++ b/rust/src/lambda.rs
@@ -1,4 +1,4 @@
-use rand::Rng;
+use rand::{rngs::SmallRng, Rng, RngCore, SeedableRng};
use serde::{Deserialize, Serialize};
use std::collections::HashMap;
@@ -98,8 +98,14 @@ fn gensym() -> String {
format!("x_{}", n1)
}
-pub fn generate_expr(size: u32) -> Value {
- Value::Num(3)
+pub fn generate_expr<R: Rng>(size: u32, rng: &mut R) -> Value {
+ match size {
+ 0 | 1 => {
+ let n: u16 = rng.gen();
+ Value::Num(n.into())
+ }
+ _ => todo!(),
+ }
}
#[cfg(test)]