Sobre o projeto

sysl é uma linguagem de sistemas de propósito geral projetada para fornecer o controle de uma linguagem de sistemas enquanto permanece acessível. Ela utiliza a contagem de referências para o gerenciamento de memória em vez de um borrow checker ou garbage collector. A memória é gerenciada através de modos de tipo explícitos: `T` para valor/stack, `&T` para heap com contagem de referências ARC, e `*T` para ponteiros brutos, complementados por `ref` para vinculações locais. A linguagem compila para binários nativos via LLVM IR e faz a ligação usando clang. Possui uma biblioteca padrão abrangente e uma interface de função estrangeira (FFI) robusta que permite a ligação com bibliotecas C ou a integração em projetos C como um arquivo estático. Principais características técnicas incluem: - Compilação através de LLVM para binários nativos. - Gerenciamento de memória por contagem de referências (ARC). - Forte interoperabilidade com C via diretivas `@export` e `@link`. - Um compilador implementado em Scala 3, disponível tanto como ferramenta CLI quanto como biblioteca via Maven Central. - Suporte a testes integrados usando atributos `@test` dentro do código-fonte.