Erlang programming
This book is an in-depth introduction to Erlang, a programming language ideal for any situation where concurrency, fault tolerance, and fast response is essential. Erlang is gaining widespread adoption with the advent of multi-core processors and their new scalable approach to concurrency. With thi...
Autor principal: | |
---|---|
Otros Autores: | |
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Sebastopol, California :
O'Reilly
2009.
|
Edición: | First edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009627413506719 |
Tabla de Contenidos:
- Table of Contents; Foreword; Preface; Francesco: Why Erlang?; Simon: Why Erlang?; Who Should Read This Book?; How to Read This Book; Conventions Used in This Book; Using Code Examples; Safari® Books Online; How to Contact Us; Acknowledgments; Chapter 1. Introduction; Why Should I Use Erlang?; The History of Erlang; Erlang's Characteristics; High-Level Constructs; Concurrent Processes and Message Passing; Scalable, Safe, and Efficient Concurrency; Soft Real-Time Properties; Robustness; Distributed Computation; Integration and Openness; Erlang and Multicore; Case Studies; The AXD301 ATM Switch
- CouchDBComparing Erlang to C++; How Should I Use Erlang?; Chapter 2. Basic Erlang; Integers; The Erlang Shell; Floats; Mathematical Operators; Atoms; Booleans; Tuples; Lists; Characters and Strings; Atoms and Strings; Building and Processing Lists; List Functions and Operations; Term Comparison; Variables; Complex Data Structures; Pattern Matching; Functions; Modules; Compilation and the Erlang Virtual Machine; Module Directives; Exercises; Exercise 2-1: The Shell; A. Erlang expressions; B. Assigning through pattern matching; C. Recursive list definitions
- D. Flow of execution through pattern matchingE. Extracting values in composite data types through pattern matching; Exercise 2-2: Modules and Functions; Exercise 2-3: Simple Pattern Matching; Chapter 3. Sequential Erlang; Conditional Evaluations; The case Construct; Variable Scope; The if Construct; Guards; Built-in Functions; Object Access and Examination; Type Conversion; Process Dictionary; Meta Programming; Process, Port, Distribution, and System Information; Input and Output; Recursion; Tail-Recursive Functions; Tail-Call Recursion Optimization; Two accumulators example
- Iterations Versus Recursive FunctionsRuntime Errors; Handling Errors; Using try ... catch; Using catch; Library Modules; Documentation; Useful Modules; The Debugger; Exercises; Exercise 3-1: Evaluating Expressions; Exercise 3-2: Creating Lists; Exercise 3-3: Side Effects; Exercise 3-4: Database Handling Using Lists; Exercise 3-5: Manipulating Lists; Exercise 3-6: Sorting Lists; Exercise 3-7: Using Library Modules; Exercise 3-8: Evaluating and Compiling Expressions; Exercise 3-9: Indexing; Exercise 3-10: Text Processing; Chapter 4. Concurrent Programming; Creating Processes; Message Passing
- Receiving MessagesSelective and Nonselective Receives; An Echo Example; Registered Processes; Timeouts; Benchmarking; Process Skeletons; Tail Recursion and Memory Leaks; A Case Study on Concurrency-Oriented Programming; Race Conditions, Deadlocks, and Process Starvation; The Process Manager; Exercises; Exercise 4-1: An Echo Server; Exercise 4-2: The Process Ring; Chapter 5. Process Design Patterns; Client/Server Models; A Client/Server Example; A Process Pattern Example; Finite State Machines; An FSM Example; A Mutex Semaphore; Event Managers and Handlers; A Generic Event Manager Example
- Event Handlers