diff --git a/README.md b/README.md index e863fb7..dd407f4 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@
diff --git a/elixir/Dockerfile b/elixir/Dockerfile new file mode 100644 index 0000000..ff82460 --- /dev/null +++ b/elixir/Dockerfile @@ -0,0 +1,9 @@ +# syntax=docker/dockerfile:1 +# escape=\ +FROM 100hellos/000-base:local + +RUN sudo \ + apk add --no-cache \ + elixir + +COPY --chown=human:human ./files /hello-world diff --git a/elixir/Makefile b/elixir/Makefile new file mode 100644 index 0000000..56b9235 --- /dev/null +++ b/elixir/Makefile @@ -0,0 +1 @@ +include ../Makefile.language-container.mk \ No newline at end of file diff --git a/elixir/README.md b/elixir/README.md new file mode 100644 index 0000000..58d132d --- /dev/null +++ b/elixir/README.md @@ -0,0 +1,17 @@ +# Elixir + +Elixir is a dynamic, functional language for building scalable and maintainable applications. +Elixir runs on the Erlang VM, known for creating low-latency, distributed, and fault-tolerant systems. These capabilities and Elixir tooling allow developers to be productive in several domains, such as web development, embedded software, machine learning, data pipelines, and multimedia processing, across a wide range of industries. + +Here is a peek: +``` +iex> "Elixir" |> String.graphemes() |> Enum.frequencies() +%{"E" => 1, "i" => 2, "l" => 1, "r" => 1, "x" => 1} +``` +Platform features +Scalability +All Elixir code runs inside lightweight threads of execution (called processes) that are isolated and exchange information via messages: + +Due to their lightweight nature, you can run hundreds of thousands of processes concurrently in the same machine, using all machine resources efficiently (vertical scaling). Processes may also communicate with other processes running on different machines to coordinate work across multiple nodes (horizontal scaling). + + diff --git a/elixir/files/hello-world.exs b/elixir/files/hello-world.exs new file mode 100755 index 0000000..8137323 --- /dev/null +++ b/elixir/files/hello-world.exs @@ -0,0 +1,6 @@ +#!/usr/bin/env elixir + +import IO, only: [puts: 1] + +puts("Hello World!") +