Verificador de tipo estático rápido, leve, leve e inferido para JavaScript.
O infravermelho é um verificador de tipo estático configurável e eficiente para JavaScript. Isso é feito inferindo estaticamente um sistema de tipo de fluido em todo o seu programa - rastreando os tipos de suas variáveis à medida que elas mudam - e aumentando os erros do tipo antes que eles aconteçam em tempo de execução.
Um sistema de tipo fluido não é uma idéia estrangeira - é um conjunto de regras de digitação que mudam conforme o seu programa muda. Isso significa que nenhuma variável está comprometida com um único tipo - se essa variável alterar seu tipo em algum lugar do programa, o infravermelho o acompanha.
O JavaScript é uma linguagem dinâmica e o infravermelho não quer mudar isso. Enquanto outros sistemas de tipo por aí querem que você altere a maneira como você programa (e altere seu JavaScript em outra coisa), o Infravery faz o oposto.
Para entender a maneira como o infravermelho se encaixa no ecossistema de digitação, considere o seguinte:
O infravermelho é um projeto realmente grande, então, naturalmente, é uma boa ideia garantir que planejemos as coisas com cuidado para evitar uma mess manchada.
Estou usando o FIGMA para organizar as diferentes seções e responsabilidades de cada parte do infravermelho (analisador, compilador, servidor etc.). Sinta -se à vontade para acompanhar e conferir o que eu mapeei até agora.
Infelizmente, o figma reflete apenas as partes finalizadas do roteiro de desenvolvimento. Isso significa que há muito trabalho interessante - como regras de digitação, estratégias de redução, provas discretas, etc - que não estão neste documento.
Como esses bits são escritos em um caderno físico, é difícil para mim compartilhar publicamente online. A boa notícia é que pretendo escrever um white paper assim que este projeto terminar, e todas as coisas legais serão incluídas lá.
Até então, estou mais do que feliz em conversar com qualquer pessoa interessada em aprender mais - fique à vontade para chegar ao Twitter.
P - Posso usar isso?
A - ainda não. Este projeto ainda está em desenvolvimento, mas espere um lançamento alfa em breve ( ISH )!
Este software é gratuito para usar sob a licença do MIT. Veja esta referência para obter informações sobre texto e direitos autorais.