The Art of the Metaobject Protocol
Title | The Art of the Metaobject Protocol PDF eBook |
Author | Gregor Kiczales |
Publisher | MIT Press |
Pages | 352 |
Release | 1991-07-30 |
Genre | Computers |
ISBN | 9780262610742 |
The authors introduce this new approach to programming language design, describe its evolution and design principles, and present a formal specification of a metaobject protocol for CLOS. The CLOS metaobject protocol is an elegant, high-performance extension to the CommonLisp Object System. The authors, who developed the metaobject protocol and who were among the group that developed CLOS, introduce this new approach to programming language design, describe its evolution and design principles, and present a formal specification of a metaobject protocol for CLOS. Kiczales, des Rivières, and Bobrow show that the "art of metaobject protocol design" lies in creating a synthetic combination of object-oriented and reflective techniques that can be applied under existing software engineering considerations to yield a new approach to programming language design that meets a broad set of design criteria. One of the major benefits of including the metaobject protocol in programming languages is that it allows users to adjust the language to better suit their needs. Metaobject protocols also disprove the adage that adding more flexibility to a programming language reduces its performance. In presenting the principles of metaobject protocols, the authors work with actual code for a simplified implementation of CLOS and its metaobject protocol, providing an opportunity for the reader to gain hands-on experience with the design process. They also include a number of exercises that address important concerns and open issues. Gregor Kiczales and Jim des Rivières, are Members of the Research Staff, and Daniel Bobrow is a Research Fellow, in the System Sciences Laboratory at Xerox Palo Alto Research Center.
Open Implementations and Metaobject Protocols
Title | Open Implementations and Metaobject Protocols PDF eBook |
Author | Gregor Kiczales |
Publisher | MIT Press (MA) |
Pages | 375 |
Release | 1994-09-01 |
Genre | |
ISBN | 9780262111928 |
Publication cancelled08/07/98
Object-oriented Programming in Common LISP
Title | Object-oriented Programming in Common LISP PDF eBook |
Author | Sonya E. Keene |
Publisher | Addison-Wesley Professional |
Pages | 298 |
Release | 1989 |
Genre | Computers |
ISBN |
This book is an introduction to the CLOS model of object-oriented programming. CLOS, the Common Lisp Object System, is a newly designed object-oriented programming language that has evolved as a standard from various object-oriented extensions of the basic Lisp language. The language definition of CLOS comprises a set of tools for developing object-oriented programs in Common Lisp. The book serves two purposes: it is a practical guide to CLOS programming and stands as a tutorial teaching object-oriented techniques for software design and development.
Lisp in Small Pieces
Title | Lisp in Small Pieces PDF eBook |
Author | Christian Queinnec |
Publisher | Cambridge University Press |
Pages | 540 |
Release | 2003-12-04 |
Genre | Computers |
ISBN | 1139643282 |
This is a comprehensive account of the semantics and the implementation of the whole Lisp family of languages, namely Lisp, Scheme and related dialects. It describes 11 interpreters and 2 compilers, including very recent techniques of interpretation and compilation. The book is in two parts. The first starts from a simple evaluation function and enriches it with multiple name spaces, continuations and side-effects with commented variants, while at the same time the language used to define these features is reduced to a simple lambda-calculus. Denotational semantics is then naturally introduced. The second part focuses more on implementation techniques and discusses precompilation for fast interpretation: threaded code or bytecode; compilation towards C. Some extensions are also described such as dynamic evaluation, reflection, macros and objects. This will become the new standard reference for people wanting to know more about the Lisp family of languages: how they work, how they are implemented, what their variants are and why such variants exist. The full code is supplied (and also available over the Net). A large bibliography is given as well as a considerable number of exercises. Thus it may also be used by students to accompany second courses on Lisp or Scheme.
Let Over Lambda
Title | Let Over Lambda PDF eBook |
Author | Doug Hoyte |
Publisher | Lulu.com |
Pages | 376 |
Release | 2008 |
Genre | Computers |
ISBN | 9781435712751 |
Let Over Lambda is one of the most hardcore computer programming books out there. Starting with the fundamentals, it describes the most advanced features of the most advanced language: Common Lisp. Only the top percentile of programmers use lisp and if you can understand this book you are in the top percentile of lisp programmers. If you are looking for a dry coding manual that re-hashes common-sense techniques in whatever langue du jour, this book is not for you. This book is about pushing the boundaries of what we know about programming. While this book teaches useful skills that can help solve your programming problems today and now, it has also been designed to be entertaining and inspiring. If you have ever wondered what lisp or even programming itself is really about, this is the book you have been looking for.
Software Design for Flexibility
Title | Software Design for Flexibility PDF eBook |
Author | Chris Hanson |
Publisher | MIT Press |
Pages | 449 |
Release | 2021-03-09 |
Genre | Computers |
ISBN | 0262362473 |
Strategies for building large systems that can be easily adapted for new situations with only minor programming modifications. Time pressures encourage programmers to write code that works well for a narrow purpose, with no room to grow. But the best systems are evolvable; they can be adapted for new situations by adding code, rather than changing the existing code. The authors describe techniques they have found effective--over their combined 100-plus years of programming experience--that will help programmers avoid programming themselves into corners. The authors explore ways to enhance flexibility by: Organizing systems using combinators to compose mix-and-match parts, ranging from small functions to whole arithmetics, with standardized interfaces Augmenting data with independent annotation layers, such as units of measurement or provenance Combining independent pieces of partial information using unification or propagation Separating control structure from problem domain with domain models, rule systems and pattern matching, propagation, and dependency-directed backtracking Extending the programming language, using dynamically extensible evaluators
Successful Lisp: How to Understand and Use Common Lisp
Title | Successful Lisp: How to Understand and Use Common Lisp PDF eBook |
Author | David B. Lamkins |
Publisher | |
Pages | 360 |
Release | 2005 |
Genre | Lisp (Computer program language) |
ISBN | 9783937526003 |