- Der Haskell-Compiler GHC kann nun vollständig clientseitig im Browser ausgeführt werden
- Über die bereitgestellte Haskell-Playground-Demo können Nutzer Code ohne separate Installation direkt im Browser ausführen
- Die Funktion wird als Beispiel vorgestellt, das die Fortschritte des WebAssembly-(WasM-)Backends von GHC zeigt
- Im Brave-Browser wird die Demo nach einer kurzen Pause geladen; wenn die Erstellung eines Web Workers fehlschlägt, wird der Code im Haupt-Thread ausgeführt
- Im Safari-Browser erscheint dieselbe Warnmeldung, aber die Run-Schaltfläche bleibt deaktiviert
Demo: GHC im Browser
- GHC wird clientseitig im Browser ausgeführt und kann Haskell-Code ohne Server-Abhängigkeit kompilieren und ausführen
- Der Autor hat dies als Haskell-Playground-Demo veröffentlicht
- Weitere Details sollen später separat bereitgestellt werden
- Die Vorführung wird als Beispiel genannt, das den Entwicklungsstand des GHC-WebAssembly-Backends zeigt
Berichte zum Verhalten je nach Browser
- Im Brave-Browser lädt die Demo nach einigen Sekunden ohne Reaktion
- Es erscheint die Meldung „Web Worker konnte nicht erstellt werden“, woraufhin stattdessen der Code im Haupt-Thread ausgeführt wird
- Dadurch kann es zu UI-Hängern kommen
- Im Safari-Browser erscheint dieselbe Meldung, aber die Run-Schaltfläche ist deaktiviert, sodass der Code nicht ausgeführt werden kann
- Die Meldung enthält eine Warnung zu Monaco Editor und erwähnt, dass
MonacoEnvironment.getWorkerUrl oder getWorker definiert werden muss
Technische Bedeutung
- Dass GHC auf WebAssembly-Basis direkt im Browser ausgeführt werden kann, verbessert die Zugänglichkeit der Haskell-Entwicklungsumgebung
- Die zentrale Weiterentwicklung besteht darin, dass der Compiler ohne Server in einer rein clientseitigen Umgebung arbeiten kann
- Der Originaltext enthält keine weiteren technischen Details oder Leistungsvergleiche
1 Kommentare
Hacker-News-Kommentare
Der eigentliche Titel lautet „GHC now runs in your browser“
Dank QEMU-WASM frage ich mich inzwischen, was eigentlich nicht im Browser läuft Das ist keine Kritik, ich finde solche Versuche wirklich gut, weil man so neue Sprachen leicht ausprobieren kann
Schade ist, dass es noch keinen Weg gibt, Haskell (oder eine darauf basierende Sprache) vollständig zu bootstrappen Deshalb fühlt es sich so an, als sei Haskell für Linux-Distributionen mit hohem Vertrauensanspruch schwer nutzbar Das Ausführen in einer Browser-Sandbox ist ein Behelf, der das Risiko verringert, aber wenn man nicht aus dem Source bootstrappen kann, ist es schwer, der Sprache zu vertrauen
Ich erinnere mich daran, früher auf einem HP Jornada mit Jlime Linux einen Haskell-Interpreter benutzt zu haben Für den Matheunterricht war das wegen der bequemen Formeleingabe viel besser als ein Taschenrechner Es lief von einer CF-Karte, also war es wohl nicht so groß wie GHC, aber an den Namen erinnere ich mich nicht
Wirklich beeindruckend. Ich habe einmal mit Haskell eine Webseite für Mathematik- und Kunstunterricht (mathvas.com) gebaut, und mit so einem Tool wäre das viel einfacher gewesen
Stimmt. Verwandte Projekte findet man auch bei haskell-miso
Für Leute, die mit Haskell nicht vertraut sind: GHC ist der wichtigste Compiler und die interaktive Umgebung für Haskell
Ich frage mich, ob dieses Projekt WasmGC verwendet oder stattdessen einen eigenen Garbage Collector mitbringt
Ich würde gern wissen, was der Unterschied zwischen dieser Funktion und Technologien wie Blazor Wasm ist. Beides scheint Frontends ohne JS zu ermöglichen
Ich suche nach einem praktischen Haskell-Tutorial für Leute, die funktionale Programmierung bereits kennen Monaden, Typeclasses und HKT verstehe ich, aber ich kann trotzdem nicht einmal eine ToDo-App schreiben