Parallele Implementierung funktionaler Programmiersprachen
Rita Loogen
Funktionale Programmiersprachen sind seiteneffektfrei und bilden daher eine vielversprechende Basis für die Programmierung von Parallelrechnern. Sie enthalten in der Regel keine expliziten Sprachkonstrukte zur Spezifizierung von Parallelität. Ein parallelisierender Compiler kann die in einem funktionalen Programm implizit enthaltene Parallelität entdecken und das Progamm in parallel ausführbare Prozesse zerlegen. Der Programmierer braucht sich also nicht, wie etwa in einer um Parallelkonstrukte erweiterten imperativen Programmiersprache, um die Verwaltung der parallelen Prozesse sowie Synchronisation und Kommunikation zu kümmern. Dies vereinfacht insbesondere die Programmierung von Systemen mit vielen Prozessoren. Auf der Grundlage einer einfachen funktionalen Beispielsprache, die den Kern aller funktionalen Sprachen umfaßt, werden in diesem Buch die Techniken zur automatischen Parallelisierung funktionaler Programme erläutert und formal spezifiziert. Im Vordergrund steht jedoch der sprachorientierte Entwurf einer Parallelrechnerarchitektur, die die Ausführung funktionaler Programme in besonderer Weise unterstützt.