Pular para o conteúdo

Roadmap

O mapa da linguagem

Duas perguntas que a documentação, lida página a página, não responde: por onde eu começo e o que esta linguagem é por dentro. Abaixo, sete trilhas e três mapas.

Os mapas mostram o que não existe junto com o que existe — e é isso que os separa de propaganda. Os números saem de Arcane.Ecossistema, que confere cada componente contra o disco nas duas direções: o que o mapa cita e sumiu, e o módulo que existe e nenhum componente reivindica.

módulos
76
símbolos
2134
comandos
63
componentes
41

A arquitetura, em três dimensões

Arraste para girar, clique num ponto para abrir o que ele é. A posição de cada nó é determinística — a mesma peça fica sempre no mesmo lugar, porque um mapa que muda de forma a cada recarregamento não é um mapa.

arraste para girar · clique num ponto

As dez fases por que passa um arquivo `.df`. A décima é medida em zero e marcada como não percorrida — executar é o que o programa faz, e um arquivo de verdade abre soquete e escreve em disco.

O que não existe

Esta lista sai de Arcane.Ecossistema.o_que_nao_existe(), e por isso ela encolhe sozinha quando um item passa a existir. Escrita à mão, ela envelheceria exatamente no dia em que alguém implementasse um deles — e ninguém apaga a linha que diz que o próprio trabalho não estava feito.

As trilhas

Cada passo diz o que você sabe fazer depois dele, e não o que ele contém — um índice já existe na barra lateral. Onde há exercícios do repositório que exercitam o assunto, eles estão ao lado.

  1. 1
    Instalar e rodar o primeiro arquivo

    um .df que roda na sua máquina, e o REPL para experimentar

  2. 2
    Variáveis, tipos e interpolação

    := contra steady, o tipo opcional, e $"{…}"

    exercícios →
  3. 3
    Decidir e repetir

    given/orif/otherwise, cycle, persist — e por que cycle tem escopo próprio

    exercícios →
  4. 4
    Coleções, fatias e compreensões

    cluster e vault, [expr cycle x in xs given cond], spread e desestruturação

    exercícios →
  5. 5
    Ações

    action/yield, parâmetros nomeados, lambda, e a diferença para emit

    exercícios →
  6. 6
    Erros que dizem o que fazer

    monitor/handle/ensure, trigger, defer — e as 215 classes do catálogo

    exercícios →
  7. 7
    As ferramentas de linha de comando

    check, fmt, lint, test — o analisador acusa antes de rodar

As fases e os componentes desta página são gerados por site/scripts/gerar_roadmap.py a partir do próprio código, e há teste comparando o arquivo versionado com o que o gerador produz. As trilhas são escritas à mão — e todo destino delas é conferido contra as rotas que existem.