Introduction to Elixir
About Inaka
-
Founded in 2010.
-
Acquired by Erlang Solutions in 2014.
-
End-to-end applications with Erlang, Ruby, Web, iOS and Android components.
-
Highly concurrent application servers such as Whisper and TigerText.
-
Active contributors to the open-source community.
What is Elixir?
Functional Language for the Erlang VM
Ruby-like syntax
Erlang-like semantics (seamless interop)
Clojure-like philosophy
iex
Interactive Elixir
mix
-
Create new project
-
Compile
-
Run tests
-
Manage Deps
-
& More
Building Blocks
-
Data Types
-
Pattern Matching
-
Modules & Functions
-
Processes
Data Types
-
Integer & Float
-
String, Binary & Char list
-
Atom (& alias)
-
Boolean
-
Tuple (Immutable)
-
List (Immutable)
-
Map (Immutable)
-
Anonymous Function
Building Blocks
Pattern Matching
Building Blocks
=
Building Blocks
Modules & Functions
defmodule Greeter do
def talk(name) do
IO.puts(greeting name)
end
defp greeting(name) do
"Hello #{name}"
end
end
Building Blocks
Processes
-
spawn[1, 3]
-
send & receive
-
Link & Monitor
-
Task
Standard Library
-
Kernel
-
IO
-
Enum
-
String
Elixir's "Specials"
-
Pipe Operator
-
Structs
-
Protocols
-
Macros
What's left?
-
Exceptions
-
List Comprehensions
-
Behaviors
-
OTP
-
GenServer
-
GenEvent
-
Application & Supervisor
-
-
ETS
-
& More
Thank you!
Intro to Elixir
By Juan Facorro
Intro to Elixir
- 832