

Join the discussion
Write your take first — we'll ask for email only when you're ready to publish.
- Hacker News
- Ten years ago, I worked on something similar for my graduation project.
I drew inspiration from the circuit simulator in SICP and a tool called Logisim,
and used Lisp to design a circuit simulation library.
The core concept was:
Each function could generate a circuit module,
that accepted multiple input lines—each consisting of multiple bits,
and produced a single output line, which also consisted of multiple bits.
For example, an adder would take two $n$-bit lines as input and output a single $n$-bit line.
Using this simulation library, I also built a simple CPU and implemented a factorial function using its machine language.
by veexx103