Structure and interpretation of computer programs / Harold Abelson and Gerald Jay Sussman, with Julie Sussman ; foreword by Alan J. Perlis. - Abelson, Harold (MIT electrical engineering and computer science series, 1996)