Über den Service
ÜbersetztIch schreibe Produktionssystemcode in ATS (Angewandtes Typsystem) — einer Sprache, die es Ihnen ermöglicht, die Geschwindigkeit von Bare Metal mit mathematisch verifiziertem Korrektheit zu kombinieren. Wenn Sie einen Treiber, eine eingebettete Routine, einen Parser oder einen kritischen Pfad benötigen, der kein Recht hat, Speicher zu lecken oder über einen Puffer hinaus zu lesen, werde ich diese Garantien direkt im Typsystem kodieren. In ATS zwingt mich der Compiler, Beweisverpflichtungen zu erfüllen, bevor der Code überhaupt kompiliert, sodass eine ganze Klasse von Fehlern, die unbemerkt in C-Releases rutschen, hier einfach nicht kompiliert. Die Arbeit beginnt mit Ihren Invarianten. Wir einigen uns darauf, was gelten muss: keine doppelten Freigaben, keine Pufferüberläufe, lineare Eigentümerschaft jeder Ressource, garantierte Beendigung rekursiver Routinen. Dann drücke ich dies in abhängigen Typen und linearen Beweisen aus, implementiere Code dagegen und liefere ein Ergebnis, das sein eigenes Sicherheitszertifikat trägt. Da ATS in sauberes C kompiliert, integriert sich das Ergebnis problemlos in Ihren Build und läuft ohne Overhead durch die Garbage Collection. Die Lieferung umfasst ATS-Quellen, generiertes C, ein Build-Skript, ein kleines Testgerüst mit Beweisannotationen und eine Textnotiz, die jede bewiesene Invarianz erklärt. Über Jahre der Low-Level-Arbeit habe ich lockfreie Strukturen und sichere ATS-Bindungen an Legacy-C-Bibliotheken aufgebaut. Über das Nachdenken über Zeiger, Größen und Lebensdauern auf der Ebene der formalen Logik ist für mich Routine. Beschreiben Sie eine Einschränkung, die Sie beunruhigt, und ich werde sie in ein Theorem umwandeln, das der Compiler bei jedem Neuaufbau überprüft.