SICP-RS: Structure and Interpretation of Computer Programs - Rust Edition

SICP-RS: Structure and Interpretation of Computer Programs - Rust Edition
Photo by Phil Hearing / Unsplash

Welcome to a new series I'm calling "Structure and Interpretation of Computer Programs - Rust Edition."

You may be familiar with the very popular Computer Science textbook, "Structure and Interpretation of Computer Programs" or "SICP" for short. So many people and websites recommend us as a seminal textbook, I figured it was time to work through it myself. As a self-taught programmer, I'm always on the lookout for resources to fill gaps I may have missed by not studying CS in school. I often find it helpful to understand the "why" I do something that I may have picked up through experience at work.

Shortly into the textbook, I realized each section has exercises to work through. The book uses a Lisp dialect called Scheme. I always enjoy learning new programming languages, and understanding Lisp is helpful. But, I am also an avid "Rustacean' and if I can find an excuse to write something in Rust, I will.

Which brings me to this series. The goal is for me to take each exercise given in the book, and then see if I can solve the same exercise with Rust instead of Scheme. For some exercises, this may not solve the "goal" when it is attempting to teach how Scheme works. But my hope is to:

  • Highlight the differences in implementation the two languages may offer
  • Get a chance to write some more Rust code :)

If this sounds at all interesting to you, I hope you will follow along!

  1. Exercise 1.3 - Sum of Squares
  2. Exercise 1.7 - Square Roots, Newton Style
  3. Exercise 1.8 - Cube Roots