MyOwnSafe - Funktionale Programmierung in der Praxis - Teil 2

Die Active Group hat die Webanwendung MyOwnSafe für die MyOwnSafe GmbH entwickelt. Der Anwender kann in dieser Anwendung Informationen und Dokumente zu seinen Versicherungen, seinem Vermögen und sonstige persönliche Informationen ablegen und pflegen, sowie Vorkehrungen treffen um diese Informationen im Todes- oder Krankheitsfall bestimmten Personen zugänglich zu machen.

In einem vorherigen Artikel habe ich die Gesamtarchitektur und die eingesetzen Technologien beschrieben. Dieser Artikel soll an einem kleinen Ausschnitt der Software zeigen, wie die funktionale Programmierung in OCaml die Entwicklung vereinfachen und damit auch beschleunigen konnte.

Weiterlesen...

Ein Parser für HL7-Nachrichten in weniger als 180 Zeilen Haskell-Code

Ein Argument gegen die Benutzung funktionaler Sprachen in einem kommerziellen Produkt ist oft, dass es für solche „exotischen“ Sprachen nicht genügend Bibliotheken gäbe. Für ausgewachsene funktionale Sprachen wie Scala oder Haskell zieht dieses Argument längst nicht mehr, denn es gibt für beide Sprache eine Menge qualitativ hochwertiger Bibliotheken und Komponenten. Und sollte es doch mal vorkommen dass für ein etwas ungewöhnlicheres Problem keine Unterstützung durch eine Bibliothek vorhanden ist, kann man meistens in kurzer Zeit Abhilfe schaffen und sich selbst eine kleine Bibliothek zusammenstellen.

Heute wollen wir das anhand eines Parsers für HL7-Nachrichten durchexerzieren. HL7 ist ein weitverbreiteter Standard zum Austausch medizinischer Daten. Wir setzen diesen Standard bei uns in der Firma oft im Rahmen unseres Produktes Checkped MED ein, über das wir schon an anderer Stelle in diesem Blog berichtet haben. Da der Checkpad-Server hauptsächlich in Haskell geschrieben ist, benötigen wir in Haskell natürlich auch einen Parser für HL7-Nachrichten. Da es einen solchen nicht fertig erhältlich gibt, haben wir in kurzerhand selbstgeschrieben. Sie werden in diesem Artikel sehen, dass wir eine performante und robuste Implementierung in weniger als 180 Zeilen Haskell-Code erstellen können, und diese Zeilen enthalten auch die Datentypdefinition für die HL7-Nachrichten sowie Tests. Der Code des eigentlichen Parsers ist weniger als 50 Zeilen lang.

Weiterlesen...

Was ist funktionale Programmierung?

Was ist überhaupt „Funktionale Programmierung?“ Zur Beantwortung dieser Frage dürften sich viele Neueinsteiger in das Thema an Wikipedia wenden. Die entsprechende Seite in deutscher Sprache lässt aber einiges zu Wünschen übrig, was mich dazu veranlasst hat den Titel dieses Blogs einmal grundlegend zu erklären.

Weiterlesen...

Zurich FP Afternoon / Haskell-Hackathon

Wie schon letzte Woche mit der Ankündigung des CUFP-Workshops möchten wir auch diese Woche interessante Veranstaltungen vorstellen, die sich mit funktionaler Programmierung beschäftigt. Diese Mal geht es um den Zurich FP Afternoon und den ZuriHac 2013. Beide Veranstaltung finden von Donnerstag, 29.8. 2013 bis Sonntag, 1.9. 2013 in Zürich statt, sind also insbesondere aus dem süddeutschen Raum gut erreichbar.

Weiterlesen...

Commercial Users of Functional Programming 2013

Commercial Users of Functional Programming (CUFP) ist eine jährlich stattfindende Konferenz, zu der sich industrielle Anwender funktionaler Programmierung treffen. Die CUFP 2013 findet vom 22.-24.9. in Boston statt. Dieses Jahr ist die Anzahl von Einreichungen regelrecht explodiert - das Programm lohnt also den Besuch!

Weiterlesen...