Blazing rápido, liviano e inferido verificador de tipo estático para JavaScript.
Infrared es un verificador de tipo estático configurable y eficiente para JavaScript. Esto se hace inferiendo estáticamente un sistema de tipo fluido en todo su programa, rastreando los tipos de sus variables a medida que cambian, y aumentando los errores de tipo antes de que ocurran en tiempo de ejecución.
Un sistema de tipo fluido no es una idea extranjera: es un conjunto indulgente de reglas de escritura que cambian a medida que su programa cambia. Esto significa que no hay variables comprometidas con un solo tipo: si esa variable cambia su tipo en algún lugar del programa, Infrared realiza un seguimiento de él.
JavaScript es un lenguaje dinámico, y el infrarrojo no quiere cambiar eso. Mientras que otros sistemas de tipos quieren que cambie la forma en que programa (y cambie su JavaScript a otra cosa), Infrared hace lo contrario.
Para comprender la forma en que el infrarrojo encaja en el ecosistema de escritura, considere lo siguiente:
Infrared es un proyecto realmente grande, por lo que, naturalmente, es una buena idea asegurarse de que planeemos las cosas cuidadosamente para evitar un desorden.
Estoy usando Figma para organizar las diferentes secciones y responsabilidades de cada parte del infrarrojo (analizador, compilador, servidor, etc.). Siéntase libre de seguir y ver lo que he mapeado hasta ahora.
Desafortunadamente, Figma solo refleja las partes finalizadas de la hoja de ruta de desarrollo. Esto significa que hay mucho trabajo genial, como reglas de escritura, estrategias de reducción, pruebas discretas, etc., que no están en este documento.
Dado que esos bits están escritos en un cuaderno físico, es difícil para mí compartir públicamente en línea. La buena noticia es que planeo escribir un libro blanco una vez que este proyecto esté terminado, y todas las cosas interesantes se incluirán allí.
Hasta entonces, estoy más que feliz de charlar con cualquiera que esté interesado en aprender más: no dude en comunicarse con Twitter.
P - ¿Puedo usar esto?
A - todavía no. Este proyecto aún está en desarrollo, ¡pero espere un lanzamiento alfa pronto ( ISH )!
Este software es gratuito bajo la licencia MIT. Consulte esta referencia para el texto de la licencia e información de derechos de autor.