Perguntas frequentes
Respostas curtas às primeiras perguntas que as pessoas fazem.
Em que sistemas corre o Ridgun?
Linux, macOS e Windows, em x86-64 e ARM64. O compilador escreve sozinho o executável nativo de cada sistema: ELF64 para Linux (incluindo um Raspberry Pi), Mach-O para macOS e PE32+ para Windows, e compila para qualquer um deles a partir de qualquer um com --target. Em Descarregar estão as ferramentas para os seis, e Instalar dá a linha para cada sistema.
Há um coletor de lixo?
Não. O compilador liberta um valor logo a seguir à sua última utilização. As estruturas partilhadas são contadas, e with region liberta uma arena inteira de uma só vez quando o seu bloco termina. Nada pausa o programa para recolher memória.
Como funciona o paralelismo?
As linhas que começam por || formam um pequeno grafo: cada linha calcula um valor com -> name, e as linhas que não dependem umas das outras correm ao mesmo tempo. ||map e ||filter repartem uma lista por várias threads. Para serviços de longa duração, agent envolve uma função num processo isolado com o qual comunica através de send … to e receive from.
Porque é que as funções se escrevem como tabelas?
Porque uma tabela é fácil de ler: a assinatura dá nome às colunas, cada cláusula é uma linha, e os olhos encontram o caso que procuram. O stable format mantém as colunas alinhadas, por isso ninguém alinha à mão.
Preciso de um compilador de C?
Não. O próprio ridgunc escreve o código máquina e o ficheiro ELF. Está escrito em Ridgun e compila-se a si próprio.
De onde vêm as bibliotecas?
As bibliotecas padrão (json, http, crypto, regex, time e muitas mais) estão em libs, que o instalador deixa instaladas. O omni, o gestor de pacotes, acrescenta mais a partir deste site e verifica cada assinatura: omni install <biblioteca> para um projeto, omni install -g <pacote> para os programas de um pacote. A página Pacotes mostra-os todos.
Há uma framework web?
Sim: Solstice. Este site corre sobre ela, com os seus addons de blog e de fórum.
Onde posso fazer uma pergunta?
No fórum, na categoria Help. Inclua o código, o comando que executou e a mensagem de erro completa.