zookeeper 客户端工具:Erlang Programming Wikibook
来源:百度文库 编辑:中财网 时间:2024/05/03 05:46:25
Erlang Programming
Erlang is a general purpose, concurrency-oriented functional programming language suited for fault-tolerant, distributed, soft real-time systems. It features strong dynamic typing, lightweight concurrency, eager evaluation and prolog like pattern matching. Erlang was developed in the 1980s at the Ericsson Computer Science Laboratory to address a then-unfulfilled need for telecommunications programming: a high-level, expressive language suitable for rapid development that offered the error recovery, concurrency, distribution and performance features required by telecommunications equipment.
Although its roots are in telecommunications, Erlang's unique features and extensive library make it suitable as a general-purpose programming language and well-suited to programming projects such as network servers, control systems and web development.
The Erlang language, together with an extensive library of applications and modules, a virtual machine and operating system, and a set of design principles establishing standard behaviors, comprise Erlang/OTP (OTP stands for Open Telecommunications Platform). Erlang/OTP is distributed as free software (under the Erlang Public License) as well as a commercially supported version from Ericsson. Both distributions run on Microsoft Windows, VxWorks by Wind River, and many varieties of Unix.
Introduction
- History
- Overview
- Getting Started
- Quick Tips
Basic Erlang
- Terms
- Pattern Matching
- Expressions
- Functions
- Guards
- Modules
- Errors
- Processes and Messages
- Timeouts
- Macros
- Techniques of Recursion
- List Comprehensions
- Comments
Basic OTP
- Kernel and Stdlib
- Distribution
- Behaviors
- Design Principles
- Network Programming
- Testing
- Documentation
Intermediate Erlang
- Records
- Additional Types
- Function Objects
- Bitsyntax
Object Programming with Erlang
- Example1
Popular Modules
- Using lists
- Using regular expressions
Software Engineering
- Debugging and Tracing
- Performance and Optimization
- Unit Testing with eunit
Advanced OTP
- Database Programming
- Using ets
- Using mnesia
- Using External Databases
Thinking in Parallel
- Autonomous Agents
- Parallel Programming with linda
Advanced Erlang
- Making Parsers with yecc
- Evaluation
- Parse Transformation
Appendixes
- Creating Web Applications with yaws
- The document database CouchDB
- Using Erlang with Emacs
- Erlang Resources