Företaget Stripe, som specialiserar sig pÄ att utveckla plattformar för onlinebetalningar, öppna kÀllkoder för projektet , i vilket det har skapats ett system för statisk typkontroll för sprÄket Ruby. Koden Àr skriven i C++ och Àr licensierad under Apache 2.0.
Typinformation i koden kan berÀknas dynamiskt samt anges i formen av enkla , som kan anges i koden med metoden sig (till exempel "sig {params(x: Integer).returns(String)}") eller placeras i separata filer med filÀndelsen rbi. bÄde för förhandsvisning utan att köra den, samt kontroll vid körning ( genom att lÀgga till "require 'sorbet-runtime'" i koden.
Det finns möjlighet till av projekt till att anvÀnda Sorbet - i koden kan bÄde annoterade typade block och icke-typade delar som inte omfattas av kontroll samexistera. Noterbart Àr ocksÄ den mycket höga prestandan och möjligheten till skalning för kodbaser som innehÄller miljontals rader kod.
Projektet innefattar en kÀrna för statisk typkontroll,
verktyg för att skapa nya projekt med hjÀlp av Sorbet, verktyg för gradvis övergÄng av befintliga projekt till anvÀndning av Sorbet, runtime med ett objektinriktat sprÄk för skrivande av typannoteringar och fÀrdiga typdefinitioner för olika gems-paket pÄ Ruby.
Sorbet utvecklades ursprungligen för att kontrollera interna projekt hos Stripe, dÀr den största delen av betalnings- och analysystemet Àr skrivet i Ruby, och blev öppet efter en och en halv Ärs utveckling och implementering. Innan koden öppnades genomfördes en betatestning dÀr över 30 företag deltog. PÄ nuvarande utvecklingsstadium stöder Sorbet körning av de flesta typiska projekt pÄ Ruby, men vissa inkompatibiliteter kan förekomma.
KĂ€lla: opennet.ru
