O código do Sorbet, sistema de verificação de tipos estática para Ruby, foi aberto

A empresa Stripe, especializada no desenvolvimento de plataformas para pagamentos online, abriu os códigos fonte do projeto Sorbet, no âmbito do qual foi preparada uma sistema de verificação de tipos estática para a linguagem Ruby. O código foi escrito na linguagem C++ e é distribuído estão sob a licença Apache 2.0.

as informações sobre tipos no código podem ser calculadas dinamicamente, bem como definidas na forma de simples anotações, que podem ser especificadas no código através do método sig (por exemplo, “sig {params(x: Integer).returns(String)}”) ou colocadas em arquivos separados com a extensão rbi. É possível tanto uma verificação prévia análise estática de código sem sua execução, quanto uma verificação durante a execução (é ativada através da adição no código “require 'sorbet-runtime'”.

Há a possibilidade de uma migração gradual dos projetos para o uso do Sorbet — no código podem coexistir blocos tipificados com anotações e partes não tipificadas que não são verificadas. Entre as características, destaca-se também a alta performance e a escalabilidade para bases de código que incluem milhões de linhas de código.

O projeto inclui um núcleo para verificação de tipos estática,
ferramentas para criação de novos projetos utilizando o Sorbet, ferramentas para migração gradual de projetos existentes para o uso do Sorbet, runtime com uma linguagem orientada a objetos para escrever anotações de tipos e repositório com definições de tipos prontas para vários pacotes gems em Ruby.

Inicialmente, o Sorbet foi desenvolvido para verificar projetos internos da empresa Stripe, onde a maior parte dos sistemas de pagamento e análise é escrita na linguagem Ruby, e foi aberto ao público após um ano e meio de desenvolvimento e implementação. Antes da abertura do código, foi realizada uma fase beta, que contou com a participação de mais de 30 empresas. Na atual fase de desenvolvimento, o Sorbet suporta a execução da maioria dos projetos típicos em Ruby, embora algumas incompatibilidades possam ser observadas.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster