Sorbet, statický systém kontroly typu pro Ruby, je open source.

Společnost Stripe, specializující se na vývoj platforem pro online platby, otevřel zdrojové kódy projektu Sorbet, v rámci kterého byl připraven systém statické typové kontroly pro jazyk Ruby. Kód je napsán v C++ a distribuovány licencováno pod Apache 2.0.

Informace o typech v kódu lze vypočítat dynamicky a lze je také zadat ve formě jednoduchých anotace, který lze zadat v kódu pomocí metody sig (například „sig {params(x: Integer).returns(String)}“) nebo umístit do samostatných souborů s příponou rbi. Возможен jako předběžné statická analýza kódu aniž byste jej provedli a zkontrolovali, jak se provádí (zapne se přidáním "vyžadovat 'sorbet-runtime'" do kódu.

Možnost zajištěna postupný překlad projekty k použití Sorbetu - kód může kombinovat jak anotované typované bloky, tak netypizované oblasti, na které se ověření nevztahuje. Mezi funkce patří také velmi vysoký výkon a možnost škálování pro báze kódu obsahující miliony řádků kódu.

Projekt obsahuje jádro pro statickou kontrolu typu,
sada nástrojů pro vytváření nových projektů pomocí Sorbetu, sada nástrojů pro postupný převod existujících projektů do použití Sorbet, runtime s jazykem specifickým pro doménu pro psaní anotací o typech a úložiště s hotovými definicemi typů pro různé balíčky drahokamů Ruby.

Původně byl Sorbet vyvinut pro kontrolu interních projektů společnosti Stripe, jejíž platební a analytické systémy jsou většinou napsány v jazyce Ruby, a po roce a půl vývoje a implementace byl převeden do kategorie open source. Před otevřením kódu proběhlo beta testování, kterého se zúčastnilo více než 30 společností. V současné fázi vývoje Sorbet podporuje spuštění většiny standardních projektů v Ruby, ale mohou se vyskytnout určité nekompatibility.

Zdroj: opennet.ru

Přidat komentář