SICP exercises worked out in  Scheme