PL相关

Dzming Li

Dzming Li @dzming_li

7 本书  

zsbd

Essentials of Programming Languages, 3rd Edition [图书] 豆瓣 Goodreads
作者: Daniel P. Friedman / Mitchell Wand The MIT Press 2008 - 4
This textbook offers a deep understanding of the essential concepts of programming languages. The approach is analytic and hands-on. The text uses interpreters, written in Scheme, to express the semantics of many essential language elements in a way that is both clear and directly executable. It also examines some important program analyses. Extensive exercises explore many design and implementation alternatives.
Paradigms of Artificial Intelligence Programming [图书] 豆瓣 Goodreads
作者: Peter Norvig Morgan Kaufmann 1991 - 10
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.</p>
Contents
I: Introduction to Common Lisp
1. Introduction to Lisp
2. A Simple Lisp Program
3. Overview of Lisp
II: Early AI Programs
4. GPS: The General Problem Solver
5. ELIZA: Dialog with a Machine
6. Building Software Tools
7. STUDENT: Solving Algebra Word Problems
8. Symbolic Mathematics: A Simplification Program
III: Tools and Techniques
9. Efficiency Issues
10. Low Level Efficiency Issues
11. Logic Programming
12. Compiling Logic Programs
13. Object-Oriented Programming
14. Knowledge Representation and Reasoning
IV: Advanced AI Programs
15. Symbolic Mathematics with Canonical Form
16. Expert Systems
17. Line-Diagram Labeling by Constraint Satisfaction
18. Search and the Game of Othello
19. Introduction to Natural Language
20. Unification Grammars
21. A Grammar of English
V: The Rest of Lisp
22. Scheme: An Uncommon Lisp
23. Compiling Lisp
24. ANSI Common Lisp
25. Troubleshooting
C++语言的设计和演化 [图书] 豆瓣
作者: [Denmark] Bjarne Stroustrup 译者: 裘宗燕 机械工业出版社 2002 - 1
这本书是C++的设计者关于C++语言的最主要著作之一。作者综合性地论述了C++的历史和发展,C++中各种重要机制的本质意义和设计背景,这些机制的基本用途和使用方法,讨论了C++所适合的应用领域及其未来的发展前景。
Crafting Interpreters [图书] Goodreads 豆瓣
作者: Robert Nystrom Genever Benning 2021 - 7
Despite using them every day, most software engineers know little about how programming languages are designed and implemented. For many, their only experience with that corner of computer science was a terrifying "compilers" class that they suffered through in undergrad and tried to blot from their memory as soon as they had scribbled their last NFA to DFA conversion on the final exam.
That fearsome reputation belies a field that is rich with useful techniques and not so difficult as some of its practitioners might have you believe. A better understanding of how programming languages are built will make you a stronger software engineer and teach you concepts and data structures you'll use the rest of your coding days. You might even have fun.
This book teaches you everything you need to know to implement a full-featured, efficient scripting language. You’ll learn both high-level concepts around parsing and semantics and gritty details like bytecode representation and garbage collection. Your brain will light up with new ideas, and your hands will get dirty and calloused.
Starting from main(), you will build a language that features rich syntax, dynamic typing, garbage collection, lexical scope, first-class functions, closures, classes, and inheritance. All packed into a few thousand lines of clean, fast code that you thoroughly understand because you wrote each one yourself.
Optimizing Compilers for Modern Architectures [图书] 豆瓣
作者: Randy Allen / Ken Kennedy Morgan Kaufmann 2001 - 10
Modern computer architectures designed with high-performance microprocessors offer tremendous potential gains in performance over previous designs. Yet their very complexity makes it increasingly difficult to produce efficient code and to realize their full potential. This landmark text from two leaders in the field focuses on the pivotal role that compilers can play in addressing this critical issue.
The basis for all the methods presented in this book is data dependence, a fundamental compiler analysis tool for optimizing programs on high-performance microprocessors and parallel architectures. It enables compiler designers to write compilers that automatically transform simple, sequential programs into forms that can exploit special features of these modern architectures.
The text provides a broad introduction to data dependence, to the many transformation strategies it supports, and to its applications to important optimization problems such as parallelization, compiler memory hierarchy management, and instruction scheduling. The authors demonstrate the importance and wide applicability of dependence-based compiler optimizations and give the compiler writer the basics needed to understand and implement them. They also offer cookbook explanations for transforming applications by hand to computational scientists and engineers who are driven to obtain the best possible performance of their complex applications.
The approaches presented are based on research conducted over the past two decades, emphasizing the strategies implemented in research prototypes at Rice University and in several associated commercial systems. Randy Allen and Ken Kennedy have provided an indispensable resource for researchers, practicing professionals, and graduate students engaged in designing and optimizing compilers for modern computer architectures.
* Offers a guide to the simple, practical algorithms and approaches that are most effective in real-world, high-performance microprocessor and parallel systems.
* Demonstrates each transformation in worked examples.
* Examines how two case study compilers implement the theories and practices described in each chapter.
* Presents the most complete treatment of memory hierarchy issues of any compiler text.
* Illustrates ordering relationships with dependence graphs throughout the book.
* Applies the techniques to a variety of languages, including Fortran 77, C, hardware definition languages, Fortran 90, and High Performance Fortran.
* Provides extensive references to the most sophisticated algorithms known in research.
A Little Java, A Few Patterns [图书] 豆瓣
作者: Matthias Felleisen / Daniel P. Friedman The MIT Press 1997
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.
The Little MLer [图书] 豆瓣
作者: Matthias Felleisen / Daniel P. Friedman The MIT Press 1998 - 2
The book, written in the style of The Little Schemer, introduces instructors, students, and practicioners to type-directed functional programming. It covers basic types, quickly moves into datatypes, and ends with a coverage of functional programming with modules. The book uses a minimal core of SML, which can easily be translated into the various ML dialects (SML/NJ, CAML). Enjoy!
fp ml
创建日期: 2024年5月4日