Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elm
  3. Miso

Miso

BSD-3-ClauseHaskell1.13.0

A small, production-ready, reactive Haskell front-end framework for building interactive single-page web and mobile applications.

Visit WebsiteGitHubGitHub
2.4k stars170 forks0 contributors

What is Miso?

Miso is a Haskell front-end framework for building interactive single-page web and mobile applications. It provides a reactive, component-oriented architecture with a virtual DOM, type-safe routing, and support for real-time features like WebSockets and Server-Sent Events. It solves the problem of applying functional programming principles to modern web development while maintaining performance and developer productivity.

Target Audience

Haskell developers looking to build interactive web or mobile applications, and functional programming enthusiasts seeking a type-safe, pure alternative to JavaScript frameworks.

Value Proposition

Developers choose Miso for its strong type safety, pure functional architecture, and ability to compile to both JavaScript and WebAssembly. Its performance is competitive with vanilla JS, and it offers a seamless development experience with hot reload and multi-platform support.

Overview

:ramen: A tasty Haskell web and mobile framework

Use Cases

Best For

  • Building highly interactive single-page applications in Haskell
  • Developing cross-platform mobile apps using Haskell and LynxJS
  • Creating real-time web applications with WebSockets or SSE
  • Implementing type-safe client-side routing
  • Building games or graphics-intensive web apps with Canvas/WebGL
  • Migrating from Elm or React to a Haskell-based frontend

Not Ideal For

  • Teams without Haskell expertise or where functional programming adoption is a barrier
  • Projects requiring extensive integration with JavaScript npm packages or existing JS-heavy codebases
  • Applications needing abundant pre-built UI components or rapid prototyping with popular design systems
  • Environments where server-side rendering must avoid client-side JavaScript execution entirely

Pros & Cons

Pros

Efficient Virtual DOM

Uses a recursive diffing/patching algorithm for performant UI updates, with benchmarks showing competitiveness against vanilla JavaScript.

Type-Safe Architecture

Pure-by-default with side effects managed via the `Effect` type, leveraging Haskell's strong type system to reduce runtime errors and enhance reliability.

Multi-Platform Support

Compiles to JavaScript and WebAssembly, with mobile support via LynxJS for iOS, Android, and HarmonyOS, enabling cross-platform development from a single codebase.

Hot Reload Development

Integrates WASM browser mode with ghciwatch for rapid iteration, as highlighted in the README's quick start guide, improving developer productivity.

Built-in Real-Time Features

Includes native support for WebSockets and Server-Sent Events, making it suitable for interactive applications without additional library dependencies.

Cons

Unstable Component API

React-style components are added in version 1.9 but not yet released, requiring development against the master branch which may introduce breaking changes or incomplete features.

Complex Setup Process

Requires Nix or GHCup for environment management and detailed configuration files like cabal.project, creating a steep initial barrier for newcomers.

Limited Ecosystem

Compared to JavaScript frameworks, Haskell's frontend library ecosystem is smaller, restricting access to pre-built components and third-party tools.

Documentation Gaps

Heavy reliance on Haddocks and a wiki; lacks beginner-friendly tutorials, making onboarding difficult for developers new to Haskell or functional programming.

Frequently Asked Questions

Quick Stats

Stars2,436
Forks170
Contributors0
Open Issues6
Last commit9 hours ago
CreatedSince 2016

Tags

#haskell#functional-programming#isomorphic#webassembly#single-page-application#ui#frontend#nix#wasm#web-framework#javascript#reactive#virtual-dom#mobile#ghc

Built With

N
Nix
G
GHC
H
Haskell

Links & Resources

Website

Included in

Elm3.7k
Auto-fetched 9 hours ago

Related Projects

IcedIced

A cross-platform GUI library for Rust, inspired by Elm

Stars31,453
Forks1,659
Last commit14 hours ago
HyperappHyperapp

1kB-ish JavaScript framework for building hypertext applications

Stars19,194
Forks777
Last commit1 year ago
RocRoc

A fast, friendly, functional language.

Stars6,034
Forks415
Last commit12 hours ago
LustreLustre

A Gleam web framework for building HTML templates, single page applications, and real-time server components.

Stars2,428
Forks152
Last commit15 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub