Il codice di Sorbet, un sistema di controllo statico dei tipi per Ruby, è stato reso pubblico.

La società Stripe, specializzata nello sviluppo di piattaforme per pagamenti online, ha aperto i codici sorgente del progetto Sorbet, ha sviluppato un sistema di controllo statico dei tipi per il linguaggio Ruby. Il codice è scritto in C++ e distribuito sotto licenza Apache 2.0.

Le informazioni sui tipi nel codice possono essere calcolate dinamicamente, così come essere definite attraverso semplici annotazioni, 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. È possibile sia un'analisi statica del codice senza eseguirlo, sia un controllo durante l'esecuzione ( inclusaattraverso l'aggiunta nel codice di «require 'sorbet-runtime'»). È prevista la possibilità di

una migrazione graduale dei progetti per utilizzare Sorbet - nel codice possono coesistere blocchi tipizzati con annotazioni e sezioni non tipizzate non soggette a controllo. Tra le caratteristiche si segnala anche un'elevata prestazione e la capacità di scalare per basi di codice contenenti milioni di righe di codice. 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 repository 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

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster