Dr. Markus Voelters Session von der JAX 2018

Funktionale Programmierung: Interna einer funktionalen Sprache

Redaktion JAXenter

Wo von funktionaler Programmierung die Rede ist, sind funktionalen Sprachen meist nicht weit. In seiner Session auf der JAX 2018 erklärt Dr. Markus Voelter fortgeschrittene Konzepte, wie unter anderem Higher-Order-Funktionen, Currying, Effekt-Tracking und Caching von Funktionsaufrufen, auf Basis einer minimalen funktionalen Sprache.

Die Grundlagen funktionaler Programmierung, also Funktionen, unveränderbare Daten, und Assign-once-Variablen sind einfach zu verstehen. Schwieriger wird es für fortgeschrittene Konzepte. Dazu zählen unter anderem Higher-Order-Funktionen, Currying, Effekt-Tracking und Caching von Funktionsaufrufen sowie der systematische Umgang mit veränderbaren Daten oder zustandsbehaftetem Verhalten.

In seiner Session erklärt Dr. Markus Voelter diese Techniken auf Basis einer minimalen funktionalen Sprache. Über die letzten Jahre hat er eine eigene funktionale Programmiersprache gebaut, die als Kern von DSLs zum Einsatz kommt. Die Struktur und das Typsystem der Sprache sind in MPS entwickelt, die Semantik ist durch einen in Java implementierten Interpreter definiert. Alle Interna der Sprache sind also weitgehend deklarativ oder mittels Java-Code realisiert und eignen sich dadurch hervorragend zur Erläuterung der Konzepte. Die Session hat nicht zum Ziel, MPS als Language Workbench zu erklären. MPS ist nur didaktisches Werkzeug, um die Implementierung der interessanten Konzepte einer funktionalen Sprache zu erläutern. Die Session besteht zum Großteil aus Demo und Live Coding.

Funktionale Programmierung: Interna einer funktionalen Sprache von JAX TV auf Vimeo.

Dr. Markus Voelter works as a language engineer, bridging the gap from industry and business domains to software systems. He analyses domains, designs user-friendly languages and supporting analyses, and implements language tools and IDEs, architects efficient and reliable backends based on interpreters and generators. He also works on formalisms and meta-tools for language engineering. For 20 years Markus has consulted, coached and developed in a wide range of industries, including finance, automotive, health, science and IT. He has published numerous papers in peer-reviewed conferences and journals, has written several books on the subject and spoken at many industry conferences world-wide. Markus has a diploma in technical physics from FH Ravensburg-Weingarten and a PhD in computer science from TU Delft. Reach him via http://voelter.de

W-JAX 2019 Java-Dossier für Software-Architekten

Kostenlos: 30+ Seiten Java-Wissen von Experten

Sie finden Artikel zu EnterpriseTales, Microservices, Req4Arcs, Java Core und Angular-Abenteuer von Experten wie Uwe Friedrichsen (codecentric AG), Arne Limburg (Open Knowledge), Manfred Steyer (SOFTWAREarchitekt.at) und vielen weiteren.

 

Geschrieben von
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: