The Reasoned Schemer


Author: Daniel P. Friedman,William E. Byrd,Oleg Kiselyov,Jason Hemann,Duane Bibby,Guy Lewis Steele,Gerald Jay Sussman,Robert A. Kowalski
Publisher: MIT Press
ISBN: 0262348780
Category: Computers
Page: 208
View: 7996
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.

The Seasoned Schemer


Author: Daniel P. Friedman,Matthias Felleisen
Publisher: MIT Press
ISBN: 9780262561006
Category: Computers
Page: 210
View: 7213
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

Essentials of Programming Languages


Author: Daniel P. Friedman,Mitchell Wand
Publisher: MIT Press
ISBN: 0262304090
Category: Computers
Page: 432
View: 7325
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.

The Little LISPer


Author: Daniel P. Friedman
Publisher: N.A
ISBN: N.A
Category: LISP (Computer program language)
Page: 58
View: 2371
DOWNLOAD NOW »
There are surprises in store for the diligent reader of this masterful introduction to recursion as a fundamental tool for expressing and solving problems. With wit and wisdom, The Little LISPer unfolds some of the most beautiful concepts in mathematics, computer science, and logic. The authors' goal is to show that recursive thinking is first of all fun, that it is powerful, and that the programming language Lisp allows one to express ideas recursively and naturally. There are hard problems along the way, but their solution brings mastery of recursive, functional, and meta-linguistic abstractions, developing skills in the underlying creative programming in Lisp. The Little LISPer is self-contained: an interpreter for the language is developed using the tools of the book itself .

The Little Typer


Author: Daniel P. Friedman,David Thrane Christiansen
Publisher: MIT Press
ISBN: 0262536439
Category: Computers
Page: 424
View: 5854
DOWNLOAD NOW »
An introduction to dependent types, demonstrating the most beautiful aspects, one step at a time. A program's type describes its behavior. Dependent types are a first-class part of a language, and are much more powerful than other kinds of types; using just one language for types and programs allows program descriptions to be as powerful as the programs they describe. The Little Typer explains dependent types, beginning with a very small language that looks very much like Scheme and extending it to cover both programming with dependent types and using dependent types for mathematical reasoning. Readers should be familiar with the basics of a Lisp-like programming language, as presented in the first four chapters of The Little Schemer. The first five chapters of The Little Typer provide the needed tools to understand dependent types; the remaining chapters use these tools to build a bridge between mathematics and programming. Readers will learn that tools they know from programming—pairs, lists, functions, and recursion—can also capture patterns of reasoning. The Little Typer does not attempt to teach either practical programming skills or a fully rigorous approach to types. Instead, it demonstrates the most beautiful aspects as simply as possible, one step at a time.

The Little Prover


Author: Daniel P. Friedman,Carl Eastlund,Duane Bibby,J. Strother Moore,Matthias Felleisen
Publisher: MIT Press
ISBN: 0262527952
Category: Computers
Page: 248
View: 5047
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.

A Little Java, a Few Patterns


Author: Matthias Felleisen,Daniel P. Friedman
Publisher: MIT Press
ISBN: 9780262561150
Category: Computers
Page: 179
View: 2425
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 MLer


Author: Matthias Felleisen,Daniel P. Friedman
Publisher: MIT Press
ISBN: 9780262561143
Category: Computers
Page: 181
View: 3603
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.

Structure and Interpretation of Classical Mechanics


Author: Gerald Jay Sussman,Jack Wisdom
Publisher: MIT Press
ISBN: 0262028964
Category: Science
Page: 584
View: 5343
DOWNLOAD NOW »
The new edition of a classic text that concentrates on developing general methods for studying the behavior of classical systems, with extensive use of computation.

Simply Scheme

Introducing Computer Science
Author: Brian Harvey,Matthew Wright
Publisher: MIT Press
ISBN: 9780262082815
Category: Computers
Page: 579
View: 2899
DOWNLOAD NOW »
Showing off scheme - Functions - Expressions - Defining your own procedures - Words and sentences - True and false - Variables - Higher-order functions - Lambda - Introduction to recursion - The leap of faith - How recursion works - Common patterns in recursive procedures - Advanced recursion - Example : the functions program - Files - Vectors - Example : a spreadsheet program - Implementing the spreadsheet program - What's next?

Functional Differential Geometry


Author: Gerald Jay Sussman,Jack Wisdom,Will Farr
Publisher: MIT Press
ISBN: 0262019345
Category: Mathematics
Page: 228
View: 8092
DOWNLOAD NOW »
Physics is naturally expressed in mathematical language. Students new to the subject must simultaneously learn an idiomatic mathematical language and the content that is expressed in that language. It is as if they were asked to read Les Misérables while struggling with French grammar. This book offers an innovative way to learn the differential geometry needed as a foundation for a deep understanding of general relativity or quantum field theory as taught at the college level. The approach taken by the authors (and used in their classes at MIT for many years) differs from the conventional one in several ways, including an emphasis on the development of the covariant derivative and an avoidance of the use of traditional index notation for tensors in favor of a semantically richer language of vector fields and differential forms. But the biggest single difference is the authors' integration of computer programming into their explanations. By programming a computer to interpret a formula, the student soon learns whether or not a formula is correct. Students are led to improve their program, and as a result improve their understanding.

Semantics Engineering with PLT Redex


Author: Matthias Felleisen,Robert Bruce Findler,Matthew Flatt
Publisher: MIT Press
ISBN: 026225817X
Category: Computers
Page: 520
View: 3832
DOWNLOAD NOW »
This text is the first comprehensive presentation of reduction semantics in one volume; it also introduces the first reliable and easy-to-use tool set for such forms of semantics. Software engineers have long known that automatic tool support is critical for rapid prototyping and modeling, and this book is addressed to the working semantics engineer (graduate student or professional language designer). The book comes with a prototyping tool suite to develop, explore, test, debug, and publish semantic models of programming languages. With PLT Redex, semanticists can formulate models as grammars and reduction models on their computers with the ease of paper and pencil. The text first presents a framework for the formulation of language models, focusing on equational calculi and abstract machines, then introduces PLT Redex, a suite of software tools for expressing these models as PLT Redex models. Finally, experts describe a range of models formulated in Redex. PLT Redex comes with the PLT Scheme implementation, available free at http://www.plt-scheme.org/. Readers can download the software and experiment with Redex as they work their way through the book.

Realm of Racket

Learn to Program, One Game at a Time!
Author: Matthias Felleisen,David Van Horn,Conrad Barski,Northeastern University Students
Publisher: No Starch Press
ISBN: 1593274920
Category: Computers
Page: 320
View: 631
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!

Certified Programming with Dependent Types

A Pragmatic Introduction to the Coq Proof Assistant
Author: Adam Chlipala
Publisher: MIT Press
ISBN: 0262026651
Category: Computers
Page: 424
View: 646
DOWNLOAD NOW »
A handbook to the Coq software for writing and checking mathematical proofs, with a practical engineering focus.

The High Performance Fortran Handbook


Author: Charles H. Koelbel,David B. Loveman,Robert S. Schreiber,Guy Lewis Steele, Jr.,Mary Zosel
Publisher: MIT Press
ISBN: 9780262610940
Category: Computers
Page: 329
View: 7842
DOWNLOAD NOW »
Software -- Programming Languages.

Programming and Meta-Programming in Scheme


Author: Jon Pearce
Publisher: Springer Science & Business Media
ISBN: 1461216826
Category: Computers
Page: 341
View: 8956
DOWNLOAD NOW »
A comprehensive first course in Scheme, covering all of its major features: abstraction, functional programming, data types, recursion, and semantic programming. Although the primary goal is to teach students to program in Scheme, this will be suitable for anyone taking a general programming principles course. Each chapter is divided into three sections: core, appendix , and problems. Most essential topics are covered in the core section, but it is assumed that most students will read the appendices and solve most of the problems - all of which require short Scheme procedures. As well as providing a thorough grounding in Scheme, the author discusses different programming paradigms in depth. An important theme throughout is that of "meta-programming", thus providing an insight into topics such as type-checking and overloading which might otherwise be missed.

The Scheme Programming Language


Author: R. Kent Dybvig
Publisher: MIT Press
ISBN: 0262258161
Category: Computers
Page: 504
View: 9557
DOWNLOAD NOW »
Scheme is a general-purpose programming language, descended from Algol and Lisp, widely used in computing education and research and a broad range of industrial applications. This thoroughly updated edition of The Scheme Programming Language provides an introduction to Scheme and a definitive reference for standard Scheme, presented in a clear and concise manner. Written for professionals and students with some prior programming experience, it begins by leading the programmer gently through the basics of Scheme and continues with an introduction to some of the more advanced features of the language. The fourth edition has been substantially revised and expanded to bring the content up to date with the current Scheme standard, the Revised6 Report on Scheme. All parts of the book were updated and three new chapters were added, covering the language's new library, exception handling, and record-definition features. The book offers three chapters of introductory material with numerous examples, eight chapters of reference material, and one chapter of extended examples and additional exercises. All of the examples can be entered directly from the keyboard into an interactive Scheme session. Answers to many of the exercises, a complete formal syntax of Scheme, and a summary of forms and procedures are provided in appendixes. The Scheme Programming Language is the only book available that serves both as an introductory text in a variety of courses and as an essential reference for Scheme programmers.

Clause and Effect

Prolog Programming for the Working Programmer
Author: William Clocksin
Publisher: Springer Science & Business Media
ISBN: 3642582745
Category: Computers
Page: 143
View: 1844
DOWNLOAD NOW »
This book is for people who have done some programming, either in Prolog or in a language other than Prolog, and who can find their way around a reference manual. The emphasis of this book is on a simplified and disciplined methodology for discerning the mathematical structures related to a problem, and then turning these structures into Prolog programs. This book is therefore not concerned about the particular features of the language nor about Prolog programming skills or techniques in general. A relatively pure subset of Prolog is used, which includes the 'cut', but no input/output, no assert/retract, no syntactic extensions such as if then-else and grammar rules, and hardly any built-in predicates apart from arithmetic operations. I trust that practitioners of Prolog program ming who have a particular interest in the finer details of syntactic style and language features will understand my purposes in not discussing these matters. The presentation, which I believe is novel for a Prolog programming text, is in terms of an outline of basic concepts interleaved with worksheets. The idea is that worksheets are rather like musical exercises. Carefully graduated in scope, each worksheet introduces only a limited number of new ideas, and gives some guidance for practising them. The principles introduced in the worksheets are then applied to extended examples in the form of case studies.

The Grid Book


Author: Hannah Higgins
Publisher: MIT Press
ISBN: 0262512408
Category: Art
Page: 300
View: 6264
DOWNLOAD NOW »
Ten grids that changed the world: the emergence and evolution of the most prominent visual structure in Western culture.