Über den Service
ÜbersetztIch schreibe funktionale Software in Frege – im Wesentlichen ein Haskell-Dialekt, der in Java-Bytecode kompiliert und auf jeder JVM läuft. Wenn Ihr Team im Java-Ökosystem arbeitet, aber die Garantien der reinen funktionalen Programmierung wünscht, kann ich helfen, diese beiden Welten zu verbinden. In den letzten Jahren habe ich Dienste, Bibliotheken und Kommandozeilen-Utilities bereitgestellt, bei denen Faulheit, Unveränderlichkeit und strenge Typisierung ganze Klassen von Fehlern beseitigt haben, bevor der Code überhaupt in die Produktion gelangte. Typischerweise sieht meine Arbeit so aus. Ich entwerfe einen reinen Kern ohne Nebenwirkungen in Frege und schiebe alle Eingaben und Ausgaben an die Systemgrenzen, sodass die Geschäftslogik testbar und vorhersehbar bleibt. Ich verlasse mich auf das Typsystem, um Ihr Fachgebiet präzise zu modellieren: mit algebraischen Datentypen und Typklassen anstelle defensiver Nullprüfungen. Da Frege direkt auf der JVM läuft, schreibe ich sorgfältige Integrationsschichten, die vorhandene Java-Bibliotheken aufrufen, veraltete Klassen in sichere funktionale Wrapper einhüllen und Frege-Module zurück zur Verwendung aus Kotlin oder Java ohne Reibung bereitstellen. Faulheit ermöglicht es mir, Streaming-Pipelines und unendliche Strukturen auszudrücken, während ich den Speicher schone. Ich kümmere mich auch um praktische Dinge: Build-Setup über Gradle oder Maven, Verpackung, kontinuierliche Integration, QuickCheck-ähnliche eigenschaftsbasierte Tests und Dokumentation, die Ihre Java-Ingenieure verstehen werden. Das Ergebnis umfasst kommentierten Quellcode, einen reproduzierbaren Build, eine kurze Notiz zu den verwendeten Entwurfsmustern und eine Durchsprache mit Ihrem Team, damit Sie den Code anschließend selbst warten können. Egal, ob Sie einen Prototypen auf Richtigkeit umgeschrieben, ein kritisches Modul überarbeitet oder Mentoring in funktionalen Mustern auf der JVM benötigen – ich liefere Code, der von Grund auf korrekt ist und Freude an der Entwicklung bereitet.