فهرست منبع

eval scalar_one and transform into vector

ada 5 سال پیش
والد
کامیت
01e21f9c01
2فایلهای تغییر یافته به همراه3 افزوده شده و 6 حذف شده
  1. 2 4
      lisp/core.rs
  2. 1 2
      lisp/lisp.rs

+ 2 - 4
lisp/core.rs

@@ -311,7 +311,7 @@ fn scalar_zero(a: MalArgs) -> MalRet {
 }
 
 fn scalar_one(a: MalArgs) -> MalRet {
-    Ok(ZKScalar(bls12_381::Scalar::one()))
+    Ok(vector![vec![ZKScalar(bls12_381::Scalar::one()), a[0].clone()]])
 }
 
 fn negate_from(a: MalArgs) -> MalRet {
@@ -470,9 +470,7 @@ pub fn ns() -> Vec<(&'static str, MalVal)> {
         ("swap!", func(|a| a[0].swap_bang(&a[1..].to_vec()))),
         ("unpack-bits", func(unpack_bits)),
         ("range", func(range)),
-        ("scalar::one", func(|a| {
-           Ok(MalVal::ZKScalar(bls12_381::Scalar::one()))
-        })),
+        ("scalar::one", func(scalar_one)),
         ("neg", func(negate_from)),
         ("scalar::zero", func(scalar_zero)),
         ("scalar", func(scalar_from)),

+ 1 - 2
lisp/lisp.rs

@@ -323,9 +323,8 @@ fn eval(mut ast: MalVal, mut env: Env) -> MalRet {
                         let left = l[1].clone();
                         let right = l[2].clone();
                         let out = l[3].clone();
-                        println!("left {:?} \n  right {:?} \n out {:?}", left, right, out);
                         // let left_eval =eval(left.clone(), env.clone())?;
-                        let left_eval = eval_ast(&left.clone(), &env.clone())?;
+                        let left_eval = eval(left.clone(), env.clone())?;
                        println!("{:?}", left_eval); 
                         Ok(Nil)
                     }