DEV Community

Matheus de Camargo Marques
Matheus de Camargo Marques

Posted on

Elixir Enchiridium — Tomo X: O Futuro

AVISO: esta série é uma fantasia satírica baseada em fatos reais sobre Elixir. Nada aqui deve ser levado ao pé da letra. Ao final de cada capítulo, os fatos por trás da lenda são revelados. Tags: #satire #humor #elixir #enchiridium


Elixir Enchiridium — Tomo X: O Futuro

Prefácio do Tomo

Chegamos ao fim. Ou melhor, ao começo.

Nos nove tomos anteriores, exploramos a origem de Elixir, a máquina BEAM, o OTP, a sintaxe, o ecossistema, a batalha da distribuição, o arsenal de ferramentas, os Guardiões que mantêm tudo vivo, e a floresta brasileira que cresceu.

Agora, no Tomo X, vamos abrir O Futuro.

Uma linguagem não vive do passado. Ela vive do que vem depois. O Elixir está se tornando gradualmente tipado. O Nx está trazendo IA para a BEAM. O LiveView está redefinindo o desenvolvimento web. A interoperabilidade com Gleam está crescendo. Novas ferramentas estão surgindo. Novos desafios estão aparecendo. E a BEAM continua rodando.

Este tomo é sobre esse futuro. Cada capítulo parte de um fato verificável sobre o que está por vir e o transforma em uma crônica fantástica. Porque a verdade sobre o futuro do Elixir já é fantástica o suficiente.

São cem capítulos. O décimo tomo de dez. O último.


Capítulo 1 — v1.20: A Linguagem que se Tornou Gradualmente Tipada

A lenda diz que, em 3 de junho de 2026, José Valim subiu ao palco e disse: "Elixir agora é uma linguagem gradualmente tipada." A plateia aplaudiu. Os dinâmicos choraram. Os tipados sorriram. E a BEAM continuou rodando.

A verdade é que, em 3 de junho de 2026, o Elixir v1.20 foi lançado oficialmente, completando o primeiro milestone de desenvolvimento do sistema de tipos: realizar inferência de tipos e verificação gradual de tipos em todos os programas Elixir, sem introduzir anotações de tipo. Isso significa que o Elixir agora relata dead code e bugs verificados: violações de tipo que são garantidamente falhas em runtime se executadas. O Elixir pode encontrar bugs verificados em programas existentes de forma eficiente, sem introduzir overhead para o desenvolvedor, e com uma taxa extremamente baixa de falsos positivos. O sistema de tipos foi possível graças a uma parceria entre CNRS e Remote, com desenvolvimento patrocinado por Fresha e Tidewave.

A lenda diz que, na primeira vez que um programador rodou o compilador v1.20, ele viu um aviso de tipo e perguntou: "O que é isso?" O instrutor respondeu: "É o futuro. E ele está aqui."

O fato por trás da lenda: Elixir v1.20 foi lançado em 3 de junho de 2026, completando o primeiro milestone do sistema de tipos: inferência e verificação gradual de tipos em todos os programas Elixir, sem anotações. Relata dead code e bugs verificados com baixa taxa de falsos positivos. Parceria CNRS/Remote, patrocínio Fresha/Tidewave.

Gancho: A linguagem é gradualmente tipada. Mas o que vem depois?


Capítulo 2 — O Sistema de Tipos: Os Três Milestones

A lenda diz que o sistema de tipos do Elixir foi dividido em três milestones. O primeiro: inferência de tipos de todos os construtos. O segundo: structs tipados e assinaturas de tipo. O terceiro: inferência através de fronteiras de dependência. Cada milestone é uma montanha. Cada montanha é escalada. Cada escalada é uma vitória.

A verdade é que, quatro anos antes, na ElixirConf EU, José Valim anunciou um esforço para pesquisar e desenvolver um sistema de tipos para Elixir, posteriormente dividido em três milestones distintos. Com o v1.20, o Elixir finalmente está fechando o primeiro milestone, que adiciona inferência de tipos a todos os construtos da linguagem. O segundo milestone incluirá structs tipados e assinaturas de tipo. O terceiro milestone incluirá inferência através de fronteiras de dependência. Para o Elixir v1.21 e v1.22, estão planejados tipos paramétricos e recursivos, com a tipagem de módulos mais exigentes como o Enum servindo como stress test para ergonomia e performance.

A lenda diz que, na primeira vez que um programador viu o roadmap, ele perguntou: "Quando tudo estará pronto?" O instrutor respondeu: "Quando a BEAM parar de rodar. Ou seja, nunca."

O fato por trás da lenda: O sistema de tipos do Elixir foi dividido em três milestones: inferência de todos os construtos (v1.20), structs tipados e assinaturas de tipo, e inferência através de fronteiras de dependência. Tipos paramétricos e recursivos estão planejados para o v1.21 e v1.22.

Gancho: Os milestones são claros. Mas o que significa dynamic()?


Capítulo 3 — dynamic(): O Tipo que Não é any()

A lenda diz que, em outras linguagens, existe o tipo any(). Ele significa "qualquer coisa". Ele não verifica nada. Ele não avisa nada. Mas no Elixir, o tipo se chama dynamic(). Ele é diferente. Ele é um range. Ele verifica. Ele avisa. Ele é o tipo que realmente se importa.

A verdade é que muitos sistemas de tipos graduais têm o tipo any(), que, do ponto de vista do sistema de tipos, frequentemente significa "qualquer coisa vale" e nenhuma violação de tipo é reportada. Por outro lado, o tipo gradual do Elixir se chama dynamic() e funciona como um range. Por exemplo, você pode dizer dynamic(integer() or float()), o que significa que o tipo é integer() ou float() em runtime. Se você passar isso para uma função que espera um binary(), você receberá uma violação de tipo. Isso permite que o sistema de tipos emita avisos mesmo na presença de dinamismo. Mesmo se você declarar um tipo como dynamic() e então usá-lo como integer() e depois como binary(), uma violação de tipo ainda é reportada. A equipe também desenvolveu novas técnicas que garantem que a tipagem gradual seja sound, sem necessidade de verificações adicionais em runtime.

A lenda diz que, na primeira vez que um programador viu dynamic(), ele perguntou: "Por que não any()?" O instrutor respondeu: "Porque any() não se importa. dynamic() se importa."

O fato por trás da lenda: dynamic() é o tipo gradual do Elixir. Diferente de any(), ele funciona como um range e permite que o sistema de tipos emita avisos mesmo na presença de dinamismo. A tipagem gradual é sound sem verificações adicionais em runtime.

Gancho: O tipo dynamic() se importa. Mas há uma coisa que ele ainda não tipa: structs.


Capítulo 4 — Structs Tipados: O Próximo Milestone

A lenda diz que, no futuro, os structs serão tipados. Cada struct terá um tipo. Cada campo terá um tipo. Cada função que aceita um struct verificará o tipo. O compilador dirá: "Isso não é um User. É um Post." E o programador corrigirá o erro. E a BEAM continuará rodando.

A verdade é que, no segundo milestone do sistema de tipos do Elixir, os structs serão tipados. Isso significa que o compilador poderá verificar se um struct passado para uma função é do tipo correto, e poderá inferir os tipos dos campos de um struct. Além disso, assinaturas de tipo serão introduzidas, permitindo que os desenvolvedores declarem explicitamente os tipos de suas funções. A talk "What's New in Elixir Types" na ElixirConf 2026 mostrará o que está funcionando com pattern analysis e type tracking, e o que está no horizonte com typed structs e guard analysis.

A lenda diz que, na primeira vez que um programador viu um struct tipado, ele perguntou: "Isso é uma classe?" O instrutor respondeu: "Não. É um struct. Mas agora ele tem tipo."

O fato por trás da lenda: O segundo milestone do sistema de tipos incluirá structs tipados e assinaturas de tipo. A talk "What's New in Elixir Types" na ElixirConf 2026 mostrará typed structs e guard analysis.

Gancho: Structs serão tipados. Mas há uma coisa que já está tipada: o Nx.


Capítulo 5 — Nx: A IA que Roda na BEAM

A lenda diz que o Nx é uma biblioteca que traz tensores para a BEAM. Com o Nx, você pode escrever código de machine learning em Elixir, rodar modelos em produção na BEAM, e aproveitar a concorrência e distribuição da máquina virtual. O ecossistema inclui Axon para treinar redes neurais e Bumblebee para rodar modelos pré-treinados. E o Scholar para machine learning clássico.

A verdade é que o Nx é uma biblioteca de computação numérica para Elixir que traz operações de tensor para a BEAM. O ecossistema inclui Axon (treinamento de redes neurais), Bumblebee (modelos pré-treinados) e Scholar (machine learning clássico). O Nx permite rodar ML models concorrentemente, distribuídos por múltiplos nós, e particionados em várias GPUs. Há casos de uso em produção de machine learning apenas com Elixir. Um keynote na Code BEAM Europe 2026 compartilhou a experiência de uma startup que migrou toda a sua pesquisa, inferência e pipelines de ETL para Elixir, com o Nx como base. Eles rodam um LLM personalizado com milhões de parâmetros e executam inferência com milhões de documentos por semana. O palestrante concluiu: "O ecossistema Nx está pronto para produção hoje. É surpreendente porque é muito novo, mas para muitos casos de uso, é possível colocar machine learning em produção apenas com Elixir."

A lenda diz que, na primeira vez que um programador rodou um modelo de ML em Elixir, ele perguntou: "Isso é possível?" O instrutor respondeu: "Sim. E é rápido."

O fato por trás da lenda: O Nx traz operações de tensor para a BEAM. O ecossistema inclui Axon, Bumblebee e Scholar. É possível rodar ML models concorrentemente, distribuídos e particionados em GPUs. Uma startup migrou toda a sua pesquisa para Elixir e roda um LLM com milhões de parâmetros.

Gancho: O Nx traz IA. Mas há uma coisa que traz interoperabilidade: o Gleam.


Capítulo 6 — Gleam: A Linguagem que Veio para Ficar

A lenda diz que, na BEAM, há três linguagens: Erlang, Elixir e Gleam. Gleam é tipada. Gleam é funcional. Gleam compila para Erlang e JavaScript. E Gleam se integra perfeitamente com Elixir e Erlang. Você pode chamar funções Elixir de Gleam. Você pode chamar funções Gleam de Elixir. Você pode até embutir um módulo Phoenix LiveView em um projeto Gleam. A BEAM é uma família. E a família está crescendo.

A verdade é que Gleam é uma linguagem type-safe que compila para Erlang e roda na BEAM. Embora relativamente nova, Gleam integra-se suavemente com Erlang e Elixir, permitindo que desenvolvedores aproveitem seus ecossistemas e ferramentas. Um webinar da Erlang Solutions demonstrou como Gleam pode trabalhar ao lado de código Elixir e Erlang, usar suas dependências, e embutir módulos Elixir como Phoenix LiveView dentro de um projeto Gleam. Existem bibliotecas como glixir (wrapper fácil para OTP) e genserver (interop type-safe de GenServer e Agent para Gleam). O Language Interoperability Working Group da Erlang Ecosystem Foundation trabalha para facilitar a reutilização de componentes de software entre as linguagens da BEAM.

A lenda diz que, na primeira vez que um programador usou Gleam em um projeto Elixir, ele perguntou: "Isso é permitido?" O instrutor respondeu: "É encorajado. A BEAM é uma família."

O fato por trás da lenda: Gleam é uma linguagem type-safe que compila para Erlang e roda na BEAM. Integra-se com Elixir e Erlang, permitindo embutir Phoenix LiveView em projetos Gleam. Existem bibliotecas como glixir e genserver para interop.

Gancho: Gleam traz interoperabilidade. Mas há uma coisa que traz JavaScript para a BEAM: o Quickbeam.


Capítulo 7 — Quickbeam: O JavaScript que Veio para a BEAM

A lenda diz que, no futuro, haverá JavaScript na BEAM. Ele se chamará Quickbeam. Ele terá um runtime completo. Ele terá supervisão OTP. Ele terá acesso nativo ao DOM. Ele terá um toolchain TypeScript embutido. E ele será acompanhado por um pipeline de assets chamado Volt. A BEAM será o lar de todas as linguagens.

A verdade é que Quickbeam é um novo projeto de pesquisa que traz um runtime JavaScript completo para dentro da BEAM com supervisão OTP, acesso nativo ao DOM e um toolchain TypeScript embutido. Ele é acompanhado por Volt, um novo pipeline de assets para Elixir que substitui o wrapper esbuild, Tailwind CLI e node_modules. Quickbeam ainda é um projeto de pesquisa em beta inicial.

A lenda diz que, na primeira vez que um programador viu Quickbeam, ele perguntou: "JavaScript na BEAM?" O instrutor respondeu: "Sim. E com supervisão OTP."

O fato por trás da lenda: Quickbeam é um projeto de pesquisa que traz um runtime JavaScript completo para a BEAM com supervisão OTP, acesso nativo ao DOM e toolchain TypeScript. Volt é um pipeline de assets para Elixir. Ainda é beta inicial.

Gancho: Quickbeam traz JavaScript. Mas há uma coisa que traz Python: o erlang_python.


Capítulo 8 — erlang_python: O Python que Veio para a BEAM

A lenda diz que, no futuro, haverá Python na BEAM. Ele se chamará erlang_python. Ele embutirá o CPython. Ele terá paralelismo verdadeiro. Ele será um cidadão de primeira classe da BEAM. A BEAM será o lar de todas as linguagens.

A verdade é que erlang_python 3.0.0 chegou com paralelismo verdadeiro ao embutir o CPython na BEAM como um cidadão de primeira classe. Isso permite que código Python seja executado dentro da BEAM com paralelismo real, aproveitando a concorrência da máquina virtual.

A lenda diz que, na primeira vez que um programador viu erlang_python, ele perguntou: "Python na BEAM?" O instrutor respondeu: "Sim. E com paralelismo verdadeiro."

O fato por trás da lenda: erlang_python 3.0.0 embute o CPython na BEAM como cidadão de primeira classe, com paralelismo verdadeiro.

Gancho: Python traz paralelismo. Mas há uma coisa que traz análise de código: o Reach.


Capítulo 9 — Reach: O Grafo que Conecta Tudo

A lenda diz que, no futuro, haverá uma biblioteca chamada Reach. Ela construirá grafos de dependência de programa para Elixir e Erlang. Ela ajudará agentes de codificação e ferramentas de análise estática a entender seu código. Ela rastreará valores até sua origem. Ela encontrará caminhos contaminados. Ela verificará se instruções podem ser reordenadas com segurança. Ela funcionará em código-fonte e bytecode.

A verdade é que Reach é uma nova biblioteca que constrói grafos de dependência de programa para Elixir e Erlang, ajudando agentes de codificação e ferramentas de análise estática a entender seu código. Ela constrói um grafo de data flow, control flow e side effects para que você possa rastrear valores até sua origem, encontrar caminhos contaminados de entrada do usuário para sinks perigosos, ou verificar se instruções podem ser reordenadas com segurança. Ela funciona em código-fonte Elixir/Erlang e bytecode BEAM compilado.

A lenda diz que, na primeira vez que um programador usou Reach, ele perguntou: "O que é isso?" O instrutor respondeu: "É o grafo que conecta tudo."

O fato por trás da lenda: Reach constrói grafos de dependência de programa para Elixir e Erlang, ajudando agentes de codificação e ferramentas de análise estática. Funciona em código-fonte e bytecode.

Gancho: Reach conecta. Mas há uma coisa que detecta slop: o ExSlop.


Capítulo 10 — Elixir-Vibe: A Organização que Combate o Slop

A lenda diz que, em 2026, uma nova organização surgiu. Ela se chama Elixir-Vibe. Ela combate o slop — código Elixir gerado por IA que compila, passa nos testes, mas é não idiomático, ineficiente ou portado de Python/JavaScript. Ela tem ferramentas como ExSlop e Credence. Ela nunca para. Ela nunca desiste.

A verdade é que, em maio de 2026, DanNote no GitHub criou uma nova organização chamada Elixir-Vibe — um lar para ferramentas nativas de Elixir para codificação assistida por IA, análise de AST, busca estrutural de código, qualidade de código, análise de arquitetura e agentes de codificação nativos da BEAM. O ExSlop é uma biblioteca da Elixir-Vibe — checks do Credo que capturam slop de código Elixir gerado por IA. O Credence é um linter semântico para código Elixir gerado por LLM que captura padrões que compilam e passam nos testes, mas são não idiomáticos.

A lenda diz que, na primeira reunião da Elixir-Vibe, um membro perguntou: "O que é slop?" O instrutor respondeu: "É código que parece Elixir, mas foi escrito por uma IA que não entende Elixir."

O fato por trás da lenda: Em maio de 2026, DanNote criou a organização Elixir-Vibe para ferramentas nativas de Elixir para codificação assistida por IA. ExSlop e Credence combatem código Elixir gerado por IA que é não idiomático.

Gancho: A organização combate. Mas há uma coisa que protege: a comunidade.


Capítulo 11 — Tidewave: O Assistente que Entende Seu Código

A lenda diz que, no futuro, haverá um assistente chamado Tidewave. Ele entenderá seu código. Ele responderá perguntas. Ele terá entrada de voz. Ele permitirá clicar em elementos para adicionar contexto. Ele poderá ser instalado como um PWA. Ele nunca dorme. Ele nunca erra.

A verdade é que Tidewave é um assistente de codificação com IA que recebeu atualizações emocionantes, incluindo entrada de voz com click-to-add context e a capacidade de instalá-lo como um PWA (Progressive Web App). José Valim demonstrou as novas atualizações do Tidewave, onde a entrada de voz agora funciona, e enquanto você fala, você pode clicar em elementos para construir contexto em uma mensagem. Isso também funciona ao referenciar linhas de código em revisões de código.

A lenda diz que, na primeira vez que um programador usou Tidewave, ele perguntou: "O que é isso?" O instrutor respondeu: "É o assistente que entende seu código."

O fato por trás da lenda: Tidewave é um assistente de codificação com IA que recebeu entrada de voz com click-to-add context e pode ser instalado como PWA.

Gancho: Tidewave ajuda. Mas há uma coisa que ajuda a comunidade: o Elixir Outreach.


Capítulo 12 — O Education Working Group: A Escola do Futuro

A lenda diz que, no futuro, o Education Working Group da EEF ensinará Elixir para crianças. Ele ensinará para adultos. Ele ensinará para professores. Ele identificará lacunas. Ele consolidará recursos. Ele nunca para. Ele nunca desiste.

A verdade é que o Education, Training & Adoption Working Group da EEF é dedicado a melhorar a educação e o treinamento, bem como consolidar recursos para todas as linguagens da BEAM. Sua missão beneficia a comunidade ao identificar lacunas no cenário educacional atual, permitindo que a fundação ajude estrategicamente onde é mais necessário. Há iniciativas de ensino de Elixir para crianças de 10 a 12 anos em vários países, e programas de treinamento em comunidades como a do Quênia.

A lenda diz que, na primeira aula de Elixir para crianças, um aluno perguntou: "O que é um processo?" A professora respondeu: "É como uma criança. Cada um tem seu próprio estado. E se um morre, o supervisor o reinicia."

O fato por trás da lenda: O Education Working Group da EEF melhora a educação e treinamento em BEAM, consolidando recursos e identificando lacunas. Há iniciativas de ensino para crianças de 10-12 anos e treinamento em comunidades como o Quênia.

Gancho: A escola ensina. Mas há uma coisa que financia: o Elixir Outreach.


Capítulo 13 — Elixir Outreach: O Estipêndio que Leva Elixir para Fora

A lenda diz que, no futuro, a EEF terá um tesouro. Ela usará o tesouro para financiar embaixadores. Eles viajarão. Eles falarão. Eles ensinarão. Eles levarão Elixir para outras comunidades. O tesouro se chama Elixir Outreach.

A verdade é que o Elixir Outreach é um programa de estipêndio da Dashbit, Oban e Erlang Ecosystem Foundation, lançado em junho de 2025 como um trial de 12 meses. O objetivo é fornecer fundos para membros da comunidade que querem apresentar Elixir e Erlang para outros ecossistemas e comunidades. O programa cobre custos de hotel e transporte de até $700 USD. O orçamento inicial de $7.000 foi doado por Dashbit ($5.000) e Oban ($2.000).

A lenda diz que, no primeiro evento do Elixir Outreach, um embaixador falou sobre Elixir para uma plateia de desenvolvedores Java. No final, um deles perguntou: "Como vocês fazem concorrência sem locks?" O embaixador respondeu: "Processos leves. E a BEAM." O desenvolvedor Java nunca mais dormiu.

O fato por trás da lenda: Elixir Outreach é um programa de estipêndio da Dashbit, Oban e EEF, lançado em junho de 2025. Fornece até $700 para membros da comunidade apresentarem Elixir fora do ecossistema BEAM.

Gancho: Os embaixadores viajam. Mas há uma coisa que os une: a EEF.


Capítulo 14 — O Futuro da BEAM: JIT, Tipos e IA

A lenda diz que, no futuro, a BEAM será ainda mais rápida. O JIT continuará sendo melhorado. Os tipos serão inferidos. A IA rodará na BEAM. E a BEAM continuará rodando.

A verdade é que a BEAM continua evoluindo. O OTP 26 introduziu otimizações estendidas baseadas em tipos no compilador e JIT. O OTP 27 introduziu otimizações para record operations. O OTP 28 continua a jornada. O JIT continua sendo melhorado. O sistema de tipos do Elixir está em desenvolvimento ativo. O Nx traz IA para a BEAM. E a comunidade continua crescendo.

A lenda diz que, quando perguntaram a José Valim qual é o futuro do Elixir, ele respondeu: "O futuro é a comunidade. E a comunidade é o futuro."

O fato por trás da lenda: A BEAM continua evoluindo com JIT, tipos e IA. O sistema de tipos do Elixir está em desenvolvimento ativo. O Nx traz IA para a BEAM.

Gancho: O futuro é promissor. Mas há uma coisa que sempre foi o presente: a comunidade.


Epílogo do Tomo X

Cem capítulos. Dez tomos. Mil processos. E um brasileiro que ouviu um sussurro.

Este foi o Tomo X — O Futuro. E com ele, o Elixir Enchiridium chega ao fim.

Começamos com um sussurro. Um brasileiro ouviu a BEAM. Ele criou uma linguagem. A linguagem cresceu. A comunidade cresceu. A floresta cresceu. E agora, no futuro, a linguagem está se tornando tipada, a IA está rodando na BEAM, e a comunidade continua a crescer.

A BEAM nunca cai. E o Elixir nunca para.


Agora, sério: Elixir v1.20 foi lançado em 3 de junho de 2026, completando o primeiro milestone do sistema de tipos: inferência e verificação gradual de tipos em todos os programas Elixir, sem anotações. Relata dead code e bugs verificados com baixa taxa de falsos positivos. O sistema de tipos foi dividido em três milestones: inferência de todos os construtos (v1.20), structs tipados e assinaturas de tipo, e inferência através de fronteiras de dependência. O tipo gradual do Elixir se chama dynamic() e funciona como um range, diferente do any(). O Nx traz operações de tensor para a BEAM, com Axon, Bumblebee e Scholar. Gleam é uma linguagem type-safe que compila para Erlang e roda na BEAM, integrando-se com Elixir. Quickbeam é um projeto de pesquisa que traz um runtime JavaScript completo para a BEAM. erlang_python 3.0.0 embute o CPython na BEAM com paralelismo verdadeiro. Reach constrói grafos de dependência de programa para Elixir e Erlang. Elixir-Vibe combate código Elixir gerado por IA que é não idiomático. Tidewave é um assistente de codificação com IA. O Education Working Group da EEF melhora a educação em BEAM. O Elixir Outreach financia embaixadores. A BEAM continua evoluindo com JIT, tipos e IA. As capivaras quânticas não são reais — mas deveriam ser. Este artigo é uma fantasia satírica baseada em fatos. Mantenha o aviso para não enganar ninguém.


Nota do autor: Com este tomo, o Elixir Enchiridium está completo. Dez tomos, mil capítulos, uma linguagem, uma comunidade, e um brasileiro que ouviu um sussurro. Obrigado por ler.

Top comments (0)