Megnyílt a Sorbet kódja, a Ruby statikus típusellenőrző rendszere

A Stripe cég, amely online fizetési platformok fejlesztésére specializálódott, megnyitotta a projekt forráskódját Sorbet, amely keretében létrehozták a Ruby nyelv statikus típusellenőrző rendszerét. A kód C++ nyelven íródott, és terjesztésre kerül Apache 2.0 licenc alatt.

A kódban szereplő típusinformációk dinamikusan is kiszámíthatók, illetve egyszerű annotációk, amelyeket a kódban a sig metódus segítségével (például: «sig {params(x: Integer).returns(String)}») vagy különálló .rbi kiterjesztésű fájlokban lehet megadni. Lehetséges a kód előzetes a kód statikus elemzését végrehajtása nélkül, valamint futás közben is ellenőrizni (beleértve a kódba a «require ‘sorbet-runtime'» hozzáadásával).

A folyamatos átállás lehetősége a projektek Sorbet használatára — a kódban kombinálhatók az annotációkkal kiegészített típusos blokkok és a típusellenőrzés alá nem eső, nem típusos részek. A kiemelkedő teljesítmény és a nagy skalálhatóság is említést nyer, különösen, ha a kódbázis több millió sor kódot tartalmaz.

A projekt magában foglalja a statikus típusellenőrzés magját,
eszközöket új projektek Sorbet használatához, eszközöket a meglévő projektek Sorbet alkalmazására történő fokozatos átállításához, egy runtime-ot, amely egy tárgyorientált nyelvet kínál az annotációk írásához, és tárhely kész típusdefiníciókkal a különböző Ruby gems csomagokhoz.

A Sorbet-et eredetileg a Stripe belső projektjeinek ellenőrzésére fejlesztették, amelynek túlnyomó része Ruby nyelven íródott, és másfél év fejlesztés és bevezetés után nyílt forráskódúvá vált. A kód megnyitása előtt egy bétatesztelés zajlott, amelyen több mint 30 vállalat vett részt. A Sorbet jelenlegi fejlesztési szakaszában a Ruby legtípusosabb projektjeinek futtatását támogatja, de előfordulhatnak egyes inkompatibilitások.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster