Source file for SICP exercise