Sfoglia il codice sorgente

added env_get on dfconst

ada 5 anni fa
parent
commit
a0b9a155d6
2 ha cambiato i file con 6 aggiunte e 2 eliminazioni
  1. 4 1
      lisp/core.rs
  2. 2 1
      lisp/lisp.rs

+ 4 - 1
lisp/core.rs

@@ -253,7 +253,10 @@ fn conj(a: MalArgs) -> MalRet {
 }
 
 fn add(a: MalArgs) -> MalRet {
-    Ok(Nil)
+    // get next symbol should be lc0 lc1 lc2
+    println!("{:?}", a[0]);
+    println!("{:?}", a[1]);
+    Ok(MalVal::Lc0)
 }
 
 fn seq(a: MalArgs) -> MalRet {

+ 2 - 1
lisp/lisp.rs

@@ -269,8 +269,9 @@ fn eval(mut ast: MalVal, mut env: Env) -> MalRet {
                         let (a1, a2) = (l[1].clone(), l[2].clone());
                         // a1 circuit name, get it from env
                         // a2 evaluate expression
+                        let c = env_get(&env, &a1);
                         let cond = eval(a2.clone(), env.clone());
-                        println!("{:?}", cond);
+                        println!("{:?} {:?} {:?}", c, a1, cond);
                         match cond {
                             _ => Ok(Nil)
                         }