Stripe, et selskab der specialiserer sig i udvikling af platforme til online-betalinger, projektets kildekoder , hvormed der er udviklet et system til statisk typeskanning for Ruby-sproget. Koden er skrevet i C++ og er under Apache 2.0-licensen.
Typeinformation i koden kan beregnes dynamisk og kan også angives i form af simple , som kan angives i koden ved hjælp af metoden sig (for eksempel "sig {params(x: Integer).returns(String)}") eller placeres i separate filer med udvidelsen rbi. både forudgående uden udførelse, såvel som kontrol under udførelse ( ved at tilføje "require 'sorbet-runtime'" til koden).
Der er mulighed for projekter til brug af Sorbet — i koden kan der kombineres både typede blokke med annoteringer og utypede sektioner, der ikke er dækket af kontrol. Blandt de bemærkelsesværdige funktioner er også meget høj ydeevne og mulighed for skalering for kodebaser, der inkluderer millioner af linjer kode.
Projektet omfatter en kerne til statisk typeskanning,
værktøjer til at oprette nye projekter ved hjælp af Sorbet, værktøjer til gradvis at konvertere eksisterende projekter til brug af Sorbet, runtime med et domænespecifikt sprog til at skrive annoteringer om typer og færdige type-definitioner for forskellige Ruby-gems.
Sorbet blev oprindeligt udviklet til at kontrollere virksomhedens interne projekter hos Stripe, hvor størstedelen af betalings- og analyzesystemerne er skrevet i Ruby, og blev åbnet som open source efter halvandet års udvikling og implementering. Forud for åbningen blev der udført beta-test, hvor over 30 virksomheder deltog. I den nuværende udviklingsfase understøtter Sorbet opstart af de fleste standardprojekter i Ruby, men der kan observeres enkelte inkompatibiliteter.
Kilde: opennet.ru
