Fay

Haskell auf Client-Seite

Alexander Mills (inf9433@fh-wedel.de)

Startseite | Inhaltsverzeichnis | Einleitung | Funktionsweise | Beispiele | Einschränkungen | Fazit | Quellen

Einleitung

Vorwort

Diese Seminararbeit beschäftigt sich mit dem Thema "Fay - Haskell auf Client-Seite". Zum Verständnis dieses Themas sind Kenntnisse in Haskell, JavaScript und HTML vorteilhaft.

Was ist Fay?

Fay ist ein von Chris Done und Adam Bergmann in Haskell programmierter Compiler, der eine syntaktische und semantische Untermenge von Haskell nach JavaScript kompilieren kann. Die vorteilhaften Eigenschaften von Haskell, wie zum Beispiel die Lazy-Evaluation und die statische Typisierung werden dabei sichergestellt, beziehungsweise in JavaScript implementiert.

Das JavaScript Problem

Fay ist einer der Lösungsansätze für das auf haskell.org aufgestellte JavaScript Problem. Hinter diesem Problem liegt das Dilemma, dass JavaScript viele Mängel hat, jedoch für plattformübergreifende Webentwicklung unumgänglich ist.


Dass JavaScript viele Schwächen hat ist allgemein bekannt. Die Probleme von JavaScript sind unter anderem:

Gerade die dynamische Typisierung ist ein Schwachpunkt, da zur Compilezeit keine Typüberprüfung durchgeführt werden kann und das entstandene Programm somit fehleranfälliger ist.

Lösungansatz

Das Problem lässt sich zusammenfassen als "Wir brauchen JavaScript, wollen aber kein JavaScript schreiben". Die Lösung für diese Problemstellung ist ein Compiler, welcher eine existierende Sprache nach JavaScript übersetzt. Die Quellsprache soll dabei Haskell sein, da die Eigenschaften von Haskell größtenteils genau das Gegenteil der Schwachpunkte von JavaScript sind. Dazu gehören:

Es gibt einige Projekte, deren Ziel die Umsetzung eines solchen Compilers ist. Eines dieser Projekte ist Fay.