Slide 2 de 74

Rodando estes exemplos

$ printf 'proc main(): void {\n\techo "funciona"\n}\n' > hello.hive

$ hive check hello.hive
No problems found in hello.hive (0s)

$ hive run hello.hive
funciona

$ hive build hello.hive
Compiled hello.hive -> hello (0s)

Todo exemplo daqui em diante é um programa completo: coloque-o em um arquivo terminado em .hive, e um comando o roda. O compilador é um único executável, publicado para Linux, macOS e Windows em amd64 e arm64 como hivec-<os>-<arch>. Coloque-o no seu PATH como hive, o nome que as próprias mensagens dele usam. O Hive compila para Go, então rodar ou construir um programa também precisa do Go 1.24 ou mais novo no PATH; checar um não precisa de mais nada.

  • hive check hello.hive lê um programa e reporta o que há de errado nele sem construir nada, o que o torna o primeiro a usar, e depois de cada edição.
  • hive run hello.hive compila e roda em um passo. O programa começa na pasta do ponto de entrada, tudo que vem depois do nome do arquivo é passado a ele, e o código de saída dele vira o do comando.
  • hive build hello.hive deixa um executável nativo ao lado do ponto de entrada.

Uma build escreve o Go que gera em uma pasta ao lado do ponto de entrada, hello.hive-build/, e a apaga antes toda vez, então é seguro ignorá-la no controle de versão. Um erro começa com arquivo:linha:, vai para a saída de erro e termina com código diferente de zero. Cada passagem do compilador reporta todo erro que encontra, mas uma passagem que encontrou algum interrompe as seguintes: corrija os erros de tipo, e os erros de limites atrás deles aparecem.