Sorbet, senmova tipkontrolsistemo por Ruby, estas malfermfonta.

Stripe-kompanio, specialigita pri la disvolviĝo de platformoj por interretaj pagoj, malfermiĝis projektaj fontkodoj Sorbeto, ene de kiu senmova tipkontrolsistemo por la Ruby-lingvo estis preparita. La kodo estas skribita en C++ kaj distribuita de licencita sub Apache 2.0.

Informoj pri tipoj en la kodo povas esti kalkulita dinamike, kaj ankaŭ povas esti specifita en la formo de simpla komentarioj, kiu povas esti specifita en kodo uzante la sig-metodon (ekzemple, “sig {params(x: Entjero).returns(String)}”) aŭ metita en apartajn dosierojn kun la rbi etendo. Disponebla kiel preliminar statika kodanalizo sen ekzekuti ĝin, kaj kontrolante kiam ĝi estas ekzekutita (ŝaltas aldonante "postulu 'sorbet-runtime'" al la kodo.

Eblo provizita laŭgrada tradukado projektoj por uzi Sorbet - la kodo povas kombini kaj komentitajn tajpitajn blokojn kaj netajpitajn areojn ne kovritajn de konfirmo. Trajtoj ankaŭ inkluzivas tre altan rendimenton kaj la kapablon grimpi por kodbazoj enhavantaj milionojn da linioj de kodo.

La projekto inkluzivas kernon por senmova tipo-kontrolado,
ilaro por krei novajn projektojn per Sorbet, ilaro por paŝo post paŝo translokigo de ekzistantaj projektoj por uzi Sorbet, rultempo kun domajna specifa lingvo por skribi komentadojn pri tipoj kaj deponejo kun pretaj tipdifinoj por diversaj Ruby-gemoj-pakaĵoj.

Komence, Sorbet estis evoluigita por kontroli internajn projektojn de la kompanio Stripe, la plej multaj el kies pago kaj analizaj sistemoj estas skribitaj en la Ruby-lingvo, kaj estis translokigita al la kategorio de malferma fonto post jaro kaj duono de disvolviĝo kaj efektivigo. Antaŭ malfermi la kodon, beta-testado estis farita, en kiu partoprenis pli ol 30 kompanioj. En la nuna stadio de evoluo, Sorbet subtenas la lanĉon de la plej multaj normaj projektoj en Ruby, sed povas esti iuj nekongruoj.

fonto: opennet.ru

Aldoni komenton