Elixir - Dynamic, Functional Language designed for building scalable and maintainable application

  •        362

Elixir is a dynamic, functional language designed for building scalable and maintainable applications. Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.

All Elixir code runs inside lightweight threads of execution (called processes) that are isolated and exchange information via messages. Elixir provides supervisors which describe how to restart parts of your system when things go awry, going back to a known initial state that is guaranteed to work.

http://elixir-lang.org/
https://github.com/elixir-lang/elixir

Tags
Implementation
License
Platform

   




Related Projects

ElixirBooks - List of Elixir books

  •    

Official Elixir starting guide that will take you through the language foundations. You will also explore how to build projects with Mix and OTP, and it will introduce you to more advanvced techniques suchs as meta-programming. Adoption is more than programming. Elixir is an exciting new language, but to successfully get your application from start to finish, you’re going to need to know more than just the language. You need the case studies and strategies in this book. Learn the best practices for the whole life of your application, from design and team-building, to managing stakeholders, to deployment and monitoring. Go beyond the syntax and the tools to learn the techniques you need to develop your Elixir application from concept to production.

elixir_express

  •    Elixir

Elixir provides the joy and productivity of Ruby with the concurrency and fault-tolerance of Erlang. Together, we'll take a guided tour through the language, going from the very basics to macros and distributed programming. Along the way, we'll see how Elixir embraces concurrency and how we can construct self-healing programs that restart automatically on failure. Attendees should leave with a great head-start into Elixir, some minor language envy, and a strong desire to continue exploration. Erlang is a functional language with focuses on concurrency and fault tolerance. It first appeared in 1986 as part of Ericsson's quest to build fault tolerant, scalable telecommunication systems. It was open-sourced in 1998 and has gone on to power large portions of the worlds telecom systems, in addition to some of the most popular online services.

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

  •    Elixir

Elixir is a dynamic, functional language designed for building scalable and maintainable applications.For more about Elixir, installation and documentation, check Elixir's website.

elixirschool - Premier destination to learn and master the Elixir programming language

  •    CSS

Elixir School is the premier destination for people looking to learn and master the Elixir programming language. Lessons can now be viewed at ElixirSchool.com.

semaphore - Fast semaphore using ETS.

  •    Elixir

Programming in Erlang and Elixir usually allows for no locking since the VM essentially handles it for you when communicating between processes. However, what about the situation when you have thousands of processes attempting to interact with a single resource such as a process? Usually they will overload the process and explode the message queue. ETS is the Swiss Army knife of the Erlang VM and can be applied to this problem. By using :ets.update_counter and :write_concurrency we can achieve a fast low contention semaphore on ETS. Then just use it like a semaphore in any other language.


learn-elixir - :droplet: Learn the Elixir programming language to build functional, fast, scalable and maintainable web applications!

  •    

Things will go wrong with code, and Elixir provides supervisors which describe how to restart parts of your system when things don't go as planned. Not a video learner? Looking for a specific learning? https://elixirschool.com/ is an excellent, free, open-source resource that explains all things Elixir 📖 ❤️.

elixir-ls - A frontend-independent IDE "smartness" server for Elixir

  •    Elixir

The Elixir Language Server provides a server that runs in the background, providing IDEs, editors, and other tools with information about Elixir Mix projects. It adheres to the Language Server Protocol, a standard for frontend-independent IDE support. Debugger integration is accomplished through the similar VS Code Debug Protocol. You may want to install Elixir and Erlang from source, using the kiex and kerl tools. This will let you go-to-definition for core Elixir and Erlang modules.

elixir-companies - A list of companies currently using Elixir in production.

  •    HTML

A curated list of companies using Elixir in production, organized by industry. Please see CONTRIBUTING for details.

drab - Remote controlled frontend framework for Phoenix.

  •    Elixir

Drab extends Phoenix Framework to "remote control" UI on the browser, live. The idea is to move all User Interface logic to the server-side, to eliminate Javascript and Ajax calls. First at all, you need to have a Phoenix application, on top of which you will install Drab. If this is a standard app, generated with mix phx.new, you may use Drab Installer to make it running in one, simple step. Otherwise, see Manual Installation section below.

mock - Mocking library for Elixir language

  •    Elixir

A mocking library for the Elixir language. We use the Erlang meck library to provide module mocking functionality for Elixir. It uses macros in Elixir to expose the functionality in a convenient manner for integrating in Elixir tests.

elixir-koans - Elixir learning exercises

  •    Elixir

Elixir koans is a fun way to get started with the elixir programming language. It is a tour of the most important features and idiomatic usage of the language. You need to have Elixir installed. Please refer to the official guide for instructions.

alpaca - Functional programming inspired by ML for the Erlang VM

  •    Erlang

Alpaca is a statically typed, strict/eagerly evaluated, functional programming language for the Erlang virtual machine (BEAM). At present it relies on type inference but does provide a way to add type specifications to top-level function and value bindings. It was formerly known as ML-flavoured Erlang (MLFE). Please see the rebar3 plugin documentation for more details.

intellij-elixir - Elixir plugin for JetBrain's IntelliJ Platform (including Rubymine)

  •    Java

This is a plugin that adds support for Elixir to JetBrains IDEs. The plugin works both in the rich IDEs that allow alternative language SDK selection and small IDEs that are language specific. The rich IDEs work best for IntelliJ Elixir because only in the rich IDEs can have an Elixir SDK set as the Project SDK. In all small IDEs, the native language SDK is always there, which makes anything that uses the SDK, such as running elixir, erl, or mix more complicated both internally and externally in the configuration you have to setup.

Eta - A powerful language for building scalable systems on the JVM

  •    Haskell

Eta is a pure, lazy, strongly typed functional programming language on the JVM. It is a dialect of Haskell on the JVM. It is pure by default which means that calling a function with the same arguments will yield the same results every time. It is lazy by default which means that data stays in unevaluated state until a function needs to peek inside.

RedScript - An Elixir Flavored Language for the Browser

  •    Javascript

RedScript was created to provide a first class functional experience in the browser. I was tired of trying to coerce JavaScript into being a functional language (by not using the bad parts by convention and using other libs). It is inspired from Elixir but it does not have all of the features (ElixirScript aims to do this). Our main goal is to provide easy interoperability with other JavaScript libraries (like CoffeeScript, not like Elm) while still providing a first class functional experience in JavaScript.

elixir-tmbundle - A TextMate and Sublime Text Bundle for the Elixir programming language.

  •    Javascript

A TextMate and Sublime Text Bundle for the Elixir programming language.

reia - Ruby-like hybrid OOP/functional programming language for BEAM, the Erlang VM

  •    Erlang

Welcome to Reia (pronounced RAY-uh), a Ruby-like scripting language for the Erlang virtual machine (BEAM). After compilation is complete, you'll see the test suite run and if everything went well it should hopefully pass.

gosu-lang - The Gosu programming language

  •    Gosu

Gosu is a pragmatic programming language for the JVM. It has been designed with Java developers in mind by providing a set of features that allow them to be more productive without sacrificing the benefits of static typing. Gosu is an object oriented language with a sprinkle of functional programming features. It was nominated Language of the Month in a Dr Dobb's article in 2011. You need Java JDK 1.8 and Maven 3.x to build Gosu. Set the JAVA_HOME environment variable to JDK 1.8's home.

mypy - New Python Variant

  •    Python

The mypy programming language is an experimental Python variant that aims to combine the benefits of dynamic (or "duck") typing and static typing. The goal is to have the expressive power and convenience of Python, and also compile-time type checking and efficient compilation to native code, without the need of a heavy-weight VM. Mypy will get rid of the Global Interpreter Lock (GIL) that is used in CPython and allow parallel programs to take advantage of multicore processors.

elixir_quick_reference - Quick reference for the Elixir programming language and standard library.

  •    

A quick reference for the Elixir programming Language and standard library. Can be specified in base 10, hex, or binary. All are stored as base 10.