Skip to content

docs: add blog post evaluating GHC WASM for browser-based execution and supporting architecture diagrams#8

Open
Arman-op wants to merge 1 commit into
DataHaskell:masterfrom
Arman-op:GHC-in-Browser-blog-post
Open

docs: add blog post evaluating GHC WASM for browser-based execution and supporting architecture diagrams#8
Arman-op wants to merge 1 commit into
DataHaskell:masterfrom
Arman-op:GHC-in-Browser-blog-post

Conversation

@Arman-op

Copy link
Copy Markdown

Summary

This PR adds a new DataHaskell blog post documenting an evaluation of the GHC/WebAssembly (GHC/Wasm) toolchain for browser-based Haskell execution, written as part of my GSoC 2026 project with Haskell.org.

The article is a system-level walkthrough of the GHC in Browser project, explaining how GHC is compiled to WebAssembly and executed entirely within a browser environment. The investigation was conducted to better understand the feasibility of integrating a GHC/Wasm backend into xeus-haskell for browser-based notebook environments such as JupyterLite.

What's Covered

  • How GHC is compiled to WebAssembly and executed in the browser
  • The role of WASI in providing filesystem and I/O capabilities within a browser sandbox
  • Architecture overview: UI layer, JavaScript runtime, GHC Wasm runtime, and browser platform
  • Execution flow from source code to compiled result
  • Virtual filesystem design for in-browser package and library access
  • Runtime architecture and module interactions
  • Relevance and implications for future xeus-haskell / JupyterLite integration

Changes

New Blog Post

  • _posts/2026-06-20-evaluating-ghc-wasm-for-browser-based-haskell-execution.md

New Diagrams

Added the following supporting diagrams under /images/:

  1. Understanding GHC Browser Diagram
  2. Traditional vs Native Diagram
  3. Native Diagram
  4. Architecture Diagram
  5. WebAssembly Diagram
  6. WASI Working Diagram
  7. Execution Flow Diagram
  8. Working Module Diagram

These diagrams are used throughout the article to illustrate the architecture, execution model, and browser runtime workflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant