The Seasoned Schemer

Author: Daniel P. Friedman
Publisher: MIT Press
ISBN: 9780262561006
Format: PDF
Download Now
"drawings by Duane Bibby" foreword and afterword by Guy L. Steele Jr. "I learned more about LISP from this book than I have from any of the other LISP books I've read over the years. . . . While other books will tell you the mechanics of LISP, they can leave you largely uninformed on the style of problem-solving for which LISP is optimized. The Little LISPer teaches you how to think in the LISP language. . . an inexpensive, enjoyable introduction." -- Gregg Williams, Byte The notion that "thinking about computing is one of the most exciting things the human mind can do" sets both "The Little Schemer" (formerly known as "The Little LISPer" ) and its new companion volume, "The Seasoned Schemer," apart from other books on LISP. The authors' enthusiasm for their subject is compelling as they present abstract concepts in a humorous and easy-to-grasp fashion. Together, these books will open new doors of thought to anyone who wants to find out what computing is really about. "The Little Schemer" introduces computing as an extension of arithmetic and algebra -- things that everyone studies in grade school and high school. It introduces programs as recursive functions and briefly discusses the limits of what computers can do. The authors use the programming language Scheme, and interesting foods to illustrate these abstract ideas. "The Seasoned Schemer" informs the reader about additional dimensions of computing: functions as values, change of state, and exceptional cases. "The Little LISPer" has been a popular introduction to LISP for many years. It had appeared in French and Japanese. "The Little Schemer" and"The Seasoned Schemer" are worthy successors and will prove equally popular as textbooks for Scheme courses as well as companion texts for any complete introductory course in Computer Science. Download DrScheme - a graphical environment for developing Scheme programs

The Reasoned Schemer

Author: Daniel P. Friedman
Publisher: MIT Press
ISBN: 0262348780
Format: PDF
Download Now
The goal of this book is to show the beauty and elegance of relational programming, which captures the essence of logic programming. The book shows how to implement a relational programming language in Scheme, or in any other functional language, and demonstrates the remarkable flexibility of the resulting relational programs. As in the first edition, the pedagogical method is a series of questions and answers, which proceed with the characteristic humor that marked The Little Schemer and The Seasoned Schemer. Familiarity with a functional language or with the first five chapters of The Little Schemer is assumed. For this second edition, the authors have greatly simplified the programming language used in the book, as well as the implementation of the language. In addition to revising the text extensively, and simplifying and revising the "Laws" and "Commandments," they have added explicit "Translation" rules to ease translation of Scheme functions into relations.

Essentials of Programming Languages

Author: Daniel P. Friedman
Publisher: MIT Press
ISBN: 0262304090
Format: PDF, Docs
Download Now
This book provides students with a deep, working understanding of the essential concepts of programming languages. Most of these essentials relate to the semantics, or meaning, of program elements, and the text uses interpreters (short programs that directly analyze an abstract representation of the program text) to express the semantics of many essential language elements in a way that is both clear and executable. The approach is both analytical and hands-on. The book provides views of programming languages using widely varying levels of abstraction, maintaining a clear connection between the high-level and low-level views. Exercises are a vital part of the text and are scattered throughout; the text explains the key concepts, and the exercises explore alternative designs and other issues. The complete Scheme code for all the interpreters and analyzers in the book can be found online through The MIT Press web site. For this new edition, each chapter has been revised and many new exercises have been added. Significant additions have been made to the text, including completely new chapters on modules and continuation-passing style. Essentials of Programming Languages can be used for both graduate and undergraduate courses, and for continuing education courses for programmers.

Scheme and the Art of Programming

Author: George Springer
Publisher: Mit Press
ISBN: 9780262691369
Format: PDF, Mobi
Download Now
Scheme is the fast track to getting started in programming. Its clear semantics, simple syntax, and interactive environment enable the beginning student to write sophisticated programs after just two brief chapters. As a first introduction to programming, it is an ideal vehicle for learning to reason correctly about computation. Starting from a few fundamental concepts and principles - procedural and syntactic abstractions, recursion, iteration, state, and control - Springer and Friedman develop the ideas and techniques of programming. They include both traditional topics such as numeric and symbolic computation, and also cover current issues such as streams, object-oriented programming and continuations for abstracting control. The presentation is designed for the introductory college student It is more sophisticated and complete than The Little LISPer, but not as advanced as Structure and Interpretation of Computer Programs. Springer and Freidman provide a solid introduction to data abstraction by presenting topics such as list strings, vectors, matrices, sets, relations, and functions. Among the examples used to illustrate object oriented programming are stacks, queues, circular lists, hash tables, and a gas station simulation. George Springer is Professor of Mathematics and Computer Science and Daniel P. Friedman is Professor of Computer Science. Both are at Indiana University, one of the centers for research and development of Scheme.

A Little Java a Few Patterns

Author: Matthias Felleisen
Publisher: MIT Press
ISBN: 9780262561150
Format: PDF, Mobi
Download Now
foreword by Ralph E. Johnson and drawings by Duane Bibby 'This is a book of 'why' not 'how.' If you are interested in the nature of computation and curious about the very idea behind object orientation, this book is for you. This book will engage your brain (if not your tummy). Through its sparkling interactive style, you will learn about three essential OO concepts: interfaces, visitors, and factories. A refreshing change from the 'yet another Java book' phenomenon. Every serious Java programmer should own a copy.' -- Gary McGraw, Ph.D., Research Scientist at Reliable Software Technologies and coauthor of Java Security Java is a new object-oriented programming language that was developed by Sun Microsystems for programming the Internet and intelligent appliances. In a very short time it has become one of the most widely used programming languages for education as well as commercial applications. Design patterns, which have moved object-oriented programming to a new level, provide programmers with a language to communicate with others about their designs. As a result, programs become more readable, more reusable, and more easily extensible. In this book, Matthias Felleisen and Daniel Friedman use a small subset of Java to introduce pattern-directed program design. With their usual clarity and flair, they gently guide readers through the fundamentals of object-oriented programming and pattern-based design. Readers new to programming, as well as those with some background, will enjoy their learning experience as they work their way through Felleisen and Friedman's dialogue. src='/graphics/yellowball.gif' href='/books/FELTP/Java-fm.html'Foreword and Preface

The Little Prover

Author: Daniel P. Friedman
Publisher: MIT Press
ISBN: 0262527952
Format: PDF, ePub
Download Now
An introduction to writing proofs about computer programs, written in an accessible question-and-answer style, complete with step-by-step examples and a simple proof assistant.

The Little MLer

Author: Matthias Felleisen
Publisher: MIT Press
ISBN: 9780262561143
Format: PDF, ePub
Download Now
with a foreword by Robin Milnerand drawings by Duane Bibby Over the past few years, ML has emerged as one of the most important members of the family of programming languages. Many professors in the United States and other countries use ML to teach courses on the principles of programming and on programming languages. In addition, ML has emerged as a natural language for software engineering courses because it provides the most sophisticated and expressive module system currently available.Felleisen and Friedman are well known for gently introducing readers to difficult ideas. The Little MLer is an introduction to thinking about programming and the ML programming language. The authors introduce those new to programming, as well as those experienced in other programming languages, to the principles of types, computation, and program construction. Most important, they help the reader to think recursively with types about programs.

Simply Scheme

Author: Brian Harvey
Publisher: MIT Press
ISBN: 9780262082815
Format: PDF, Mobi
Download Now
This lively introduction to computer science and computer programming in Scheme is for non-computer science majors with a strong interest in the subject and for computer science majors who lack prior programming experience. The text allows the student to experience the computer as a tool for expressing ideas, not as a frustrating set of mathematical obstacles. This goal is supported by the use of Scheme, a modern dialect of Lisp, designed to emphasize symbolic programming.

Realm of Racket

Author: Matthias Felleisen
Publisher: No Starch Press
ISBN: 1593274920
Format: PDF, ePub
Download Now
Racket is a descendant of Lisp, a programming language renowned for its elegance, power, and challenging learning curve. But while Racket retains the functional goodness of Lisp, it was designed with beginning programmers in mind. Realm of Racket is your introduction to the Racket language. In Realm of Racket, you'll learn to program by creating increasingly complex games. Your journey begins with the Guess My Number game and coverage of some basic Racket etiquette. Next you'll dig into syntax and semantics, lists, structures, and conditionals, and learn to work with recursion and the GUI as you build the Robot Snake game. After that it's on to lambda and mutant structs (and an Orc Battle), and fancy loops and the Dice of Doom. Finally, you'll explore laziness, AI, distributed games, and the Hungry Henry game. As you progress through the games, chapter checkpoints and challenges help reinforce what you've learned. Offbeat comics keep things fun along the way. As you travel through the Racket realm, you'll: –Master the quirks of Racket's syntax and semantics –Learn to write concise and elegant functional programs –Create a graphical user interface using the 2htdp/image library –Create a server to handle true multiplayer games Realm of Racket is a lighthearted guide to some serious programming. Read it to see why Racketeers have so much fun!