Compania Stripe, specializată în dezvoltarea platformelor pentru plăți online, codurile sursă ale proiectului , în cadrul căruia a fost pregătită o sistemă de verificare statică a tipurilor pentru limbajul Ruby. Codul este scris în C++ și sub licența Apache 2.0.
Informațiile despre tipuri în cod pot fi calculate dinamic, dar pot fi de asemenea specificate sub formă de , care pot fi indicate în cod folosind metoda sig (de exemplu, „sig {params(x: Integer).returns(String)}”) sau pot fi plasate în fișiere separate cu extensia rbi. atât analiza fără a-l executa, cât și verificarea pe măsură ce acesta este executat ( prin adăugarea în cod a „require ‘sorbet-runtime'”).
Există posibilitatea proiectele la utilizarea Sorbet — în cod pot coexista atât blocuri tipizate cu anotări, cât și părți netipizate care nu sunt acoperite de verificare. Printre caracteristici se remarcă de asemenea performanța foarte ridicată și capacitatea de scalare pentru coduri care conțin milioane de linii de cod.
Proiectul include un nucleu pentru verificarea statică a tipurilor,
un set de instrumente pentru crearea de noi proiecte cu Sorbet, un set de instrumente pentru trecerea treptată la utilizarea Sorbet pentru proiecte existente, runtime cu un limbaj orientat pe subiect pentru scrierea annotațiilor de tip și definiții de tipuri gata pregătite pentru diverse pachete gems pe Ruby.
Inițial, Sorbet a fost dezvoltat pentru a verifica proiectele interne ale companiei Stripe, cea mai mare parte a sistemelor de plată și analiză fiind scrisă în Ruby, și a fost deschis după un an și jumătate de dezvoltare și implementare. Înainte de deschiderea codului, a fost efectuat un test beta, la care au participat peste 30 de companii. În stadiul curent de dezvoltare, Sorbet suportă rularea majorității proiectelor tipice pe Ruby, dar pot apărea unele incompatibilități.
Sursa: opennet.ro
