Se ha abierto el código de Sorbet, un sistema de verificación estática de tipos para Ruby

La empresa Stripe, especializada en el desarrollo de plataformas para pagos en línea, abrió los textos originales del proyecto Sorbet, en el cual se ha desarrollado un sistema de verificación estática de tipos para el lenguaje Ruby. El código está escrito en C++ y se distribuye bajo la licencia Apache 2.0.

La información sobre los tipos en el código puede calcularse dinámicamente, así como definirse en forma de simples anotaciones, que pueden especificarse en el código mediante el método sig (por ejemplo, «sig {params(x: Integer).returns(String)}») o colocarse en archivos separados con la extensión rbi. Es posible tanto de manera preliminar análisis estático de código sin su ejecución, como hacer verificaciones en tiempo de ejecución (se activa agregando en el código «require ‘sorbet-runtime'»).

Se prevé la posibilidad de una transición gradual de proyectos al uso de Sorbet: el código puede combinar bloques tipados con anotaciones y sectores no tipados no cubiertos por la verificación. Entre las características también se destaca un rendimiento muy alto y la capacidad de escalar para bases de código que incluyen millones de líneas.

El proyecto incluye un núcleo para la verificación estática de tipos,
herramientas para crear nuevos proyectos utilizando Sorbet, herramientas para la transición gradual de la aplicación de Sorbet a proyectos existentes, tiempo de ejecución con un lenguaje orientado a objetos para la redacción de anotaciones sobre tipos y principal definiciones de tipos listas para varios gems de Ruby.

Inicialmente, Sorbet se desarrolló para la verificación de proyectos internos de la empresa Stripe, donde la mayor parte de los sistemas de pagos y análisis están escritos en Ruby, y se convirtió en un proyecto de código abierto después de un año y medio de desarrollo e implementación. Antes de abrir el código, se realizó una prueba beta en la que participaron más de 30 empresas. En la etapa actual de desarrollo, Sorbet soporta la ejecución de la mayoría de los proyectos típicos en Ruby, aunque pueden producirse algunas incompatibilidades.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster