Skip to content
Eric Meadows-Jönsson edited this page Aug 25, 2013 · 38 revisions

1. What are the main problem domains Elixir is suitable for?

In short: data processing, network related tasks (from plain sockets to web servers and frameworks), writing reliable, distributed, and highly available software.

2. Can Elixir be used to write programs that rely heavily on fast numerical computations?

Elixir will most likely show worse performance compared to a compiled imperative language when performing a strictly sequential (CPU) or uniformly parallel (GPU) computation. However, there are lots of use-cases where Erlang's concurrency features (that Elixir takes full advantage of) might be put to good use in mathematical computation contexts.

Here are a few resources on the subject that describe technical computing in Erlang (applies to Elixir as well).

  • From Telecom Networks to Neural Networks; Erlang, as the unintentional Neural Network Programming Language [video]
  • High-performance Technical Computing with Erlang [slides]
  • When does Erlang's parallelism overcome its weaknesses in numeric computing? [stackoverflow.com]
  • Go, F# and Erlang -- implementation of matrix multiplication and prime number test in each of the three languages [paper]

3. brew install erlang-r16 fails on 2013 Macbook Air or Mavericks?

Install erlang from a precompiled bottle using brew install https://gist.github.com/AlexanderEkdahl/6126022/raw/erlang.rb

4. "How do I start a shell (IEx) with my project and all its dependencies loaded and started?

iex -S mix inside your project's directory.

Clone this wiki locally