ada 5 лет назад
Родитель
Сommit
156d281476
2 измененных файлов с 8 добавлено и 15 удалено
  1. 4 12
      lisp/core.rs
  2. 4 3
      lisp/lisp.rs

+ 4 - 12
lisp/core.rs

@@ -307,7 +307,7 @@ fn range(a: MalArgs) -> MalRet {
 }
 
 fn scalar_zero(a: MalArgs) -> MalRet {
-    Ok(ZKScalar(bls12_381::Scalar::zero()))
+    Ok(vector![vec![ZKScalar(bls12_381::Scalar::zero()), a[0].clone()]])
 }
 
 fn scalar_one(a: MalArgs) -> MalRet {
@@ -336,15 +336,6 @@ fn scalar_from(a: MalArgs) -> MalRet {
     }
 }
 
-fn cs_one(a: MalArgs) -> MalRet {
-    println!("{:?}", a);
-    Ok(Nil)
-}
-fn bellman_one(a: MalArgs) -> MalRet {
-    println!("{:?}", a);
-    Ok(Nil)
-}
-
 fn add_scalar(a: MalArgs) -> MalRet {
     match (a[0].clone(), a[1].clone()) {
         (Str(a0), Str(a1)) => {
@@ -474,7 +465,8 @@ pub fn ns() -> Vec<(&'static str, MalVal)> {
         ("neg", func(negate_from)),
         ("scalar::zero", func(scalar_zero)),
         ("scalar", func(scalar_from)),
-        ("cs::one", func(cs_one)),
-        ("bellman::one", func(bellman_one)),
+        ("cs::one", {
+            Sym("cs::one".to_string())
+        }),
     ]
 }

+ 4 - 3
lisp/lisp.rs

@@ -323,10 +323,11 @@ fn eval(mut ast: MalVal, mut env: Env) -> MalRet {
                         let left = l[1].clone();
                         let right = l[2].clone();
                         let out = l[3].clone();
-                        // let left_eval =eval(left.clone(), env.clone())?;
                         let left_eval = eval(left.clone(), env.clone())?;
-                       println!("{:?}", left_eval); 
-                        Ok(Nil)
+                        let right_eval = eval(right.clone(), env.clone())?;
+                        let out_eval = eval(out.clone(), env.clone())?;
+                        println!("enforce \n {:?} \n {:?} \n {:?}", left_eval, right_eval, out_eval);
+                        Ok(vector![vec![left_eval, right_eval, out_eval]])
                     }
                     _ => match eval_ast(&ast, &env)? {
                         List(ref el, _) => {