Property-Based Testing with PropEr, Erlang, and ElixirProperty-based testing helps you create better, more solid tests with little code. By using the PropEr framework in both Erlang and Elixir, this book teaches you how to automatically generate test cases, test stateful programs, and change how you design your software for more principled and reliable approaches. You will be able to better explore the problem space, validate the assumptions you make when coming up with program behavior, and expose unexpected weaknesses in your design. PropEr will even show you how to reproduce the bugs it found. With this book, you will be writing efficient property-based tests in no time.
Most tests only demonstrate that the code behaves how the developer expected it to behave, and therefore carry the same blind spots as their authors when special conditions or edge cases show up. Learn how to see things differently with property tests written in PropEr.
Start with the basics of property tests, such as writing stateless properties, and usin ...
Designing for Scalability with Erlang/OTPIf you need to build a scalable, fault tolerant system with requirements for high availability, discover why the Erlang/OTP platform stands out for the breadth, depth, and consistency of its features. This hands-on guide demonstrates how to use the Erlang programming language and its OTP framework of reusable libraries, tools, and design principles to develop complex commercial-grade systems that simply cannot fail.
In the first part of the book, you'll learn how to design and implement process behaviors and supervision trees with Erlang/OTP, and bundle them into standalone nodes. The second part addresses reliability, scalability, and high availability in your overall system design. If you're familiar with Erlang this book will help you understand the design choices and trade-offs necessary to keep your system running.
Explore OTP's building blocks: the Erlang language, tools and libraries collection, and its abstract principles and design rules; Dive into t ...
Erlang HandbookErlang is the result of a project at Ericsson's Computer Science Laboratory to improve the programming of telecommunication applications. A critical requirement was supporting the characteristics of such applications, that include: massive concurrency, fault-tolerance, isolation, dynamic code upgrading at runtime, transactions.
Throughout the whole of Erlang's history the development process has been extremely pragmatic. The characteristics and properties of the types of systems in which Ericsson was interested drove Erlang's development.
These properties were considered to be so fundamental that it was decided to build support for them into the language itself, rather than in libraries. Because of the pragmatic development process, rather than a result of prior planning, Erlang "became" a functional language - since the features of functional languages fitted well with the properties of the systems being developed.
The Erlang Handbook is a summary of the ...
Designing for Scalability with Erlang/OTPDesign and build complex, scalable commercial-grade systems with the Open Telecom Platform (OTP), the open source system developed by Ericsson and written in Erlang. With this hands-on book, you'll learn how to apply OTP libraries and techniques to develop concurrent, fault-tolerant systems with no single point of failure.
Written by the authors of O'Reilly's Erlang Programming, including a member of OTP's R1 release team, this guide takes you through the basics of OTP and Erlang Design Patterns, and demonstrates how the platform can be used in a wide range of industries. If you have Erlang experience, you'll learn how to overcome key obstacles in OTP that have thwarted many other developers. ...
Introducing ErlangIf you're new to Erlang its functional style can seem difficult, but with help from this hands-on introduction, you'll scale the learning curve and discover how enjoyable, powerful, and fun this language can be.
Author Simon St. Laurent shows you how to write simple Erlang programs by teaching you one basic skill at a time. You'll learn about pattern matching, recursion, message passing, process-oriented programming, and establishing pathways for data rather than telling it where to go. By the end of your journey, you'll understand why Erlang is ideal for concurrency and resilience. ...
Etudes for ErlangIn this book, you will find descriptions of programs that you can write in Erlang. The programs will usually be short, and each one has been designed to provide practice material for a particular Erlang programming concept. These programs have not been designed to be of considerable difficulty, though they may ask you to stretch a bit beyond the immediate material and examples that you find in the book Introducing Erlang. ...
Programming Erlang, 2nd EditionA multi-user game, web site, cloud application, or networked database can have thousands of users all interacting at the same time. You need a powerful, industrial-strength tool to handle the really hard problems inherent in parallel, concurrent environments. You need Erlang. In this second edition of the bestselling Programming Erlang you'll learn how to write parallel programs that scale effortlessly on multicore systems.
Using Erlang you'll be surprised at how easy it becomes to deal with parallel problems, and how much faster and more efficiently your programs run. That's because Erlang uses sets of parallel processes-not a single sequential process, as found in most programming languages. ...
Building Web Applications with ErlangWhy choose Erlang for web applications? Discover the answer hands-on by building a simple web service with this book. If you're an experienced web developer who knows basic Erlang you'll learn how to work with REST, dynamic content, web sockets, and concurrency through several examples. In the process, you'll see first-hand that Erlang is ideal for building business-critical services.
Erlang was designed for fault-tolerant, non-stop telecom systems, and building applications with it requires a large set of skills. By the end of the book, you'll have the information you need to build a basic web service and get it running. ...
Erlang and OTP in ActionErlang is an adaptable and fault tolerant functional programming language originally designed for the unique demands of the telecom industry. With Erlang/OTP's interpreter, compiler, database server, and libraries, developers are finding they can satisfy tough uptime and performance requirements in all kinds of other industries.
Erlang and OTP in Action teaches you the concepts of concurrent programming and the use of Erlang's message-passing model. It walks you through progressively more interesting examples, building systems in Erlang and integrating them with C/C++, Java, and .NET applications, including SOA and web architectures. This book is written for readers new to Erlang and interested in creating practical applications. ...
Erlang ProgrammingThis 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 this guide you'll learn how to write complex concurrent programs in Erlang regardless of your programming background or experience.
Written by leaders of the international Erlang community - and based on their training material - Erlang Programming focuses on the language's syntax and semantics, and explains pattern matching, proper lists, recursion, debugging, networking, and concurrency. ...
Programming ErlangLearn how to write truly concurrent programs-programs that run on dozens or even hundreds of local and remote processors. See how to write high reliability applications even in the face of network and hardware failure using the Erlang programming language. ...