La società Stripe, specializzata nello sviluppo di piattaforme per pagamenti online, i codici sorgente del progetto , ha sviluppato un sistema di controllo statico dei tipi per il linguaggio Ruby. Il codice è scritto in C++ e sotto licenza Apache 2.0.
Le informazioni sui tipi nel codice possono essere calcolate dinamicamente, così come essere definite attraverso semplici , che possono essere specificate nel codice utilizzando il metodo sig (ad esempio, «sig {params(x: Integer).returns(String)}») o collocate in file separati con estensione rbi. sia un'analisi statica del codice inclusa È prevista la possibilità di
una migrazione graduale Il progetto comprende un nucleo per il controllo statico dei tipi,
Il progetto include un nucleo per il controllo statico dei tipi,
strumento per la creazione di nuovi progetti utilizzando Sorbet, strumento per la traduzione graduale di progetti esistenti su Sorbet, runtime con un linguaggio orientato agli oggetti per scrivere annotazioni sui tipi e con definizioni di tipo pronte per vari pacchetti gems su Ruby.
Inizialmente, Sorbet è stato sviluppato per il controllo dei progetti interni dell'azienda Stripe, gran parte dei sistemi di pagamento e analitici della quale è scritta in Ruby, ed è stato reso open source dopo un anno e mezzo di sviluppo e implementazione. Prima dell'apertura del codice, è stata condotta una beta testing a cui hanno partecipato oltre 30 aziende. Nella fase attuale di sviluppo, Sorbet supporta l'esecuzione della maggior parte dei progetti tipici su Ruby, ma potrebbero verificarsi alcune incompatibilità.
Fonte: opennet.ru
