By David Thomas

You need to discover practical programming, yet are cast off through the tutorial think (tell me approximately monads only one extra time). you recognize you would like concurrent functions, but in addition comprehend those are nearly most unlikely to get correct. Meet Elixir, a practical, concurrent language equipped at the rock-solid Erlang VM. Elixir’s pragmatic syntax and integrated aid for metaprogramming will make you effective and hold you for the lengthy haul. This publication is the creation to Elixir for skilled programmers.

Maybe you would like anything that’s toward Ruby, yet with a battle-proven atmosphere that’s unequalled for enormous scalability, concurrency, distribution, and fault tolerance. possibly the time is correct for the subsequent mammoth factor. possibly it’s Elixir.

Show description

Read Online or Download Programming Elixir PDF

Best software development books

Instant Chef Starter

Familiarize yourself with a brand new expertise, comprehend what it truly is and what it could actually do for you, after which get to paintings with crucial positive aspects and initiatives. this can be a functional Starter consultant which is helping you achieve the abilities had to examine Chef. This ebook is geared toward builders and process directors who're searching for how you can higher deal with complicated infrastructures in a constant style.

Grundkurs Microsoft Dynamics AX: Die Business-Lösung von Microsoft in Version AX 2009

Praktiker, IT-Verantwortliche und Berater erhalten eine konkrete und leicht verständliche Anleitung zur Arbeit in Microsoft Dynamics AX 2009. Dieses von Microsoft als Premium-Lösung für den Mittelstand positionierte ERP-System ist für alle Unternehmen interessant, die ein leistungsfähiges process suchen, das dennoch einfach zu bedienen ist.

Official (Isc)2 Guide to the Issmp Cbk

The qualified details structures defense Professional-Information structures protection administration specialist (CISSP-ISSMP®) certification used to be constructed for CISSPs who're looking to extra their careers and validate their services in info structures protection administration. applicants for the ISSMP have to exhibit a radical realizing of the 5 domain names of the ISSMP universal physique of information (CBK®), in addition to the power to use this in-depth wisdom to set up, current, and govern details safety courses, whereas demonstrating administration and management abilities.

Magento Search Engine Optimization

Magento is a feature-rich, expert, open resource e-commerce software that provides retailers entire flexibility and regulate over the glance, content material, and performance in their on-line shop. you've the main appealing Magento shop on the web with the main aggressive costs, yet with no viewers, you are going to fight to make major revenues.

Additional info for Programming Elixir

Example text

Here I show the delimiters for regular-expression literals as { and }, but they are considerably more flexible. You can choose any nonalphanumeric characters as delimiters, as described in the discussion of sigils on page 108. Some people use ~r/…/ for nostalgic reasons, but this is less convenient than the bracketed forms, as any forward slashes inside the pattern must be escaped. Elixir regular expression support is provided by PCRE,1 which basically provides a Perl 5–compatible syntax for patterns.

For this, you use guard clauses. These are predicates that are attached to a function definition using one or more when keywords. When doing pattern matching, Elixir first does the conventional parameter-based match and then evaluates any when predicates, executing the function only if at least one predicate is true. what_is([1,2,3]) # => 99 is a number # => cat is an atom # => [1,2,3] is a list Recall our previous factorial example on page 46. exs defmodule Factorial do def of(0), do: 1 def of(n), do: n * of(n-1) end If we were to pass it a negative number, it would loop forever—no matter how many times you decrement n, it will never be zero.

Now, you could obviously bind a new value to your variable, but that doesn’t change the fact that the value 99 is still 99. Imagine programming in a world where you couldn’t rely on that—where some other code, possibly running in parallel with your own, could change the value of 99. In that world, the call to do_something_with might kick off code that runs in the background, passing it the value 99 as an argument. And that could change the contents of the parameter it receives. Suddenly, 99 could be 100.

Download PDF sample

Rated 4.05 of 5 – based on 26 votes