From 89b7f4f07d9dadf74f17225dba61752a58fca99c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Fri, 30 Jan 2026 11:38:57 +0100 Subject: [PATCH 1/8] Update FAQ with clarifications on Elixir vs Gleam --- documentation/frequently-asked-questions.djot | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/documentation/frequently-asked-questions.djot b/documentation/frequently-asked-questions.djot index 40f1b318..8de157b6 100644 --- a/documentation/frequently-asked-questions.djot +++ b/documentation/frequently-asked-questions.djot @@ -151,7 +151,8 @@ Here’s a non-exhaustive list of differences: - Elixir’s compiler is written in Erlang and Elixir, Gleam’s is written in Rust. - Gleam has a more traditional C family style syntax. - Elixir has a namespace for module functions and another for variables, Gleam - has one unified namespace (so there’s no special fun.()syntax). + has one unified namespace (there is no `fun.()` syntax in Gleam, but in Gleam + variable names can override function names). - Gleam standard library is distributed as Hex packages, which makes interoperability with other BEAM languages easier. - Elixir is a larger language, featuring numerous language features not present in Gleam. @@ -164,18 +165,15 @@ Here’s a non-exhaustive list of differences: - Elixir has superior BEAM runtime integration, featuring accurate stack traces and full support for tools such as code coverage, profiling, and more. Gleam’s support is much weaker due to going via Erlang source. -- Elixir and Gleam both use Erlang's OTP framework. Both have additional - modules for working with OTP, which provide APIs more in the style of each - respective language. Both common use Erlang's OTP APIs directly, but Elixir - can do so more conveniently and concisely due to having a less-strict type - system. +- Elixir and Gleam both use Erlang's OTP framework. Elixir can use Erlang/OTP + modules directly and also includes its own abstractions (such as tasks). + Gleam provide APIs more in the style of each respective language. - Elixir currently has superior deployment tooling, including support for OTP releases and OTP umbrella applications. - Gleam’s editor tooling is superior due to having a more mature official language server, but Elixir has recently announced an official language server project which is in active development. - Elixir is more mature than Gleam and has a much larger ecosystem. -- Gleam compiles faster than Elixir. Most importantly both are BEAM languages! I advise using whichever has the programming style you personally find most enjoyable and productive. From 9f1f681792aae3704e96cab35814a2f90b3209b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Fri, 30 Jan 2026 11:52:06 +0100 Subject: [PATCH 2/8] Update documentation/frequently-asked-questions.djot --- documentation/frequently-asked-questions.djot | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/documentation/frequently-asked-questions.djot b/documentation/frequently-asked-questions.djot index 8de157b6..edb4867f 100644 --- a/documentation/frequently-asked-questions.djot +++ b/documentation/frequently-asked-questions.djot @@ -165,6 +165,11 @@ Here’s a non-exhaustive list of differences: - Elixir has superior BEAM runtime integration, featuring accurate stack traces and full support for tools such as code coverage, profiling, and more. Gleam’s support is much weaker due to going via Erlang source. +- Elixir documentation adheres to the official Erlang VM format, + which facilitates interoperability between documentation tooling. + Gleam does not store documentation metadata in source files +- Elixir interactive and remote shells support writing both Elixir + and Erlang code. Gleam shells require writing Erlang code. - Elixir and Gleam both use Erlang's OTP framework. Elixir can use Erlang/OTP modules directly and also includes its own abstractions (such as tasks). Gleam provide APIs more in the style of each respective language. From d1fc46f30d3024e226c43b05c591342f99bdb97a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Fri, 30 Jan 2026 11:53:49 +0100 Subject: [PATCH 3/8] Update documentation/frequently-asked-questions.djot --- documentation/frequently-asked-questions.djot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/frequently-asked-questions.djot b/documentation/frequently-asked-questions.djot index edb4867f..225265fd 100644 --- a/documentation/frequently-asked-questions.djot +++ b/documentation/frequently-asked-questions.djot @@ -167,7 +167,7 @@ Here’s a non-exhaustive list of differences: Gleam’s support is much weaker due to going via Erlang source. - Elixir documentation adheres to the official Erlang VM format, which facilitates interoperability between documentation tooling. - Gleam does not store documentation metadata in source files + Gleam does not store documentation metadata in source files. - Elixir interactive and remote shells support writing both Elixir and Erlang code. Gleam shells require writing Erlang code. - Elixir and Gleam both use Erlang's OTP framework. Elixir can use Erlang/OTP From a6185727825630c4cd2dde8616ab6f574031de97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Fri, 30 Jan 2026 12:09:48 +0100 Subject: [PATCH 4/8] Update documentation/frequently-asked-questions.djot --- documentation/frequently-asked-questions.djot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/frequently-asked-questions.djot b/documentation/frequently-asked-questions.djot index 225265fd..2aeffa78 100644 --- a/documentation/frequently-asked-questions.djot +++ b/documentation/frequently-asked-questions.djot @@ -152,7 +152,7 @@ Here’s a non-exhaustive list of differences: - Gleam has a more traditional C family style syntax. - Elixir has a namespace for module functions and another for variables, Gleam has one unified namespace (there is no `fun.()` syntax in Gleam, but in Gleam - variable names can override function names). + variable names can shadow function names). - Gleam standard library is distributed as Hex packages, which makes interoperability with other BEAM languages easier. - Elixir is a larger language, featuring numerous language features not present in Gleam. From 6c9066ded11154ed3df65cef29c5507177462758 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Fri, 30 Jan 2026 12:12:23 +0100 Subject: [PATCH 5/8] Update documentation/frequently-asked-questions.djot --- documentation/frequently-asked-questions.djot | 3 --- 1 file changed, 3 deletions(-) diff --git a/documentation/frequently-asked-questions.djot b/documentation/frequently-asked-questions.djot index 2aeffa78..7447d902 100644 --- a/documentation/frequently-asked-questions.djot +++ b/documentation/frequently-asked-questions.djot @@ -165,9 +165,6 @@ Here’s a non-exhaustive list of differences: - Elixir has superior BEAM runtime integration, featuring accurate stack traces and full support for tools such as code coverage, profiling, and more. Gleam’s support is much weaker due to going via Erlang source. -- Elixir documentation adheres to the official Erlang VM format, - which facilitates interoperability between documentation tooling. - Gleam does not store documentation metadata in source files. - Elixir interactive and remote shells support writing both Elixir and Erlang code. Gleam shells require writing Erlang code. - Elixir and Gleam both use Erlang's OTP framework. Elixir can use Erlang/OTP From 6b15fe7e5149fb7421e3342d962cb15f474318f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Fri, 30 Jan 2026 12:45:03 +0100 Subject: [PATCH 6/8] Apply suggestions from code review --- documentation/frequently-asked-questions.djot | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/documentation/frequently-asked-questions.djot b/documentation/frequently-asked-questions.djot index 7447d902..0f60028b 100644 --- a/documentation/frequently-asked-questions.djot +++ b/documentation/frequently-asked-questions.djot @@ -167,15 +167,19 @@ Here’s a non-exhaustive list of differences: Gleam’s support is much weaker due to going via Erlang source. - Elixir interactive and remote shells support writing both Elixir and Erlang code. Gleam shells require writing Erlang code. -- Elixir and Gleam both use Erlang's OTP framework. Elixir can use Erlang/OTP - modules directly and also includes its own abstractions (such as tasks). - Gleam provide APIs more in the style of each respective language. +- Elixir and Gleam both use Erlang's OTP framework. Both languages can + use Erlang/OTP modules directly, though it is more ergonomic and + requires less boilerplate in Elixir. Both languages offer their own + additional abstractions, with Elixir providing new functionality + and Gleam providing type-safe interfaces. - Elixir currently has superior deployment tooling, including support for OTP releases and OTP umbrella applications. - Gleam’s editor tooling is superior due to having a more mature official language server, but Elixir has recently announced an official language server project which is in active development. - Elixir is more mature than Gleam and has a much larger ecosystem. +- Gleam compiles faster than Elixir (measured by the time taken to + compiling a project with 100 single-function files in each language) Most importantly both are BEAM languages! I advise using whichever has the programming style you personally find most enjoyable and productive. From f7e759de1c0dc0f558d213216a2b7b97c0f8270a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Fri, 30 Jan 2026 12:45:41 +0100 Subject: [PATCH 7/8] Update documentation/frequently-asked-questions.djot --- documentation/frequently-asked-questions.djot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/frequently-asked-questions.djot b/documentation/frequently-asked-questions.djot index 0f60028b..7290693b 100644 --- a/documentation/frequently-asked-questions.djot +++ b/documentation/frequently-asked-questions.djot @@ -179,7 +179,7 @@ Here’s a non-exhaustive list of differences: server project which is in active development. - Elixir is more mature than Gleam and has a much larger ecosystem. - Gleam compiles faster than Elixir (measured by the time taken to - compiling a project with 100 single-function files in each language) + compiling a project with 100 single-function files in each language). Most importantly both are BEAM languages! I advise using whichever has the programming style you personally find most enjoyable and productive. From d7232fe7c96602af53367e3a4816e3d42f89e885 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Sat, 31 Jan 2026 14:10:08 +0100 Subject: [PATCH 8/8] Update documentation/frequently-asked-questions.djot --- documentation/frequently-asked-questions.djot | 2 -- 1 file changed, 2 deletions(-) diff --git a/documentation/frequently-asked-questions.djot b/documentation/frequently-asked-questions.djot index 7290693b..761bd1b5 100644 --- a/documentation/frequently-asked-questions.djot +++ b/documentation/frequently-asked-questions.djot @@ -178,8 +178,6 @@ Here’s a non-exhaustive list of differences: language server, but Elixir has recently announced an official language server project which is in active development. - Elixir is more mature than Gleam and has a much larger ecosystem. -- Gleam compiles faster than Elixir (measured by the time taken to - compiling a project with 100 single-function files in each language). Most importantly both are BEAM languages! I advise using whichever has the programming style you personally find most enjoyable and productive.