这本是The Little Schemer的后续版本。所教授的语言是scheme,以举例为主。不像大多数讲语法的书。The Next Ten CommandmentsThe Eleventh CommandmentThe sixteenth CommandmentUse additional arguments when a functionUse(set!..only with names defined inneeds to know what other arguments to thelet….)function have been like so faThe Seventeenth CommandmentThe twelfth CommandmentUse(set!x.…)for(let(z∴.)….)onlyUse(letrec.)to remove arguments thatif there is at least one (lambda . betweendo not change for recursive applicationsit and the(let.), or if the new value forr is a function that refers to zThe Thirteenth CommandmentUse (letrec. . to hide and to protectThe Eighteenth CommandmentunctionsUse(set! z.only when the value that zrefers to is no longer neededThe fourteenth CommandmentThe nineteenth CommandmentUse(etcc..to return values abruptlyand promptlUse(set!.. to remember valuable thingsbetween two distinct uses of a functionThe Fifteenth CommandmentUse(let. to name the values of repeatedThe Twentieth Commandmentexpressions in a function definition if theyWhen thinking about a value created withmay be evaluated twice for one and the(etcc., write down the function that issame use of the function. And use(letequivalent but does not forget. Then, whento name the values of expressions(withoutyou use it, remember to forgetset! that are re-evaluated every time afunction is usedThe Seasoned schemerDaniel p friedmanIndiana universitBloomington, IndianaMatthias felleisenRice UniversitHouston TecasDrawings by duane BibbyForeword and afterword by guy l. steele jrThe mit pressCambridge, MassachusettsLondon,Englandc 1996 Massachusetts Institute of TechnologyAll rights reserved No part of this book may be reproduced in any form by anyelectronic or mechanical means(including photocopying, recording, or informationstorage and retrieval) without permission in writing from the publisheris book was set by the authors and was printed and bound in the United Statesof americaLibrary of Congress Cataloging-in-Publication DataFriedman, Daniel P.The seasoned schemer/ Daniel P. Friedman and Matthias Felleisen; drawings byDuane Bibby; foreword and afterword by guy L. steele Jrp. CrIncludes indexISBN-13 978-0-262-56100-6(pbk: alk. paper)1. Scheme(Computer program language)2. LISP(Computer program language)I. Felleisen. Matthias. II. TitleQA7673.S34F771996005.133—dc2095-25459CIP1098To Mary, Helga, and our children((Contents)(Foreword ix)(Preface xi)((11. Welcome Back to the Show)2((12. Take Cover)16)((13. Hop, Skip, and Jump)36)((14. Let There Be Names)62)((15. The Difference Between Men and Boys.)90)((16. Ready, Set, Bang! )106)((17. We Change, Therefore We Are! )126)((18. We Change, Therefore We Are the Same! )142)((19 Absconding with the Jewels)154)(20. What's in Store? )178)(Welcome to the Show 204)(Afterword 207)(Index 209)ForewordIf you give someone a fish he can eat for a dayif you teach someone to fish, he can eat for a lifetimeThis familiar proverb applies also to data structures in programming languagesIf you have read The Little Lisper (recently revised and retitled: The Little Schemer), thepredecessor to this book, you know that lists of things are at the heart of Lisp. Indeed, "LISPoriginally stood for "LISt Processing. By the same token, I suppose that the c programminglanguage could have been called CHAP(for "CHAracter Processing ")and Fortran could havebeen FloP(for“ FLOating-point Processing"”).Now C without characters or Fortran without its floating- point numbers would be almostunthinkable. They would be completely different languages, perhaps almost useless. Whatabout Lisp without lists? Well, Lisp has not only lists but functions that perform computationsAnd we have learned, slowly and sometimes laboriously over the years, that while lists are theheart of Lisp functions are the soulLisp must, of course, have lists; yet functions are enough. Dan and Matthias will show youthe way. The Little Lisper was truly a feast; but, as you will see there is more to life than foodHave you eaten? Very good. Now you are prepared for the real journeyCome. learn to fish!-Guy L. Steele JIForeword