Several years ago, the O'Reilly planned to release book on Common Lisp under title "Lisp Outside the Box", and several chapters were available on project's site , but this project was abandoned. There are enough books about Scheme programming language. These books could be used as references, and also as addition to "Structure and Interpretation of Computer Programs" and "How to Design Programs", where Scheme is used for examples:.
In the spring of th, the Realm of Racket book was released. It's similar to "Land of Lisp" book they have the same author , and provide information in similar manner.
Huge interest to Prolog in the th, lead to publishing a huge amount of books. Here is only small part of available literature, that I think could be interesting for reader:.
Functional Programming: Concepts, Advantages, Disadvantages, and Applications
There is also a number of freely available resources that have some relation to Prolog and logic programming:. The Scala language became relatively popular, and already used in many companies, such as, Twitter, LinkedIn, etc. Many books were already published for this language I need to mention, that books published before th, can be incompatible with current versions of the language :. In contrast to other implementation, Clojure is separate language, not compatible neither with Common Lisp, nor with Scheme. This allowed to implement many interesting things, like immutable data, implicit parallel execution of code, very simple model of concurrent programming, software transactional memory, etc.
The first book on this language was released by Pragmatic Programmers in under title Programming Clojure. This book provided pretty good introduction to language, describing all basic features for version 1. But you still need to use site of the language as a reference for functions, and other things. The 2nd edition of this book was released in th, and it was updated to include information about version 1. The second book on Clojure was released in as Practical Clojure.
The Definitive Guide — it contains succinct description of language, including new functionality from version 1. But this book lacks description of infrastructure-related things, like IDE, build tools, etc.
Thinking the Clojure Way. First books is an introduction to language, where basics of language is described together with many practical examples.
- See a Problem??
- Rainbows Fill Our World (Celebrated Through Poetry).
- Just Mountain Photos! Photographs & Pictures of Mountains, Vol. 1!
- ISBN 13: 9780521576819!
- I Take This Woman (Thailand Thrillers Book 1).
- Who we are.
- What is functional programming?.
While the second book, is for people, who already has some Clojure experience and who want to get more information about "Clojure programming style". More detailed review of this book you can find in my blog. And the 2nd edition of "The Joy of Clojure" is currently in development. O'Reilly also published book on Clojure — the Clojure Programming was written by well-known Clojure developers. This book provides very good description of Clojure, different libraries, shows how to use this language in practice, and also contains many advice on how to write idiomatic Clojure code.
The Developer. Press also released small book called Clojure Made Simple that describes the basics of language — data types, core functions, etc. But this book almost completely lacks description of concurrent programming stuff. The Packt Publishing also published a book on Clojure: the Clojure Data Analysis Cookbook describes how Clojure could be used for data analysis, including use of Incanter project. The ClojureScript language, that is developed in parallel with Clojure, allows you to write web applications that are executed in browser.
The O'Reilly released a small book ClojureScript: Up and Running that describes basics of development with ClojureScript, including information about existing libraries. O'Reilly also plans to publish one more book on Clojure - Clojure Cookbook , and everybody can submit recipes that will be included into this book. In this section I tried to put only that books, that I can recommend to read to study specific languages.
For Scala you can select between several books. If you want to start to use it immediately, then you can choose Scala for the Impatient. But if you want to get more deep knowledge of this language, then the best choice is Programming in Scala: A Comprehensive Step-by-step Guide. And after them you can continue with Scala in Depth and other books. To learn Clojure, the most actual books are Clojure Programming more detailed and 2nd edition of Programming Clojure — the both will provide you enough information about language, together with examples. And after them, I would recommend you to read The Joy of Clojure.
Advanced iOS Summer Bundle
Temporarily Out of Stock Online Please check back later for updated availability. Overview A programming course should concentrate on a program's logical structure and design rather than on simply writing code. The functional approach to programming achieves this aim because logical concepts are evident and programs are transparent, and so can be written quickly and cleanly.
In this book, the authors emphasize the notions of function and relate programming to familiar concepts from mathematics and logic. They introduce functional programming via examples but also explain what programs compute and how to reason about them. They show how the ideas can be implemented in the Caml language, a dialect of the ML family, and give examples of how complex programs from a variety of areas such as arithmetic, tree algorithms, graph algorithms, text parsing and geometry can be developed in close agreement with their specifications.
Many exercises and examples are included throughout the book; solutions are also available. An appendix gives all the code used in the book in Standard ML. Product Details Table of Contents. Table of Contents Introduction; Part I.
The Î» Abroad - A Functional Approach to Software Components - Microsoft Research
Basic Principles: 1. Expressions; 2. Data structures; 3.