# tsoding vm for lisp ## [Day 1](https://youtu.be/0irYsCYuZws) - 0:15 LLVM? - 0:18 вm -- blyat machine - 1:?? job - 2:10 random access to stack (where my `copy n` came from) - 2:20-2:35 fibonacci (where my fib.asm came from) - 2:40-2:55 dump in-memory program into/from file (how to implement this in rust?) - 4:11 succeed! [](https://github.com/tsoding/bm/tree/238612b4f1d300baa922e57a543ed75c153f3e40) ## [Day 2](https://youtu.be/9td67NTtNCg) - 2:00 jump lable - 2:11 "or I'll come to your house, steal all your source code, and make all your variables constant, ok. And I'm a haskeller, I know how to make all the variables constant, ok, trust me." - about NaN-boxing - https://www.cnblogs.com/qicosmos/p/4285409.html - https://zhuanlan.zhihu.com/p/166406678 ## [Day 3](https://youtu.be/LN9vrbBNG64) - 0:45 "s64 vs i64, fight" - 0:50 [boost integer](https://theboostcpplibraries.com/boost.integer) - 0:55 `#include ` - 3:35 calculating pi - 3:43 refer to forth - 4:00 step debug - 4:14 swap relative address like dup