Cargando…

Learn you some Erlang for great good! : a beginner's guide /

Erlang is a functional programming language used by high paying companies such as Facebook and Amazon. Erlang is growing in popularity because it uniquely allows programmers to manage and modify running code live, thereby avoiding costly downtime. Erlang is also one of the few languages designed for...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Hébert, Fred, 1988-
Formato: Electrónico eBook
Idioma:Inglés
Publicado: San Francisco : No Starch Press, 2013.
Temas:
Acceso en línea:Texto completo
Texto completo
Tabla de Contenidos:
  • About the Author; Foreword; Preface; To the Foreigner; To the Erlang Regular; To the Person Who Has Read This Online; Acknowledgments; Introduction; So What's Erlang?; Don't Drink Too Much Kool-Aid; What You Need to Dive In; Where to Get Help; 1: Starting Out; Using the Erlang Shell; Entering Shell Commands; Exiting the Shell; Some Erlang Basics; Numbers; Invariable Variables; Atoms; Boolean Algebra and Comparison Operators; Tuples; Lists; List Comprehensions; Working with Binary Data; Bit Syntax; Bitwise Binary Operations; Binary Strings; Binary Comprehensions; 2: Modules; What Are Modules?
  • Creating ModulesCompiling Code; Compiler Options; Defining Macros; More About Modules; Metadata; Circular Dependencies; 3: Syntax in Functions; Pattern Matching; Fancier Patterns; Variables in a Bind; Guards, Guards!; What the If?!; In case ... of; Which Should We Use?; 4: Types (or Lack Thereof); Dynamite-Strong Typing; Type Conversions; To Guard a Data Type; For Type Junkies; 5: Hello Recursion!; How Recursion Works; Length of a List; Length of a Tail Recursion; More Recursive Functions; A Duplicate Function; A Reverse Function; A Sublist Function; A Zip Function; Quick, Sort!
  • More Than ListsThinking Recursively; 6: Higher-Order Functions; Let's Get Functional; Anonymous Functions; More Anonymous Function Power; Function Scope and Closures; Maps, Filters, Folds, and More; Filters; Fold Everything; More Abstractions; 7: Errors and Exceptions; A Compilation of Errors; Compile-Time Errors; No, YOUR Logic Is Wrong!; Runtime Errors; Raising Exceptions; Error Exceptions; Exit Exceptions; Throw Exceptions; Dealing with Exceptions; Handling Different Types of Exceptions; After the Catch; Trying Multiple Expressions; Wait, There's More!; Try a try in a Tree.
  • 8: Functionally Solving ProblemsReverse Polish Notation Calculator; How RPN Calculators Work; Creating an RPN Calculator; Testing the Code; Heathrow to London; Solving the Problem Recursively; Writing the Code; Running the Program Without the Erlang Shell; 9: A Short Visit to Common Data Structures; Records; Defining Records; Reading Values from Records; Updating Records; Sharing Records; Key/Value Stores; Stores for Small Amounts of Data; Larger Dictionaries: Dicts and GB Trees; A Set of Sets; Directed Graphs; Queues; End of the Short Visit; 10: The Hitchhiker's Guide to Concurrency.
  • Don't PanicConcurrency Concepts; Scalability; Fault Tolerance; Concurrency Implementation; Not Entirely Unlike Linear Scaling; So Long and Thanks for All the Fish!; Spawning Processes; Sending Messages; Receiving Messages; 11: More on Multiprocessing; State Your State; We Love Messages, But We Keep Them Secret; Time Out; Selective Receives; The Pitfalls of Selective Receives; More Mailbox Pitfalls; 12: Errors and Processes; Links; It's a Trap!; Old Exceptions, New Concepts; Monitors; Naming Processes; 13: Designing a Concurrent Application; Understanding the Problem; Defining the Protocol.