seed Visão geral
seed é uma linguagem de sistemas orientada a expressões, imperativa e estaticamente tipada. Ele visa a legibilidade direta do tipo Python sempre que possível, mantendo o controle C/Rust-class sobre layout, execução, ligação e acesso de hardware de baixo nível.
A linguagem não possui GC, sintaxe vitalícia, desenrolamento de exceção, tempo de execução assíncrono oculto ou libc obrigatória. Custos como alocação, clonagem profunda, retenção de contagem de referências, bloqueio, syscalls e carregamento dinâmico são explícitos.
Identidade atual
- nome do idioma:
seed - extensão de origem:
.sd - codificação de origem: UTF-8
- texto: propriedade
stringe emprestadostr, ambos válidos UTF-8 - identificadores: letras minúsculas ASCII, incluindo nomes de tipos
- constantes: caixa de cobra superior ASCII
- compilador: compilador operacional limpo LLVM em
compiler/llvm
Modelo principal
- copiar escalares;
- mover recursos próprios;
- emprestar visualizações somente leitura sem alocação;
- clonar explicitamente;
- limpar valores gerenciados em tempo real exatamente uma vez em saídas estruturadas;
- use
linear tpara obrigações exatamente uma vez; - use
unsafesomente em operações brutas auditadas; - usar ADTs,
result/opção, exaustivomatche?para fluxo recuperável; - use bibliotecas estruturadas
spawne task/channel comuns em vez de async/await.
Pequeno núcleo e ecossistema
Arquivos, redes, processos, serialização, formatação, coleções e sincronização residem em bibliotecas compiladas separadamente. As bibliotecas hospedadas são compartilhadas dinamicamente por padrão; a ligação estática é explícita. Programas independentes, de kernel, de driver e de inicialização usam a mesma linguagem em perfis de tempo de execução restritos.
Limites atuais
O compilador limpo implementa strings f de fase 1 e fase 2 para texto, bool, números inteiros, pontos flutuantes IEEE-754, especificadores de formato e estáticos. display/debug características. Não implementa legado enum, nomes nominais em maiúsculas, return, # comentários, integrados chan<t>/send/recv, spawn desanexado, macros ou um identificador de nível de linguagem retornado diretamente por spawn. A biblioteca de tarefas fornece resultados estruturados digitados. Pacotes reproduzíveis, LSP, doc/lint, e artefatos incrementais exatos são implementados por Gate 15 ferramentas.
Gate 14 a portabilidade ainda está em andamento: Windows x86-64 exigiu evidência de execução do Wine; macOS x86-64 aguarda a execução nativa da Intel e macOS arm64 permanece explicitamente apenas com link cruzado.