Foreword xi Preface xiii Acknowledgments xix 1 Flexibility in Nature and in Design 1 2 Domain-Specific Languages 21 3 Variations on an Arithmetic Theme 67 4 Pattern Matching 157 5 Evaluation 233 6 Layering 299 7 Propagation 327 8 Epilogue 373 A Appendix: Supporting Software 377 B Appendix: Scheme 379
Chris Hanson is on the technical staff at Datera.
Gerald Jay Sussman is Panasonic Professor of Electrical Engineering at MIT. He is the coauthor of Structure and Interpretation of Computer Programs, Structure and Interpretation of Classical Mechanics, and Functional Differential Equations (all published by the MIT Press).