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...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
San Francisco, CA :
No Starch Press,
[2015]
|
Temas: | |
Acceso en línea: | Texto completo (Requiere registro previo con correo institucional) |
Tabla de Contenidos:
- 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.