Über den Service
ÜbersetztIch bin ein Standard ML-Entwickler und schreibe Code, der korrekt sein muss: Compiler, Interpreter, statische Analysatoren, domänenspezifische Sprachen und Werkzeuge zur Unterstützung formaler Beweisführung. Ich arbeite speziell in der ML-Familie — SML/NJ für interaktive Entwicklung und schnelles Prototyping, MLton für die Optimierung des gesamten Programms und schnelle native Binärdateien, Poly/ML, wo ein reaktionsschnelles REPL über einen großen Codebestand benötigt wird. Das ist nicht Haskell, OCaml oder F#, sondern Standard ML mit seiner präzisen formalen Definition, algebraischen Typen, erschöpfendem Pattern Matching und, entscheidend, einem leistungsstarken Modulsystem aus Strukturen, Signaturen und Funktoren, das es Ihnen ermöglicht, große Systeme entsprechend ihren Schnittstellen zusammenzustellen.
Meine tägliche Arbeit besteht darin, Grammatik oder Semantik in funktionierenden, wartbaren Code umzuwandeln. Ich entwerfe abstrakte Syntax, schreibe Lexer und Parser, baue Typprüfungen und Elaborationsdurchläufe, senke alles auf Zwischenrepräsentationen und generiere oder interpretiere Ergebnisse. Ich sorge dafür, dass ungültige Zustände nicht darstellbar sind: Ich backe Invarianten in das Typsystem ein, sodass der Compiler ganze Klassen von Fehlern ausschließt, bevor der erste Test erfolgt. Wenn Korrektheit bewiesen werden muss, anstatt nur überprüft zu werden, verlinke ich SML-Code mit Beweissystemen und Spezifikationswerkzeugen, schreibe eigenschaftsbasierte Tests und Referenzinterpreter, um das Verhalten genau festzulegen.
Ich fühle mich wohl dabei, einer Forschungsgruppe, einem Sprachteam oder einem Unternehmen beizutreten, das ein ausgereiftes SML-System geerbt hat und jemanden benötigt, der sich darin auskennt. Ich lese die Funktoren anderer Leute, entwirre komplexe Signaturen, füge Funktionen hinzu, ohne Abstraktionsgrenzen zu brechen, und dokumentiere das Vorgehen, damit die nächste Person folgen kann. Sag mir, welche Sprache, Invarianz oder Durchlauf du benötigst, und ich gebe dir sauberen, typisierten, gut strukturierten Standard ML, auf den du dich verlassen kannst.
— Compiler und Interpreter auf SML/NJ, MLton, Poly/ML
— Lexer, Parser, Typprüfung und Elaborationsdurchläufe
— Modulentwurf: Strukturen, Signaturen und Funktoren
— Domänenspezifische Sprachen und eingebettete Interpreter
— Eigenschaftsbasierte Tests und Validierung von Referenzinterpreter
— Formale Beweisführung, Spezifikationen und Beweisintegration
— Refactoring und Wartung geerbten Standard ML-Codes
Meine tägliche Arbeit besteht darin, Grammatik oder Semantik in funktionierenden, wartbaren Code umzuwandeln. Ich entwerfe abstrakte Syntax, schreibe Lexer und Parser, baue Typprüfungen und Elaborationsdurchläufe, senke alles auf Zwischenrepräsentationen und generiere oder interpretiere Ergebnisse. Ich sorge dafür, dass ungültige Zustände nicht darstellbar sind: Ich backe Invarianten in das Typsystem ein, sodass der Compiler ganze Klassen von Fehlern ausschließt, bevor der erste Test erfolgt. Wenn Korrektheit bewiesen werden muss, anstatt nur überprüft zu werden, verlinke ich SML-Code mit Beweissystemen und Spezifikationswerkzeugen, schreibe eigenschaftsbasierte Tests und Referenzinterpreter, um das Verhalten genau festzulegen.
Ich fühle mich wohl dabei, einer Forschungsgruppe, einem Sprachteam oder einem Unternehmen beizutreten, das ein ausgereiftes SML-System geerbt hat und jemanden benötigt, der sich darin auskennt. Ich lese die Funktoren anderer Leute, entwirre komplexe Signaturen, füge Funktionen hinzu, ohne Abstraktionsgrenzen zu brechen, und dokumentiere das Vorgehen, damit die nächste Person folgen kann. Sag mir, welche Sprache, Invarianz oder Durchlauf du benötigst, und ich gebe dir sauberen, typisierten, gut strukturierten Standard ML, auf den du dich verlassen kannst.
— Compiler und Interpreter auf SML/NJ, MLton, Poly/ML
— Lexer, Parser, Typprüfung und Elaborationsdurchläufe
— Modulentwurf: Strukturen, Signaturen und Funktoren
— Domänenspezifische Sprachen und eingebettete Interpreter
— Eigenschaftsbasierte Tests und Validierung von Referenzinterpreter
— Formale Beweisführung, Spezifikationen und Beweisintegration
— Refactoring und Wartung geerbten Standard ML-Codes