Find solutions to problems and answers to questions you are likely to encounter when writing real-world applications in Common Lisp. This book covers areas as diverse as web programming, databases, graphical user interfaces, integration with other programming languages, multi-threading, and mobile devices as well as debugging techniques and optimization, to name just a few. Written by an author who has used Common Lisp in many successful commercial projects over more than a decade, Common Lisp Recipes is also the first Common Lisp book to tackle such advanced topics as environment access, logical pathnames, Gray streams, delivery of executables, pretty printing, setf expansions, or changing the syntax of Common Lisp. The book is organized around specific problems or questions each followed by ready-to-use example solutions and clear explanations of the concepts involved, plus pointers to alternatives and more information. Each recipe can be read independently of the others and thus the book will earn a special place on your bookshelf as a reference work you always want to have within reach. Common Lisp Recipes is aimed at programmers who are already familiar with Common Lisp to a certain extent but do not yet have the experience you typically only get from years of hacking in a specific computer language. It is written in a style that mixes hands-on no-frills pragmatism with precise information and prudent mentorship. If you feel attracted to Common Lisp's mix of breathtaking features and down-to-earth utilitarianism, you'll also like this book.
* Treats LISP as a language for commercial applications, not a language for academic AI concerns. This could be considered to be a secondary text for the Lisp course that most schools teach . This would appeal to students who sat through a LISP course in college without quite getting it – so a "nostalgia" approach, as in "wow-lisp can be practical..." * Discusses the Lisp programming model and environment. Contains an introduction to the language and gives a thorough overview of all of Common Lisp’s main features. * Designed for experienced programmers no matter what languages they may be coming from and written for a modern audience—programmers who are familiar with languages like Java, Python, and Perl. * Includes several examples of working code that actually does something useful like Web programming and database access.
Author: Timothy D. Koschmann
Publisher: John Wiley & Sons Inc
Release Date: 1990
A self-contained, intermediate-level introduction to the structure and syntax of Common Lisp, this text is the first based on the draft ANSI standard for Common Lisp. Presents the concepts of object-oriented programming and incorporates the Common Lisp Object-Oriented Systems (CLOS) of the new ANSI standard. Includes end-of-section exercises. The end-of-chapter problems are answered at the back of the book.
Author: Gregor Kiczales
Publisher: MIT Press
Release Date: 1991
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.
Author: Christian Queinnec
Publisher: Cambridge University Press
Release Date: 2003-12-04
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.
Author: Peter Norvig
Publisher: Morgan Kaufmann
Release Date: 2014-06-28
Paradigms of AI Programming is the first text to teach advanced Common Lisp techniques in the context of building major AI systems. By reconstructing authentic, complex AI programs using state-of-the-art Common Lisp, the book teaches students and professionals how to build and debug robust practical programs, while demonstrating superior programming style and important AI concepts. The author strongly emphasizes the practical performance issues involved in writing real working programs of significant size. Chapters on troubleshooting and efficiency are included, along with a discussion of the fundamentals of object-oriented programming and a description of the main CLOS functions. This volume is an excellent text for a course on AI programming, a useful supplement for general AI courses and an indispensable reference for the professional programmer.
Author: W. Richard Stark
Publisher: Springer Science & Business Media
Release Date: 2012-12-06
Here is a presentation of LISP which is both practical and theoretical. For the practical, the syntax of the language, the programming styles, and the semantics of computation are carefully developed. For the theoretical, the algebra of interpreters, the lambda calculus as a foundation for LISP, and the algebraic significance of LISP's approach to artificial intelligence are discussed. As the title suggests, the book reaches beyond the technical side of LISP to present colorful applications, historical comments and quotations, computational philosophy, consequences of LISP's exceptional power, and much more. The material has been designed to appeal to a variety of readers, from the bright freshman to the practicing professional, and from computer scientists and mathematicians to chemists, engineers, and philosophers.
Provides information on the core concepts of Lisp progamming, covering such topics as recursion, input/output, object-oriented programming, and macros, and offers instructions on creating complete Lisp-based games, including a text adventure, an evolution simulation, and a robot battle.
Author: John Robert Anderson
Publisher: Addison-Wesley Longman
Release Date: 1987
A clear introduction to LISP, its functions and applications to artificial intelligence. Readers learning LISP on their PCs to researchers and programmers in industry and the military will find this book well suited to a self-study environment.
Author: Ira J. Kalet, PhD
Publisher: Academic Press
Release Date: 2013-09-26
This second edition of a pioneering technical work in biomedical informatics provides a very readable treatment of the deep computational ideas at the foundation of the field. Principles of Biomedical Informatics, 2nd Edition is radically reorganized to make it especially useable as a textbook for courses that move beyond the standard introductory material. It includes exercises at the end of each chapter, ideas for student projects, and a number of new topics, such as: • tree structured data, interval trees, and time-oriented medical data and their use • On Line Application Processing (OLAP), an old database idea that is only recently coming of age and finding surprising importance in biomedical informatics • a discussion of nursing knowledge and an example of encoding nursing advice in a rule-based system • X-ray physics and algorithms for cross-sectional medical image reconstruction, recognizing that this area was one of the most central to the origin of biomedical computing • an introduction to Markov processes, and • an outline of the elements of a hospital IT security program, focusing on fundamental ideas rather than specifics of system vulnerabilities or specific technologies. It is simultaneously a unified description of the core research concept areas of biomedical data and knowledge representation, biomedical information access, biomedical decision-making, and information and technology use in biomedical contexts, and a pre-eminent teaching reference for the growing number of healthcare and computing professionals embracing computation in health-related fields. As in the first edition, it includes many worked example programs in Common LISP, the most powerful and accessible modern language for advanced biomedical concept representation and manipulation. The text also includes humor, history, and anecdotal material to balance the mathematically and computationally intensive development in many of the topic areas. The emphasis, as in the first edition, is on ideas and methods that are likely to be of lasting value, not just the popular topics of the day. Ira Kalet is Professor Emeritus of Radiation Oncology, and of Biomedical Informatics and Medical Education, at the University of Washington. Until retiring in 2011 he was also an Adjunct Professor in Computer Science and Engineering, and Biological Structure. From 2005 to 2010 he served as IT Security Director for the University of Washington School of Medicine and its major teaching hospitals. He has been a member of the American Medical Informatics Association since 1990, and an elected Fellow of the American College of Medical Informatics since 2011. His research interests include simulation systems for design of radiation treatment for cancer, software development methodology, and artificial intelligence applications to medicine, particularly expert systems, ontologies and modeling. Develops principles and methods for representing biomedical data, using information in context and in decision making, and accessing information to assist the medical community in using data to its full potential Provides a series of principles for expressing biomedical data and ideas in a computable form to integrate biological, clinical, and public health applications Includes a discussion of user interfaces, interactive graphics, and knowledge resources and reference material on programming languages to provide medical informatics programmers with the technical tools to develop systems
Author: Rodney Allen Brooks
Publisher: John Wiley & Sons Inc
Release Date: 1985-08-28
An easy-to-read text that introduces sophomores, juniors and seniors to programming in modern LISP. Presents fundamentals and debugging techniques, stressing good programming style. Treats the language from the perspective of modern structured developments in Common LISP. Takes beginners to a level where they know LISP well enough to program state-of-the art artificial intelligence applications. Includes numerous quick exercises and end-of-chapter problem sets that give students practice in writing and debugging LISP programs. Points out features that may be non-standard in other popular LISP implementations.
Save time and trouble when using Scala to build object-oriented, functional, and concurrent applications. With more than 250 ready-to-use recipes and 700 code examples, this comprehensive cookbook covers the most common problems you’ll encounter when using the Scala language, libraries, and tools. It’s ideal not only for experienced Scala developers, but also for programmers learning to use this JVM language. Author Alvin Alexander (creator of DevDaily.com) provides solutions based on his experience using Scala for highly scalable, component-based applications that support concurrency and distribution. Packed with real-world scenarios, this book provides recipes for: Strings, numeric types, and control structures Classes, methods, objects, traits, and packaging Functional programming in a variety of situations Collections covering Scala's wealth of classes and methods Concurrency, using the Akka Actors library Using the Scala REPL and the Simple Build Tool (SBT) Web services on both the client and server sides Interacting with SQL and NoSQL databases Best practices in Scala development
Author: Michael Genesereth
Publisher: Morgan & Claypool Publishers
Release Date: 2014-03-01
General game players are computer systems able to play strategy games based solely on formal game descriptions supplied at "runtime" (n other words, they don't know the rules until the game starts). Unlike specialized game players, such as Deep Blue, general game players cannot rely on algorithms designed in advance for specific games; they must discover such algorithms themselves. General game playing expertise depends on intelligence on the part of the game player and not just intelligence of the programmer of the game player. GGP is an interesting application in its own right. It is intellectually engaging and more than a little fun. But it is much more than that. It provides a theoretical framework for modeling discrete dynamic systems and defining rationality in a way that takes into account problem representation and complexities like incompleteness of information and resource bounds. It has practical applications in areas where these features are important, e.g., in business and law. More fundamentally, it raises questions about the nature of intelligence and serves as a laboratory in which to evaluate competing approaches to artificial intelligence. This book is an elementary introduction to General Game Playing (GGP). (1) It presents the theory of General Game Playing and leading GGP technologies. (2) It shows how to create GGP programs capable of competing against other programs and humans. (3) It offers a glimpse of some of the real-world applications of General Game Playing. Table of Contents: Preface / Introduction / Game Description / Game Management / Game Playing / Small Single-Player Games / Small Multiple-Player Games / Heuristic Search / Probabilistic Search / Propositional Nets / General Game Playing With Propnets / Factoring / Discovery of Heuristics / Logic / Analyzing Games with Logic / Solving Single-Player Games with Logic / Discovering Heuristics with Logic / Games with Incomplete Information / Games with Historical Constraints / Incomplete Game Descriptions / Advanced General Game Playing / Authors' Biographies