Update from the Elixir Core Team - 2017

Update from the Elixir Core Team - 2017

Faafc04d9e69b73b9f49995fd4c94d4d?s=128

Andrea Leopardi

June 09, 2017
Tweet

Transcript

  1. Update from the Elixir team elixir-lang.org

  2. Elixir v1.0 Sep 2014 > 180 contributors

  3. Elixir v1.4 Jan 2017 > 520 contributors

  4. Release every 6 months v1.5 → mid 2017 v1.6 →

    beg 2018 ... → ...
  5. IMPROVEMENTS IN v1.5

  6. UTF-8 atoms :""

  7. Contributed back to OTP

  8. test "こんにちは世界" do assert :こんにちは世界 end

  9. josé = "wat" josé #=> "wat" UTF-8 VARIABLES http://erlang.org/pipermail/erlang-questions/2012-October/069820.html

  10. Exception.blame/3

  11. None
  12. None
  13. None
  14. GenStage + Flow

  15. A B C stages of computation with backpressure GenStage

  16. parallel computations on collections Flow File.stream!("path/to/some/file") |> Flow.from_enumerable() |> Flow.flat_map(&String.split(&1,

    " ")) |> Flow.partition() |> Flow.reduce(fn -> %{} end, fn word, acc -> Map.update(acc, word, 1, &(&1 + 1)) end) |> Enum.to_list()
  17. None
  18. http://bit.ly/genstage

  19. Many small improvements CHANGELOG.md

  20. FUTURE

  21. Deprecate tuple calls

  22. {List, []}.first() List.first({List, []})

  23. Dynamic supervisor

  24. simple_one_for_one confusing/mixed API documentation

  25. simple_one_for_one confusing/mixed API documentation DynamicSupervisor

  26. RESEARCH PROJECTS

  27. Data streams + Property testing

  28. test "starts_with?/2" do assert for s1 <- Data.string(), s2 <-

    Data.string() do String.starts_with?(s1 <> s2, s1) end end
  29. Google Summer of Code

  30. ExFormat def foo ( a, b ) do a+ b

    end def foo(a, b) do a + b end
  31. Language Server Protocol http://langserver.org

  32. GenHTTP Functional, flexible HTTP client

  33. github.com/elixir-lang/elixir

  34. elixir-lang.org