Practical Common Lisp

Last updated

Practical Common Lisp is an introductory book on the programming language Common Lisp by Peter Seibel. [1] It features a fairly complete introduction to the language interspersed with practical example chapters, which show developing various pieces of software [2] [3] such as a unit testing framework, a library for parsing ID3 tags, a spam filter, and a SHOUTcast server. [4]

Contents

At the Jolt Product Excellence and Productivity Awards in 2006, it won a Productivity Award in the technical book category. [5]

The full text is available online. [6] In a 2006 Google TechTalk, Seibel presented the book's main points in the context of linguistic relativity (the Sapir–Whorf hypothesis). [7]

See also

Related Research Articles

<span class="mw-page-title-main">Common Lisp</span> Programming language standard

Common Lisp (CL) is a dialect of the Lisp programming language, published in American National Standards Institute (ANSI) standard document ANSI INCITS 226-1994 (S2018). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived from the ANSI Common Lisp standard.

In computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarative programming paradigm in which function definitions are trees of expressions that map values to other values, rather than a sequence of imperative statements which update the running state of the program.

<span class="mw-page-title-main">Lisp (programming language)</span> Programming language family

Lisp is a family of programming languages with a long history and a distinctive, fully parenthesized prefix notation. Originally specified in the late 1950s, it is the second-oldest high-level programming language still in common use, after Fortran. Lisp has changed since its early days, and many dialects have existed over its history. Today, the best-known general-purpose Lisp dialects are Common Lisp, Scheme, Racket, and Clojure.

<span class="mw-page-title-main">Martin Fowler (software engineer)</span> American software developer, author and public speaker

Martin Fowler is a British software developer, author and international public speaker on software development, specialising in object-oriented analysis and design, UML, patterns, and agile software development methodologies, including extreme programming.

<span class="mw-page-title-main">Ruby (programming language)</span> General-purpose programming language

Ruby is an interpreted, high-level, general-purpose programming language. It was designed with an emphasis on programming productivity and simplicity. In Ruby, everything is an object, including primitive data types. It was developed in the mid-1990s by Yukihiro "Matz" Matsumoto in Japan.

Slashdot is a social news website that originally billed itself as "News for Nerds. Stuff that Matters". It features news stories on science, technology, and politics that are submitted and evaluated by site users and editors. Each story has a comments section where users can add online comments.

Jamie Werner Zawinski, commonly known as jwz, is an American computer programmer, blogger and impresario. He is best known for his role in the creation of Netscape Navigator, Netscape Mail, Lucid Emacs, Mozilla.org, and XScreenSaver. He is also the proprietor of DNA Lounge, a nightclub and live music venue in San Francisco.

<i>Design Patterns</i> 1994 software engineering book

Design Patterns: Elements of Reusable Object-Oriented Software (1994) is a software engineering book describing software design patterns. The book was written by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, with a foreword by Grady Booch. The book is divided into two parts, with the first two chapters exploring the capabilities and pitfalls of object-oriented programming, and the remaining chapters describing 23 classic software design patterns. The book includes examples in C++ and Smalltalk.

<span class="mw-page-title-main">Paul Graham (programmer)</span> English programmer, venture capitalist, and essayist

Paul Graham is an English-American computer scientist, writer, entrepreneur and investor. His work has included the programming language Lisp, the startup Viaweb, co-founding the startup accelerator and seed capital firm Y Combinator, his essays, and Hacker News.

<span class="mw-page-title-main">Guy L. Steele Jr.</span> American computer scientist (born 1954)

Guy Lewis Steele Jr. is an American computer scientist who has played an important role in designing and documenting several computer programming languages and technical standards.

<span class="mw-page-title-main">Common Lisp Interface Manager</span>

The Common Lisp Interface Manager (CLIM) is a Common Lisp-based programming interface for creating user interfaces, i.e., graphical user interfaces (GUIs). It provides an application programming interface (API) to user interface facilities for the programming language Lisp. It is a fully object-oriented programming user interface management system, using the Common Lisp Object System (CLOS) and is based on the mechanism of stream input and output. There are also facilities for output device independence. It is descended from the GUI system Dynamic Windows of Symbolics' Lisp machines between 1988 and 1993.

... you can check out Common Lisp Interface Manager (CLIM). A descendant of the Symbolics Lisp machines GUI framework, CLIM is powerful but complex. Although many commercial Common Lisp implementations actually support it, it doesn't seem to have seen a lot of use. But in the past couple years, an open-source implementation of CLIM, McCLIM – now hosted at Common-Lisp.net – has been picking up steam lately, so we may be on the verge of a CLIM renaissance. – From Practical Common Lisp

Grails is an open source web application framework that uses the Apache Groovy programming language. It is intended to be a high-productivity framework by following the "coding by convention" paradigm, providing a stand-alone development environment and hiding much of the configuration detail from the developer.

In software development, a leaky abstraction is an abstraction that leaks details that it is supposed to abstract away.

<span class="mw-page-title-main">Multics Emacs</span> Text editor for the Multics operating system

Multics Emacs is an early implementation of the Emacs text editor. It was written in Maclisp by Bernard Greenberg at Honeywell's Cambridge Information Systems Lab in 1978, as a successor to the original 1976 TECO implementation of Emacs and a precursor of later GNU Emacs.

<span class="mw-page-title-main">Joshua Bloch</span> American software engineer

Joshua J. Bloch is an American software engineer and a technology author.

<span class="mw-page-title-main">Clojure</span> Dialect of the Lisp programming language on the Java platform

Clojure is a dynamic and functional dialect of the Lisp programming language on the Java platform.

<span class="mw-page-title-main">GNU Emacs</span> GNU version of the Emacs text editor

GNU Emacs is a free software text editor. It was created by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU project and a flagship project of the free software movement. Its tag line is "the extensible self-documenting text editor."

<span class="mw-page-title-main">Ken Thompson</span> American computer scientist, co-creator of the Unix operating system

Kenneth Lane Thompson is an American pioneer of computer science. Thompson worked at Bell Labs for most of his career where he designed and implemented the original Unix operating system. He also invented the B programming language, the direct predecessor to the C programming language, and was one of the creators and early developers of the Plan 9 operating system. Since 2006, Thompson has worked at Google, where he co-developed the Go programming language.

AllegroGraph is a closed source triplestore which is designed to store RDF triples, a standard format for Linked Data. It also operates as a document store designed for storing, retrieving and managing document-oriented information, in JSON-LD format. AllegroGraph is currently in use in commercial projects and a US Department of Defense project. It is also the storage component for the TwitLogic project that is bringing the Semantic Web to Twitter data.

Pandorabots, Inc. is an artificial intelligence company that runs a web service for building and deploying chatbots. According to its website, as of May 2019, 250,000+ registered developers have accessed the platform to create 300,000+ chatbots, logging over sixty billion conversational interactions with end-usersmonthly. Pandorabots implements and supports development of the AIML open standard and makes portions of its code accessible for free under licenses like the GPL or via open APIs. The Pandorabots Platform is "one of the oldest and largest chatbot hosting services in the world." Clients can create "AI-driven virtual agents" to hold human-like text or voice chats with consumers.

References

  1. Seibel, Peter (2005). Practical Common Lisp. Springer Nature: Apress. ISBN   978-1-59059-239-7.
  2. Buss, Frank (2005-04-28). "Practical Common Lisp". Slashdot. SlashdotMedia. Retrieved 2019-11-26.
  3. H., Ed (2005-11-27). "Thoughts Reading Practical Common Lisp". The Blog That Goes Ping. WordPress. Retrieved 2019-11-26.
  4. Staiger, Josh (2006-02-15). "A short review of Peter Seibel's Practical Common Lisp". Josh Staiger. Retrieved 2019-11-26.
  5. Siivola, Nikodemus; Upham, Derek; Seibel, Peter; Inoka; Mastenbrook, Brian; Reid, Kevin; Ozten; Kaufmann, Roland (2004–2017). "Practical Common Lisp". CLiki. The Common Lisp Foundation. Retrieved 2019-11-26.
  6. Seibel, Peter (2005). Practical Common Lisp. Springer Nature: Apress. ISBN   1590592395.
  7. Peter Seibel (2006-05-10). Practical Common Lisp (Video). Mountain View, California: Google. Archived from the original on 2021-12-14. Retrieved 2019-11-27.