Epstein Files Full PDF

CLICK HERE
Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
Flag Counter
  1. World Encyclopedia
  2. Elixir (programming language) - Wikipedia
Elixir (programming language) - Wikipedia
From Wikipedia, the free encyclopedia
Programming language running on the Erlang virtual machine
icon
This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources.
Find sources: "Elixir" programming language – news · newspapers · books · scholar · JSTOR
(June 2023) (Learn how and when to remove this message)

Elixir
elixir programming language
Elixir
Paradigmsmulti-paradigm: functional, concurrent, distributed, process-oriented
Designed byJosé Valim
First appeared25 May 2012; 13 years ago (2012-05-25)[1][2][3]
Stable release
1.19.5[4] Edit this on Wikidata / 9 January 2026; 51 days ago (9 January 2026)
Typing disciplinedynamic, strong
PlatformErlang
LicenseApache License 2.0[5]
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.[6] 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.[7]

The community organizes yearly events in the United States,[8] Europe,[9] and Japan,[10] as well as minor local events and conferences.[11][12]

History

[edit]

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.[13][14]

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.[15]

In 2021, the Numerical Elixir effort was announced with the goal of bringing machine learning, neural networks, GPU compilation, data processing, and computational notebooks to the Elixir ecosystem.[16]

Features

[edit]
  • Compiles to bytecode for the BEAM virtual machine of Erlang.[7] Full interoperability with Erlang code, without runtime impact.
  • Scalability and fault-tolerance, thanks to Erlang's lightweight concurrency mechanisms[7]
  • Built-in tooling for managing dependencies, code compilation, running tests, formatting code, remote debugging and more.
  • An interactive REPL inside running programs, including Phoenix web servers, with code reloading and access to internal state
  • Everything is an expression[7]
  • Pattern matching[7] to promote assertive code[17]
  • Type hints for static analysis tools
  • Immutable data, with an emphasis, like other functional languages, on recursion and higher-order functions instead of side-effect-based looping
  • Shared nothing concurrent programming via message passing (actor model)[18]
  • Lazy and async collections with streams
  • Railway-oriented programming via the with construct[19]
  • Hygienic metaprogramming by direct access to the abstract syntax tree (AST).[7] Libraries often implement small domain-specific languages, such as for databases or testing.
  • Code execution at compile time. The Elixir compiler also runs on the BEAM, so modules that are being compiled can immediately run code which has already been compiled.
  • Polymorphism via a mechanism called protocols. Dynamic dispatch, as in Clojure, however, without multiple dispatch because Elixir protocols dispatch on a single type.
  • Support for documentation via Python-like docstrings in the Markdown formatting language[7]
  • Unicode support and UTF-8 strings

Examples

[edit]

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> %{values: 1..5} |> Map.get(:values) |> Enum.map(& &1 * 2) |> 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

[edit]
  • Free and open-source software portal
  • Concurrent computing
  • Distributed computing
  • Parallel computing

References

[edit]
  1. ^ Valim, José (25 May 2012). "Elixir v0.5.0 released". elixir-lang. Retrieved 22 January 2026.
  2. ^ "Elixir's Evolution: History and Ecosystem". Software Patterns Lexicon. 23 November 2024. Archived from the original on 22 January 2026. Retrieved 22 January 2026.
  3. ^ Woo, Jiahao (15 January 2024). "The Story of Elixir". OSS History. Archived from the original on 15 January 2024. Retrieved 22 January 2026.
  4. ^ "Release 1.19.5". 9 January 2026. Retrieved 21 January 2026.
  5. ^ "elixir/LICENSE at master · elixir-lang/elixir · GitHub". GitHub.
  6. ^ "Most Popular Programming Languages of 2018 - Elite Infoworld Blog". 30 March 2018. Archived from the original on 9 May 2018. Retrieved 8 May 2018.
  7. ^ a b c d e f g "Elixir". elixir-lang. Retrieved 17 February 2013.
  8. ^ "ElixirConf". Retrieved 11 July 2018.
  9. ^ "ElixirConf". Retrieved 11 July 2018.
  10. ^ "Erlang & Elixir Fest". Archived from the original on 30 March 2019. Retrieved 18 February 2019.
  11. ^ "Elixir LDN". Archived from the original on 12 July 2018. Retrieved 12 July 2018.
  12. ^ "EMPEX - Empire State Elixir Conference". Retrieved 12 July 2018.
  13. ^ Elixir - A modern approach to programming for the Erlang VM. Retrieved 17 February 2013.
  14. ^ José Valim - ElixirConf EU 2017 Keynote. Archived from the original on 17 November 2021. Retrieved 14 July 2017.
  15. ^ "Behinde the code: The One Who Created Elixir". Retrieved 25 November 2019.
  16. ^ "Numerical Elixir (Nx)". GitHub. Retrieved 6 May 2024.
  17. ^ "Writing assertive code with Elixir". 24 September 2014. Retrieved 5 July 2018.
  18. ^ 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)
  19. ^ 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

[edit]
  • Simon St. Laurent; J. Eisenberg (22 December 2016). Introducing Elixir: Getting Started in Functional Programming 2nd Edition. O'Reilly Media. ISBN 978-1491956779.
  • Sasa Juric (12 January 2019). Elixir in Action 2nd Edition. Manning Publications. ISBN 978-1617295027.
  • v
  • t
  • e
Programming languages
  • Comparison
  • Timeline
  • History
  • Ada
  • ALGOL
    • Simula
  • APL
  • Assembly
  • BASIC
    • Visual Basic
      • classic
      • .NET
  • C
  • C++
  • C#
  • COBOL
  • Erlang
    • Elixir
  • Forth
  • Fortran
  • Go
  • Haskell
  • Java
  • JavaScript
  • Julia
  • Kotlin
  • Lisp
  • Lua
  • MATLAB
  • ML
    • Caml
      • OCaml
    • Standard ML
  • Pascal
    • Object Pascal
  • Perl
    • Raku
  • PHP
  • Prolog
  • Python
  • R
  • Ruby
  • Rust
  • SAS
  • SQL
  • Scratch
  • Shell
  • Smalltalk
  • Swift
  • more...
  • Lists: Alphabetical
  • Categorical
  • Generational
  • Non-English-based
  • Category
Authority control databases Edit this at Wikidata
National
  • United States
  • Czech Republic
  • Israel
Other
  • Yale LUX
Retrieved from "https://teknopedia.ac.id/w/index.php?title=Elixir_(programming_language)&oldid=1336115666"
Categories:
  • Concurrent programming languages
  • Functional languages
  • Pattern matching programming languages
  • Programming languages
  • Programming languages created in 2012
  • Software using the Apache license
  • Brazilian inventions
Hidden categories:
  • CS1 maint: location
  • Articles with short description
  • Short description is different from Wikidata
  • Articles lacking reliable references from June 2023
  • All articles lacking reliable references
  • Use dmy dates from January 2026
  • All articles with unsourced statements
  • Articles with unsourced statements from June 2023

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id