← All posts

A tour of the new haskell-miso.org

haskell-miso.org has been rebuilt from the ground up, in miso. Every page is a miso Component, prerendered to static HTML and then hydrated by the same code compiled to WebAssembly. Here is a tour of what is new.

Documentation with live examples

The documentation now runs to 41 pages, from your first Component through effects, subscriptions, routing and prerendering, all the way down to the internals. Twelve of them include a live example: a running component next to its source. The source shown is the code that is running, and CI checks that the two never drift apart.

Thinking in miso

Thinking in miso is a guided walk-through that takes an application from a mockup to a working program: design the model, split the view, define the actions, then connect the pieces and ship. If you are coming from React, miso vs. React maps hooks onto their miso counterparts, and points out the names that look alike but are not.

Native apps

miso drives the Lynx runtime to build native iOS and Android apps from the same components you write for the web. The native section explains how it works: the dual-thread architecture, static mounting, main-thread events and state, and a minimal native component to start from.

Examples

The examples page collects 55 applications and libraries from the haskell-miso organisation: games, browser API demos, integrations with JavaScript libraries, and tooling. Most of them have a live demo one click away.

Finding things

Press ⌘K (or Ctrl+K) on any page to search. Search covers the full text of the documentation, so a function name such as startSub finds every page that uses it, not just the page named after it.

Docs your tools can read

Every documentation page also has a Markdown copy, linked from the page and listed in llms.txt. The whole documentation is in a single file, llms-full.txt, ready to hand to an AI assistant. All of it is generated from the same source as the pages, so it is never out of date.

Get involved

The site's source is at haskell-miso/haskell-miso.org, and issues and pull requests are welcome, whether it is a typo or a new docs page. Questions and show-and-tell go to Discord or Matrix.