From 9654dd0c3e85236309e38fb84c9759e70b53be01 Mon Sep 17 00:00:00 2001 From: Arman Date: Sat, 20 Jun 2026 13:33:27 +0530 Subject: [PATCH] docs: add blog post evaluating GHC WASM for browser-based execution and supporting architecture diagrams --- ...asm-for-browser-based-haskell-execution.md | 173 ++++++++++++++++++ .../1.Understanding Ghc browser diagram.png | Bin 0 -> 17269 bytes images/2.traditional vs native diag.png | Bin 0 -> 2771 bytes images/3.native diag.png | Bin 0 -> 3161 bytes images/4.architecure diag.png | Bin 0 -> 21719 bytes images/5.webassembly diag.png | Bin 0 -> 11352 bytes images/6.wasi working.png | Bin 0 -> 3892 bytes images/7.execution flow.png | Bin 0 -> 46928 bytes images/8.working module.png | Bin 0 -> 16522 bytes 9 files changed, 173 insertions(+) create mode 100644 _posts/2026-06-20-evaluating-ghc-wasm-for-browser-based-haskell-execution.md create mode 100644 images/1.Understanding Ghc browser diagram.png create mode 100644 images/2.traditional vs native diag.png create mode 100644 images/3.native diag.png create mode 100644 images/4.architecure diag.png create mode 100644 images/5.webassembly diag.png create mode 100644 images/6.wasi working.png create mode 100644 images/7.execution flow.png create mode 100644 images/8.working module.png diff --git a/_posts/2026-06-20-evaluating-ghc-wasm-for-browser-based-haskell-execution.md b/_posts/2026-06-20-evaluating-ghc-wasm-for-browser-based-haskell-execution.md new file mode 100644 index 0000000..6d479ae --- /dev/null +++ b/_posts/2026-06-20-evaluating-ghc-wasm-for-browser-based-haskell-execution.md @@ -0,0 +1,173 @@ +--- +layout: post +title: "Evaluating GHC WASM for Browser-Based Haskell Execution" +date: 2026-06-20 12:56:00 +0530 +categories: blog +--- + + + +**GHC in the Browser** + +*How WebAssembly makes a full Haskell compiler run client-side* + +Arman Sanjay Choudhary · GSoC 2026 · Haskell.org + +# **Introduction: Exploring GHC in the Browser** + +As part of my Google Summer of Code 2026 project with Haskell.org, I am working on integrating a GHC/WebAssembly backend into **xeus-haskell** — a Jupyter kernel for Haskell that currently runs on MicroHs. My task is to implement a Wasm-based GHC kernel so that xeus-haskell can support the full GHC language and a broader set of Hackage packages inside JupyterLite. + +Before building it, I studied **GHC in Browser** — an existing project that already runs GHC entirely in the browser using WebAssembly. Understanding how it works is the most direct preparation for the implementation work ahead. + +This article documents what I learned: how the major components connect, how code moves through the system, and which design choices make browser-native GHC execution possible. It is not a deep implementation guide — it is a system-level walkthrough written to inform the xeus-haskell integration. + +## **Motivation** + +The main motivation is to make Haskell easier to access. Today, using Haskell interactively usually requires either a server running in the background or a local GHC installation. Both can make it harder for new users to get started. + +Running Haskell directly in the browser changes that. A student can open a URL and start writing code immediately without installing anything. This makes Haskell easier to use in classrooms, tutorials, online playgrounds, and browser-based notebooks. + +It also has some practical benefits: + +* Easier for beginners to get started. +* Useful for education and interactive learning. +* Works well with browser-based notebooks such as JupyterLite. +* Reduces the need for dedicated server infrastructure. +* Benefits from the browser's built-in security sandbox. +* Can continue working offline after the initial download. + +These are some of the reasons why browser-native Haskell is interesting and why understanding projects like **GHC in Browser** is useful for future work on **xeus-haskell**. + +**1\. Understanding GHC in Browser** + +Before examining implementation details, it is useful to understand the system from a high level. + +From a user's perspective, the workflow is straightforward: + +1. Open the web application. +2. Write Haskell code. +3. Press Run. +4. Receive the result. + +Internally, several components cooperate to make this possible. + +![Understanding GHC in Browser](/images/1.Understanding%20Ghc%20browser%20diagram.png) + +The browser hosts both the user interface and the compiler runtime. Supporting infrastructure such as a virtual filesystem and WebAssembly runtime provides the environment that GHC expects during compilation and execution. + +**1.1 Traditional vs Browser-Native Execution** + +Historically, most online programming environments followed a server-based architecture. + +![Traditional vs native execution](/images/2.traditional%20vs%20native%20diag.png) + +The browser acted primarily as a client while compilation and execution occurred on remote infrastructure. + +In contrast, GHC in Browser moves the execution environment into the browser itself. + +![Browser-native execution](/images/3.native%20diag.png) + +After the application has loaded, code compilation and execution occur locally within the user's browser session. + +This architectural shift changes where computation occurs, reduces dependence on remote infrastructure, and provides a useful foundation for browser-native development tools. + +# **1.2 Architectural Questions** + +While exploring the project, I focused on four questions: + +1. How is GHC compiled to WebAssembly? +2. How does the browser provide the environment expected by GHC? +3. How are compiled artifacts loaded and executed? +4. How does the system remain responsive during compilation? + +The remainder of this article examines the components involved in answering these questions. + +**2\. Architecture Overview** + +The system can be viewed as four major layers. + +![Architecture overview](/images/4.architecure%20diag.png) + +Each layer has a distinct responsibility: + +| Layer | Responsibility | +| :---- | :---- | +| **User Interface** | Code editing and result presentation | +| **JavaScript Runtime** | Loading modules and coordinating execution | +| **GHC WebAssembly Runtime** | Interpreted and program execution | +| **Browser Platform** | WebAssembly execution and browser APIs | + +**2.1 The Role of WebAssembly** + +At the core of the system is WebAssembly (Wasm), a portable binary format designed to run efficiently across different platforms. Instead of interpreting GHC for a traditional operating system, the interpreter is built for the WebAssembly target and executed inside the browser. + +This allows the browser to host a complete Haskell toolchain without requiring a remote server. Once the required resources have been downloaded, execution happens locally on the user's machine. + +![WebAssembly execution model](/images/5.webassembly%20diag.png) + +WebAssembly provides the execution environment, while JavaScript supplies the browser-specific functionality needed by the interpreter. + +**2.3 The Role of WASI** + +GHC expects access to features normally provided by an operating system, including files, directories, and standard input/output streams. Browsers do not provide these interfaces directly. + +To bridge this gap, GHC in Browser relies on the WebAssembly System Interface (WASI). WASI provides a standard set of APIs that allow WebAssembly programs to interact with their environment in a controlled and portable manner. + +![WASI working diagram](/images/6.wasi%20working.png) + +Using WASI, the browser can provide many of the services that GHC expects while still maintaining the browser's security model. + +**3\. Execution Flow** + +Once the environment has been initialized, the execution process follows a predictable sequence. + +## **3.1 From Code to Result** + +When a user presses **Run**, the browser sends the source code to the GHC runtime for compilation and evaluation. + +![Execution flow](/images/7.execution%20flow.png) + +From the user's perspective, this appears as a simple request-and-response workflow. Internally, however, the code passes through several compilation stages before the final result is produced. + +# + +# **3.2 Why a Virtual Filesystem is Needed** + +A traditional GHC installation relies heavily on files stored on disk. Standard libraries, package metadata, and temporary compilation artifacts are all accessed through the filesystem. + +Because browsers do not provide a traditional filesystem, GHC in Browser creates a virtual filesystem that mimics the structure expected by the compiler. + +The virtual filesystem contains: + +* GHC runtime resources +* Standard Haskell libraries +* Package information +* Temporary files used during compilation + +From the compiler's perspective, this environment behaves similarly to a normal local installation. + +# **4\. Relevance to xeus-haskell** + +The ideas explored in GHC in Browser are particularly relevant to the ongoing work on xeus-haskell. A browser-compatible GHC runtime could eventually allow notebook environments to execute Haskell code locally without depending on a remote execution service. + +![Working module diagram](/images/8.working%20module.png) + +While the implementation details will differ, many of the same architectural concepts—WebAssembly execution, filesystem virtualization, and browser-based runtime management—are directly applicable. + +### **5\. Key Takeaways** + +* GHC in Browser demonstrates that a full GHC toolchain can run inside a web browser using WebAssembly. +* The system combines multiple components, including a browser interface, JavaScript runtime, GHC WebAssembly runtime, and a virtual filesystem. +* WebAssembly provides the execution environment, while WASI and browser APIs help supply the services that GHC normally expects from an operating system. +* After the initial application loads, compilation and execution take place locally in the user's browser rather than on a remote server. +* The architecture provides useful ideas for future browser-based Haskell tools, including notebook environments built on xeus-haskell and JupyterLite. + +# + +# **6\. Conclusion** + +GHC in Browser is an interesting example of how modern WebAssembly technology can move traditionally server-side development tools into the browser. By combining a WebAssembly-compiled version of GHC with supporting runtime infrastructure, the project makes it possible to compile and run Haskell code locally within a browser session. + +For my GSoC project, this exploration served as a foundation for understanding how a browser-native Haskell environment can be built. Many of the ideas used in GHC in Browser—such as WebAssembly execution, virtual filesystem support, and browser-based runtime management—are directly relevant to the planned integration of a GHC/WebAssembly backend into xeus-haskell. + +While the implementation details will differ, studying GHC in Browser provided valuable insight into the architectural challenges and design decisions involved in bringing the Haskell ecosystem closer to browser-based notebooks and interactive computing environments. As WebAssembly continues to mature, projects like these may help make Haskell tooling more accessible to students, educators, and developers without requiring complex local installations or dedicated server infrastructure. diff --git a/images/1.Understanding Ghc browser diagram.png b/images/1.Understanding Ghc browser diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..77e2e9f337b943ac4cb0ac7803a35c7c9cb541cc GIT binary patch literal 17269 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 literal 0 HcmV?d00001 diff --git a/images/2.traditional vs native diag.png b/images/2.traditional vs native diag.png new file mode 100644 index 0000000000000000000000000000000000000000..be82207a13c34501fa0731b6e8b64318df41ae1c GIT binary patch literal 2771 zcmds2dpHwp8~0Y;l2qQeno~BCNG7F3vK)qql`~_T^C71&haBdRLv8cUF|!DBSj=f= z4wGq)sbNUrmFn{@WD;_C5#Rdv`>Vgd`?{Xr^Lwt}@4m0+zOMUvo=11!rV@u`4vUD0 zNWjdDtwluk0fZcPXulA_uB1WX_FI^>si8>ipxnIhaKOjF(m+InP88p96BWAgcPwn7 zQc_Y85fRPJ&Gq&5OeWLX+Bz~avZ<-b+}u1iHkL}I>gnkf78cq&IA~tFl$n)PR8(YZ zXGbEDDk>^0;qbDuvb?-JGZ+jA0^#v^GMQ{*YMPamMWImiA&{ctVj7L+;^HzoIvN%h z#%8k#1j2<27o?@7&!0c9tE&rx!R+nr-Q3*#{r#h(qvPY_lai8>lao_YQsUy`f`fy- zyu1(ygoTBLqobp$sw#)WdHndXtgI{;3^p`0w6nAG_4Q3nO-)Ehc<|uCqeqW$I9ys< zT0lU6tE;Plfx)FqmlPEhTU%R)hli`Ht35nCOiWCmP$-c|OiWD7&dx3`FYoW~Z)s`C z&(9AE3i9#sad&q|qtQqt(%ISB&(AM3H1y%ahrPYMjg5`>@89q1>+|;ZhCm=085yOe zrNza?>FMd7o}La44o*%^;o;#`RaG4w9i5$>0|Ntu^z_==S~whj>+1u7Kx1R$k&%(-&!6K7gs!fxy1KfYoSbXdt_=7){4@)T(6A&9EdfbR zAgidT(5kTv2E)k6h+IuRbLI?MMQoVz>E!Sqfm?Q zx6wA?a(&AoCpD0ky5lN(AI}=^6MJqYCY2#wR-6O|DcN4-MTnioeourVZYU?W6kl(KyUd5QX$3n$`73iL z)%xr#)d^LoH5bdk_c`R1tuYVTQv|1m3Qe8+f!QiJ_Zi(T7HK2aEpBj2;ucxviFU2J zBU82XYVay|K%L2FAk><)`Wl&emgDAUn0A)N0Jm?QP2&|gViFSNe@6-mY73xQ9sZF& z4EQi>R@gv1V~LYI`T(5cRcpGrP;ZB-ePs zj1}PqoHF!<(8ZGa+^Cv@k%Xmn#P;)~ws(_5Z9HAi0}*cYb#eW@7^?5TrG~m~<68qb z`tp}~4DZ7#rlXF{{4$Z^T9VCuCviKHI2z7EAHNWXYJ&UA!-l}Ak1t01PA1;?zWw6h zkEHgY1lPg=wc5_&j@x>p=Btl96bI7Hrrh)(>{&li4)-$ z()pMP73VD@$a_j$Sv^MK2WND)Jj^8D`k)|k%e+{8@n@lcwHfEMMl)UH)uIod^;bWc zqK>Hp1L$S1PqDOI`Ok)%#m_$o^b#~YDva<83roIe?a0dTreijy-iS(^m^0kYkQ^5s zQ(rRthQS8>De(F6z3K1yEYt}L-ppv5IQe2dbrn3dzv#&KBbI+)ly0<1#m1M6q_i{q z>wos)4QS$cY1W4{EI7=&#$pe??>%rs|7{Od+Ai>wPAat$|3Z=5c3kj1KXpCR5g@kg z)t7TjUvCY(&p~=8<%B12Sl?4A!fokm=F#lGZbefKH1IFT^BA32tnSv3mK@r;pt5{( z^`v`a=wF{IBR`dBcOPvU7W-=R09ntdiBk&eOnm!K7iIie>^GsTpe}W4enxDaZ8ITi z$7Q(&&oYln`yqMj?`9>mKuGGy;v1c~=s!0x#Pv-ZB!{S>s_CU4w_v2xd#|Fu>kuZU*J0(gXZV<{>nR3Wu*V3j*EsOt_i1`x>b*FFp zPhM@^q^=ajmju1pkc=bwugjNYn&Xr!b|&S+0-d0?{S{kGsm?;OS=3feHcz4J%r z6*)OESL%s!JF7f&`Pmu|#$g$*L{E<>V*^z;!JfIf%QF)`h;z|prLC|T?;u-11tx6U zp6~IY^AJlaanA^#Jeu2)>oJvNg(O+D%G4DMLmlUKTi?E%-)gmQDHfN;a7um=q^DCj z5a5&?0+OWa8d!k-ef{`b7TMM1b$@n-W0KUInKzQw4cHWf&B0Tx;l>^k2)c BtFZt8 literal 0 HcmV?d00001 diff --git a/images/3.native diag.png b/images/3.native diag.png new file mode 100644 index 0000000000000000000000000000000000000000..c7d279cb4819845fe9d79b7ec8052d1dc2bc38cf GIT binary patch literal 3161 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 literal 0 HcmV?d00001 diff --git a/images/6.wasi working.png b/images/6.wasi working.png new file mode 100644 index 0000000000000000000000000000000000000000..d759284bcc1d40fb045b6ee755938ccdb284a1fc GIT binary patch literal 3892 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 Q>HoN2uyKIZTV1>PKb1*%OaK4? literal 0 HcmV?d00001 diff --git a/images/7.execution flow.png b/images/7.execution flow.png new file mode 100644 index 0000000000000000000000000000000000000000..0cbf2f433c5af18ea1fd75c6c37c93d9f4b8f346 GIT binary patch literal 46928 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�<}}~VmuH9MObQ+?*X!-zrG-Vyt2*D$ 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 literal 0 HcmV?d00001 diff --git a/images/8.working module.png b/images/8.working module.png new file mode 100644 index 0000000000000000000000000000000000000000..c8fae2a99c51188491df2c7eac9b6fdd7173a552 GIT binary patch literal 16522 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 literal 0 HcmV?d00001