Sorbet, sistem za provjeru statičkog tipa za Ruby, je otvorenog koda.

Kompanija Stripe, specijalizovana za razvoj platformi za online plaćanja, otvorio izvorni kodovi projekta Sorbet, u okviru kojeg je pripremljen statički sistem provjere tipova za jezik Ruby. Kod je napisan u C++ i distribuira licenciran pod Apache 2.0.

Informacije o tipovima u kodu mogu se izračunati dinamički, a mogu se specificirati iu obliku jednostavnog napomene, koji se može specificirati u kodu pomoću metode sig (na primjer, “sig {params(x: Integer).returns(String)}”) ili staviti u zasebne datoteke sa ekstenzijom rbi. Dostupno kao preliminarni statička analiza koda bez izvršavanja i provjeravanja kako se izvršava (uključi dodavanjem "require 'sorbet-runtime'" u kod.

Mogućnost osigurana postepeno prevođenje projekti za korištenje Sorbet-a - kod može kombinirati i označene otkucane blokove i neupisane oblasti koje nisu pokrivene verifikacijom. Karakteristike također uključuju vrlo visoke performanse i mogućnost skaliranja za baze koda koje sadrže milione linija koda.

Projekat uključuje kernel za statičku provjeru tipa,
komplet alata za kreiranje novih projekata koristeći Sorbet, set alata za postupni prijenos postojećih projekata na korištenje Sorbet, runtime sa jezikom specifičnim za domenu za pisanje napomena o tipovima i spremište sa gotovim definicijama tipa za razne Ruby gems pakete.

U početku, Sorbet je razvijen za provjeru internih projekata kompanije Stripe, čiji je većina platnih i analitičkih sistema napisan na jeziku Ruby, a nakon godinu i po dana razvoja i implementacije prebačen je u kategoriju open source. Prije otvaranja koda obavljeno je beta testiranje u kojem je učestvovalo više od 30 kompanija. U trenutnoj fazi razvoja, Sorbet podržava pokretanje većine standardnih projekata u Ruby-u, ali može postojati neke nekompatibilnosti.

izvor: opennet.ru

Dodajte komentar