Elixir is a dynamic, functional language designed for building scalable and maintainable applications (by elixir-lang)


Basic elixir repo stats
7 days ago

elixir-lang/elixir is an open source project licensed under Apache License 2.0 which is an OSI approved license.

Elixir Alternatives

Similar projects and alternatives to elixir

  • GitHub repo lunatic

    Lunatic is an Erlang inspired runtime for WebAssembly

  • GitHub repo nx

    Multi-dimensional arrays (tensors) and numerical definitions for Elixir (by elixir-nx)

  • GitHub repo keila

    Open Source Newsletter Tool.

  • GitHub repo bowlarama-elixir

    Bowlarama written in Elixir

  • GitHub repo swift

    The Swift Programming Language

  • GitHub repo phoenix

    Peace of mind from prototype to production

  • GitHub repo Akka

    Build highly concurrent, distributed, and resilient message-driven applications on the JVM

  • GitHub repo stimulus

    A modest JavaScript framework for the HTML you already have

  • GitHub repo solidity

    Solidity, the Contract-Oriented Programming Language

  • GitHub repo otp


  • GitHub repo pwntools

    CTF framework and exploit development library

  • GitHub repo actix

    Actor framework for Rust.

  • GitHub repo Mautic

    Mautic: Open Source Marketing Automation Software.

  • GitHub repo htmx

    </> htmx - high power tools for HTML

  • GitHub repo PMD

    An extensible multilanguage static code analyzer.

  • GitHub repo turbo

    The speed of a single-page web application without having to write any JavaScript

  • GitHub repo morphdom

    Fast and lightweight DOM diffing/patching (no virtual DOM needed)

  • GitHub repo data-migrate

    Migrate and update data alongside your database structure.

  • GitHub repo earmark

    Markdown parser for Elixir

  • GitHub repo html-over-the-wire

    HTML over the wire: List of frameworks which receive HTML snippets from the server.

NOTE: The number of mentions on this list indicates mentions on common posts. Hence, a higher number means a better elixir alternative or higher similarity.


Posts where elixir has been mentioned. We have used some of these posts to build our list of alternatives and similar projects - the last one was on 2021-04-16.
  • Could you please give me feedback on my very first Elixir project?
    reddit.com/r/elixir | 2021-04-16
    Try to use the pipe syntax (before the function and not on the preceding line) and break your functions up into composable ones. (this may be a style thing: you can check out the code in the official libraries such as enum or string to see good examples: https://github.com/elixir-lang/elixir/blob/308255bda81e7f76f9bec838cef033e8e869981b/lib/elixir/lib/string.ex#L1227)
  • I run Livebook (Elixir)
    dev.to | 2021-04-15
    I hope you enjoy Elixir ‼️‼️‼️
  • Top 5 Programming Skills Worth Learning in 2021
    dev.to | 2021-04-10
    You can find more information on Elixir at https://elixir-lang.org/
  • Achieving polymorphism with means other than classic object oriented style
    According the José Valim, Elixir was born in 2011. He had the idea to build the new language due the lack of good tools to solve the concurrency problems in the ruby world. At that time, after spending time studying concurrency and distributed focused languages, he found two languages that he liked, Erlang and Clojure which run in the JVM. He liked everything he saw in the Erlang language (Erlang VM) and he hated the things he didn’t see, like polymorphism, metaprogramming and language extendability attributes which Clojure was good at. So, Elixir was born with that in mind, to have an alternative for Clojure and a dynamic language which runs in the Erlang Virtual Machine with good extendability support.
  • Ask HN: Examples of Beautiful Code Snippets?
    news.ycombinator.com | 2021-04-07
    Elixir defmacro: https://github.com/elixir-lang/elixir/blob/master/lib/elixir/lib/kernel.ex#L3941

    Prepare signal in linux: https://elixir.bootlin.com/linux/latest/source/kernel/signal.c#L900

    Do you have any examples you think are worth appreciating for a moment?

  • Elixir and Phoenix after two years
    news.ycombinator.com | 2021-04-05
    Interesting. Elixir builds are the fastest builds in my CI pipelines. I make sure to cache the builds/ folder, usually only a small amount of files need to be re-compiled, which is very fast. This was actually improved even further in Elixir 1.11 [0]

    [0] https://github.com/elixir-lang/elixir/blob/v1.11/CHANGELOG.m...

  • HTML over-the-wire is the future of Web Development
    dev.to | 2021-04-04
    In his 2018 ElixirConf keynote, Chris McCord, creator of the Phoenix framework for Elixir introduced LiveView, an alternative to the SPA. His presentation captured the same promise and excitement that Rails had in the early days.
  • Real-time monitoring using Phoenix LiveView and PubSub
    dev.to | 2021-04-03
    I enjoy IoT development using Elixir programming language, Nerves IoT platform and Phoenix web framework. It is so much fun. I was able to build a real-time temperature and humidity monitoring system for my living room.
  • Errors as Values: Free Yourself From Unexpected Runtime Exceptions
    dev.to | 2021-04-02
    First used (from my limited knowledge) in the Apollo Guidance Computer, and later popularized by Erlang, rather than avoid crashes with lots of work and still missing them, many developers today are just accepting crashes can happen. In Erlang/Elixir and the Akka framework, it’s common to create a lightweight process that’s sole job is to watch child process. The child process is what runs the actual code. If the child process crashes, the parent just spawns another one. This philosophy has moved from software to hardware in the disposable hardware movement, and now it’s just assumed if the software crashes, you just spawn an entirely new server.
  • What's wrong with capture syntax ?
    reddit.com/r/elixir | 2021-03-26
  • Looking fot Learning Resouces
    reddit.com/r/elixir | 2021-03-22
    The official elixir website is really good and straight forward, but it is a little dry and can be hard for long sittings. https://elixir-lang.org/
  • Recommendation for a developer with a few hundred to spend?
    I've tried using an RPi 2 with a iPad 6 acting as a thin terminal and the experience was alright but you will experience slow downs every now and then. For some context, I was building some Elixir (https://elixir-lang.org/) projects and the performance was quite noticeably slower. This may or may not matter to you, but is something to keep in mind.
  • Deliberate Practice for Programmers - Learn a New Language!
    dev.to | 2021-03-09
    # How do I define basic types? (Integers, Floats, Booleans, Strings, Array) a_int = 1 a_float = 1.0 a_bool = true a_str = "Elixir" a_arr = [1, 2, 3] # How do I concatenate or interpolate strings? ans = "Forty-two" meaning = "The answer to the great question.. Of Life, the Universe and Everything.. Is.. #{ans}." # How do I read from/write to the console? user_name = IO.gets("What's your name? ") # Trailing space to look nicer in console IO.puts("Hello, #{user_name}!") # Note that you get the trailing newline with gets- so you'll likely want to trim x = String.trim(IO.gets("?")) x = IO.gets("?") |> String.trim() # Can also pipe - easier on the eyes? # What are the basic control flow statements? (`if/else`, `foreach`, `switch` etc.) # https://elixir-lang.org/getting-started/case-cond-and-if.html # https://elixir-lang.org/getting-started/recursion.html if true do # ... else # ... end unless true do # ... end for(i = 0; i < sizeof(array); i++) { array[i] = array[i] * 2; } # Enum module also has map and reduce functions # https://elixir-lang.org/getting-started/enumerables-and-streams.html#enumerables Enum.map([1, 2, 3], fn x -> x * 2 end) # [2, 4, 6] IO.puts(Enum.reduce([1, 2, 3], 0, fn x, acc -> acc + x * 2 end)) # 12 beats = case play do "scissors" -> "paper" "paper" -> "rock" "rock" -> "lizard" "lizard" -> "spock" "spock" -> "scissors" "scissors" -> "lizard" "lizard" -> "paper" "paper" -> "spock" "spock" -> "rock" "rock" -> "scissors" end # How do I define functions and methods? # (Elixir is functional, and doesn't have concept of Objects, Classes and Methods) defmodule MyModule def sum(a, b) a + b end end # How do I control the visibility of those functions and methods? defp im_a_private_function # ... end # Can I define anonymous functions? sum = fn (a, b) -> a + b end sum = &(&1 + &b) # Shorthand using & # Note, these need to be called with . x = sum.(2, 3) # -> 5 # How do exceptions work? How do I handle them? # https://elixir-lang.org/getting-started/try-catch-and-rescue.html raise ArgumentError, message: "Argument out of range" try do # ...Code that might raise rescue ArgumentException -> "Caught the ArgumentException" end # Define custom exceptions via a Module with defexception defmodule MyError defexception message: "Default message" end
  • Lunatic - An Erlang inspired runtime for all programming languages
    That's why Elixir was created. BEAM and Erlang/OTP are awesome.
  • What is Calypso?
    dev.to | 2021-03-04
    Calypso is a programming language that uses mostly imperative programming features, but also has some influences from functional programming. It was inspired by Elixir and Rust. I'm writing the compiler and virtual machine in Rust as I'm fairly comfortable with it, and it's arguably a pretty good language to do so.