From 06b382b03326f8708c63647ef265c97997fbdcee Mon Sep 17 00:00:00 2001 From: ada Date: Tue, 27 Oct 2020 22:34:03 +0100 Subject: [PATCH] added zk* function type to initiate the zkcircuit --- lisp/lisp.rs | 13 +++++++++++++ lisp/new.lisp | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lisp/lisp.rs b/lisp/lisp.rs index 91ba1565d..ee5c4e9be 100644 --- a/lisp/lisp.rs +++ b/lisp/lisp.rs @@ -269,6 +269,19 @@ fn eval(mut ast: MalVal, mut env: Env) -> MalRet { _ => Ok(Nil), } } + Sym(ref a0sym) if a0sym == "zk*" => { + let (a1, a2) = (l[1].clone(), l[2].clone()); + println!("---> {:?} {:?}", a1, a2); + // TODO add alloc name and nested eval to zkcircuit + Ok(MalFunc { + eval: eval, + ast: Rc::new(a2), + env: env, + params: Rc::new(a1), + is_macro: false, + meta: Rc::new(Nil), + }) + } Sym(ref a0sym) if a0sym == "fn*" => { let (a1, a2) = (l[1].clone(), l[2].clone()); Ok(MalFunc { diff --git a/lisp/new.lisp b/lisp/new.lisp index 0beb4f41c..836245648 100644 --- a/lisp/new.lisp +++ b/lisp/new.lisp @@ -1,4 +1,4 @@ -(def! circuit (fn* [x] ( +(def! circuit (zk* [x] ( (def! bits (unpack-bits x 256)) (map (fn* [b] (println b '(add lc0 one)