GHCJS is a Haskell-to-JavaScript compiler that reuses GHC’s front end to compile Haskell source into JavaScript for execution in browsers and Node.js. It aims to preserve Haskell’s semantics—including laziness and rich types—by shipping a small runtime and shims for core libraries. Developers write normal Haskell, use Cabal/Stack to build, then bundle the generated JavaScript alongside required support code. Interoperability with the JavaScript world is provided through a foreign-function interface, allowing Haskell code to call browser APIs or Node modules and to be called back from JS. The ecosystem includes packages tailored to GHCJS (for example DOM bindings and FRP libraries), enabling full single-page apps written in Haskell. Because it mirrors GHC closely, many pure Haskell libraries “just work,” making it practical to share code between server and client.

Features

  • Compilation from Haskell (GHC) to JavaScript
  • Support for standard Haskell libraries and code, with JS backend
  • Interoperability with JavaScript (FFI, calling JS from Haskell)
  • Runtime support (garbage collection, threading abstraction)
  • Integration with GHC build system and toolchain
  • Ability to run rich UI/web logic or browser applications written in Haskell

Project Samples

Project Activity

See All Activity >

Categories

Compilers

License

MIT License

Follow GHCJS

GHCJS Web Site

Other Useful Business Software
Premier Construction Software Icon
Premier Construction Software

Premier is a global leader in financial construction ERP software.

Rated #1 Construction Accounting Software by Forbes Advisor in 2022 & 2023. Our modern SAAS solution is designed to meet the needs of General Contractors, Developers/Owners, Homebuilders & Specialty Contractors.
Learn More
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of GHCJS!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Haskell

Related Categories

Haskell Compilers

Registered

2025-09-26