Über den Service
ÜbersetztIch bin ein funktional-logischer Programmierer und arbeite professionell in Curry, daher biete ich an, deklarative Lösungen zu entwerfen und zu implementieren, wo gewöhnlicher imperativer Code in Verwirrung umschlägt. Curry kombiniert reine Funktionen im Haskell-Geist mit logischer Programmierung: Ich beschreibe eine Aufgabe als eine Menge von Relationen, und das Verengen und die nichtdeterministische Berechnung durchqueren selbst den Suchraum. Es ist mein tägliches Werkzeug. Im Laufe der Jahre habe ich Einschränkungslöser, Rätsel- und Zeitplan-Engines, Syntax-Analyzer und kleine Domänensprachen geschrieben, wobei ich immer lesbare Gleichungen der manuellen Schleifenoptimierung vorziehe. Der typische Arbeitsablauf ist: Wir einigen uns auf eine Spezifikation, ich modelliere die Domäne mit algebraischen Typen und Funktionsmustern, füge freie Variablen und nichtdeterministische Entscheidungen hinzu, wo eine Suche erforderlich ist, und kapsle das Ergebnis ein, sodass der aufrufende Code deterministische, testbare Antworten erhält. Die Hauptsysteme sind PAKCS und KiCS2; ich weiß, wie man erkennt, wo die Suche explodiert, und füge im Voraus Einschränkungen hinzu, um sie zu reduzieren. Die Ergebnisse umfassen kommentierten Quellcode, eine kurze Notiz zum deklarativen Modell, eine Test-Suite und einen Aufruf, um das Design durchzugehen, damit Ihr Team den Code warten kann. Ich helfe auch akademischen Projekten: Referenzimplementierungen für Arbeiten, Lehrbeispiele, reproduzierbare Artefakte zur Bewertung. Wenn Sie eine kombinatorische oder regelbasierte Aufgabe haben und eine klare Lösung benötigen, keine Black Box, ist Curry ideal, und ich freue mich, es mit Ihnen zu erstellen.