Clojure for the brave and true : learn the ultimate language and become a better programmer /

"For weeks, months? -- nay! -- from the very moment you were born, you've felt it calling to you. At long last you'll be united with the programming language you've been longing for: Clojure! As a Lisp-style functional programming language, Clojure lets you write robust and elega...

Full description

Saved in:
Bibliographic Details
Main Author: Higginbotham, Daniel (Author)
Format: Electronic eBook
Language:English
Published: San Francisco, CA : No Starch Press, [2015]
Subjects:
Online Access:CONNECT
Table of Contents:
  • About the Author ; About the Technical Reviewer ; Brief Contents ; Contents in Detail ; Foreword; Acknowledgments; Introduction; Learning a New Programming Language: A Journey Through the Four Labyrinths; How This Book Is Organized; Part I: Environment Setup; Part II: Language Fundamentals; Part III: Advanced Topics; The Code; The Journey Begins!; Part I: Environment Setup; Chapter 1: Building, Running, and the REPL; First Things First: What Is Clojure?; Leiningen; Creating a New Clojure Project; Running the Clojure Project; Building the Clojure Project; Using the REPL; Clojure Editors.
  • Chapter 3: Do Things: A Clojure Crash CourseSyntax; Forms; Control Flow; Naming Values with def; Data Structures; Numbers; Strings; Maps; Keywords; Vectors; Lists; Sets; Simplicity; Functions; Calling Functions; Function Calls, Macro Calls, and Special Forms; Defining Functions; Anonymous Functions; Returning Functions; Pulling It All Together; The Shire's Next Top Model; let; loop; Regular Expressions; Symmetrizer; Better Symmetrizer with reduce; Hobbit Violence; Summary; Exercises; Chapter 4: Core Functions in Depth; Programming to Abstractions.
  • Treating Lists, Vectors, Sets, and Maps as Sequencesfirst, rest, and cons; Abstraction Through Indirection; Seq Function Examples; map; reduce; take, drop, take-while, and drop-while; filter and some; sort and sort-by; concat; Lazy Seqs; Demonstrating Lazy Seq Efficiency; Infinite Sequences ; The Collection Abstraction; into; conj; Function Functions; apply; partial; complement; A Vampire Data Analysis Program for the FWPD; Summary; Exercises; Chapter 5: Functional Programming; Pure Functions: What and Why; Pure Functions Are Referentially Transparent; Pure Functions Have No Side Effects.
  • Living with Immutable Data StructuresRecursion Instead of for/while; Function Composition Instead of Attribute Mutation; Cool Things to Do with Pure Functions; comp; memoize; Peg Thing; Playing; Code Organization; Creating the Board; Moving Pegs; Rendering and Printing the Board; Player Interaction; Summary; Exercises; Chapter 6: Organizing Your Project: A Librarian's Tale; Your Project as a Library; Storing Objects with def; Creating and Switching to Namespaces; refer; alias; Real Project Organization; The Relationship Between File Paths and Namespace Names; Requiring and Using Namespaces.