Slide 1

Slide 1 text

HELLO SEND(AUDIENCE, {:GREETING, “HELLO!”})

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

–interested programmer “I'd love to check out Elixir but I don't really have a problem that is big enough that Elixir is well suited for.”

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

MASSIVELY CONCURRENT DISTRIBUTED FAULT TOLERANT WEB SCALE FUNCTIONAL

Slide 7

Slide 7 text

PIPES |> PATTERN MATCHING |> MESSAGE PASSING |> IMMUTABILITY |> => {:OK, “ ☺”} ELIXIR OFFERS A DIFFERENT WAY TO THINK ABOUT AND SOLVE PROBLEMS OF ANY SIZE. !

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

WRITING COMMANDLINE APPS WITH ELIXIR

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

MIX

Slide 13

Slide 13 text

DEPENDENCIES Hex package Git/SCM Path Dependency tasks mix deps: “lists all deps and their status” mix deps.get “Get non installed dependencies” mix deps.compile mix deps.update mix deps.clean “Remove all dependency files” mix deps.unlock “Unlock dependencies”

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

UMBRELLA PROJECTS • Run tasks across apps • Run all your tests for apps in app_path • Run Applications in dependent order…

Slide 16

Slide 16 text

MIX TASKS

Slide 17

Slide 17 text

RUNNING OUR APPS MIX ESCRIPT.BUILD

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

BASIC IO

Slide 22

Slide 22 text

TESTING IO

Slide 23

Slide 23 text

IO.ANSI • escape_fragment(string, emit \\ terminal()) • “%{clear, home, green, bright} Welcome” • IO.red() IO.green() etc… • home() send the cursor home

Slide 24

Slide 24 text

FILES AND PATHS • File.open • File.close • File.read • binread/write utf8 and IO module • File.read vs File.read! • Path.join and Path.expand • Path.wildcard

Slide 25

Slide 25 text

PORT

Slide 26

Slide 26 text

BASIC USAGE

Slide 27

Slide 27 text

DEMO

Slide 28

Slide 28 text

SCALING UP COMMAND LINE APPS WITH TASKS & AGENTS

Slide 29

Slide 29 text

TASKS

Slide 30

Slide 30 text

AGENTS a simple abstraction around state

Slide 31

Slide 31 text

DEMO DEMO

Slide 32

Slide 32 text

THANK YOU