A Stripe cég, amely online fizetési platformok fejlesztésére specializálódott, a projekt forráskódját , amely keretében létrehozták a Ruby nyelv statikus típusellenőrző rendszerét. A kód C++ nyelven íródott, és Apache 2.0 licenc alatt.
A kódban szereplő típusinformációk dinamikusan is kiszámíthatók, illetve egyszerű , 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. a kód előzetes végrehajtása nélkül, valamint futás közben is ellenőrizni ( a kódba a «require ‘sorbet-runtime'» hozzáadásával).
A folyamatos 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 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
