Kompani Stripe, e specializuar në zhvillimin e platformave për pagat online, tekstet origjinale të projektit , ku është përgatitur një sistem për kontrollin statik të tipeve për gjuhën Ruby. Kodi është shkruar në gjuhën C++ dhe nën licencën Apache 2.0.
Informacioni mbi tipet nĂ« kod mund tĂ« llogaritet dinamikisht, si dhe tĂ« caktohet nĂ« formĂ«n e , tĂ« cilat mund tĂ« specifikohen nĂ« kod pĂ«rmes metodĂ«s sig (pĂ«r shembull, «sig {params(x: Integer).returns(String)}») ose tĂ« vendosen nĂ« skedarĂ« tĂ« ndarĂ« me zgjerim rbi. si njĂ« kontroll paraprak pa e ekzekutuar atĂ«, ashtu si dhe kontrollimi gjatĂ« ekzekutimit ( nĂ«pĂ«rmjet shtimit nĂ« kod «require âsorbet-runtime'».
Parashikohet mundĂ«sia tĂ« projekteve pĂ«r pĂ«rdorimin e Sorbet â nĂ« kod mund tĂ« pĂ«rzihen si blloqet e tipizuara me annotacione, ashtu edhe pjesĂ«t jo tĂ« tipizuara qĂ« nuk mbulohen nga kontrolli. Nga veçoritĂ« pĂ«rmendet gjithashtu performanca shumĂ« e lartĂ« dhe mundĂ«sia e shkallĂ«zimit pĂ«r baza kodi qĂ« pĂ«rfshijnĂ« miliona rreshta kodi.
Në projekt përfshihet një bërthamë për kontrollin statik të tipeve,
një mjet për krijimin e projekteve të reja duke përdorur Sorbet, një mjet për përkthimin graduale të projekteve ekzistuese në përdorimin e Sorbet, runtime me një gjuhë të orientuar drejt temave për shkruajtjen e annotacioneve mbi tipe dhe me përkufizime të gatshme për tipe të ndryshme të pakove gems në Ruby.
Në fillim, Sorbet u zhvillua për kontrollin e projekteve të brendshme të kompanisë Stripe, të cilat shumë prej sistemeve të pagesave dhe atyre analitike janë të shkruara në gjuhën Ruby, dhe u kalua në statusin e hapur pas njëvjetori të zhvillimit dhe implementimit. Para hapjes së kodit u zhvillua një testim beta, në të cilin morën pjesë më shumë se 30 kompani. Në fazën aktuale të zhvillimit, Sorbet mbështet ekzekutimin e shumicës së projekteve standarde në Ruby, por mund të shfaqen disa mospoftimësi të veçanta.
Burimi: opennet.ru
