To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

Elixir (programming language)

From Wikipedia, the free encyclopedia

Elixir
elixir programming language
Elixir
Paradigmsmulti-paradigm: functional, concurrent, distributed, process-oriented
Designed byJosé Valim
First appeared2012; 12 years ago (2012)
Stable release
1.16.2[1] Edit this on Wikidata / 10 March 2024; 14 days ago (10 March 2024)
Typing disciplinedynamic, strong, duck
PlatformErlang
LicenseApache License 2.0[2]
Filename extensions.ex, .exs
Websiteelixir-lang.org
Influenced by
Clojure, Erlang, Ruby
Influenced
Gleam, LFE

Elixir is a functional, concurrent, high-level general-purpose programming language that runs on the BEAM virtual machine, which is also used to implement the Erlang programming language.[3] Elixir builds on top of Erlang and shares the same abstractions for building distributed, fault-tolerant applications. Elixir also provides tooling and an extensible design. The latter is supported by compile-time metaprogramming with macros and polymorphism via protocols.[4]

The community organizes yearly events in the United States,[5] Europe,[6] and Japan,[7] as well as minor local events and conferences.[8][9]

YouTube Encyclopedic

  • 1/5
    Views:
    79 065
    16 606
    2 751
    207 138
    49 010
  • Functional Programming with Elixir – Full Course
  • Why is EVERYONE Learning Elixir
  • Learn Elixir Quickly: Part 1 - Coin Flip
  • Elixir Tutorial
  • Elixir & Phoenix Fundamentals Full Course For Beginners

Transcription

History

José Valim created the Elixir programming language as a research and development project at Plataformatec. His goals were to enable higher extensibility and productivity in the Erlang VM while maintaining compatibility with Erlang's ecosystem.[10][11]

Elixir is aimed at large-scale sites and apps. It uses features of Ruby, Erlang, and Clojure to develop a high-concurrency and low-latency language. It was designed to handle large data volumes. Elixir is also used in telecommunications, e-commerce, and finance.[12]

On July 12, 2018, Honeypot released a mini-documentary on Elixir.[13]

Versioning

Each of the minor versions supports a specific range of Erlang/OTP versions.[14] The current stable release version is 1.16.2[1] Edit this on Wikidata.

Features

Examples

The following examples can be run in an iex shell or saved in a file and run from the command line by typing elixir <filename>.

Classic Hello world example:

iex> IO.puts("Hello World!")
Hello World!

Pipe operator:

iex> "Elixir" |> String.graphemes() |> Enum.frequencies()
%{"E" => 1, "i" => 2, "l" => 1, "r" => 1, "x" => 1}

iex> %{values: 1..5} |> Map.get(:values) |> Enum.map(& &1 * 2)
[2, 4, 6, 8, 10]

iex> |> Enum.sum()
30

Pattern matching (a.k.a. destructuring):

iex> %{left: x} = %{left: 5, right: 8}
iex> x
5

iex> {:ok, [_ | rest]} = {:ok, [1, 2, 3]}
iex> rest
[2, 3]

Pattern matching with multiple clauses:

iex> case File.read("path/to/file") do
iex>   {:ok, contents} -> IO.puts("found file: #{contents}")
iex>   {:error, reason} -> IO.puts("missing file: #{reason}")
iex> end

List comprehension:

iex> for n <- 1..5, rem(n, 2) == 1, do: n*n
[1, 9, 25]

Asynchronously reading files with streams:

1..5
|> Task.async_stream(&File.read!("#{&1}.txt"))
|> Stream.filter(fn {:ok, contents} -> String.trim(contents) != "" end)
|> Enum.join("\n")

Multiple function bodies with guards:

def fib(n) when n in [0, 1], do: n
def fib(n), do: fib(n-2) + fib(n-1)

Relational databases with the Ecto library:

schema "weather" do
  field :city     # Defaults to type :string
  field :temp_lo, :integer
  field :temp_hi, :integer
  field :prcp,    :float, default: 0.0
end

Weather |> where(city: "Kraków") |> order_by(:temp_lo) |> limit(10) |> Repo.all

Sequentially spawning a thousand processes:

for num <- 1..1000, do: spawn fn -> IO.puts("#{num * 2}") end

Asynchronously performing a task:

task = Task.async fn -> perform_complex_action() end
other_time_consuming_action()
Task.await task

[citation needed]

See also

References

  1. ^ a b "Release 1.16.2". 10 March 2024. Retrieved 22 March 2024.
  2. ^ "elixir/LICENSE at master · elixir-lang/elixir · GitHub". GitHub.
  3. ^ "Most Popular Programming Languages of 2018 - Elite Infoworld Blog". 2018-03-30. Archived from the original on 2018-05-09. Retrieved 2018-05-08.
  4. ^ "Elixir". José Valim. Retrieved 2013-02-17.
  5. ^ "ElixirConf". Retrieved 2018-07-11.
  6. ^ "ElixirConf". Retrieved 2018-07-11.
  7. ^ "Erlang & Elixir Fest". Retrieved 2019-02-18.
  8. ^ "Elixir LDN". Retrieved 2018-07-12.
  9. ^ "EMPEX - Empire State Elixir Conference". Retrieved 2018-07-12.
  10. ^ Elixir - A modern approach to programming for the Erlang VM. Retrieved 2013-02-17.
  11. ^ José Valim - ElixirConf EU 2017 Keynote. Archived from the original on 2021-11-17. Retrieved 2017-07-14.
  12. ^ "Behinde the code: The One Who Created Elixir". Retrieved 2019-11-25.
  13. ^ "Elixir: A Mini-Documentary". Retrieved 2021-10-30.
  14. ^ Elixir is a dynamic, functional language designed for building scalable and maintainable applications: elixir-lang/elixir, Elixir, 2019-04-21, retrieved 2019-04-21
  15. ^ a b c d e f "Elixir". Retrieved 2014-09-07.
  16. ^ "Writing assertive code with Elixir". 24 September 2014. Retrieved 2018-07-05.
  17. ^ Loder, Wolfgang (12 May 2015). Erlang and Elixir for Imperative Programmers. "Chapter 16: Code Structuring Concepts", section title "Actor Model": Leanpub. Retrieved 7 July 2015.{{cite book}}: CS1 maint: location (link)
  18. ^ Wlaschin, Scott (May 2013). "Railway Oriented Programming". F# for Fun and Profit. Archived from the original on 30 January 2021. Retrieved 28 February 2021.

Further reading

This page was last edited on 24 March 2024, at 02:50
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.