External Publication
Visit Post

Hatter: Native Haskell mobile apps

Haskell Community [Unofficial] May 15, 2026
Source

Yeah I did reply to that. I assumed it’d be a webview approach seing the javascript stuff, clearly I was wrong, it appears to be more like flutter, nice

To be clear, I want a /working/ approach for device / integration access on mobile in haskell, I don’t care who makes it. For example access to the camera or bleutooth. miso-lynx doesn’t appear to do this right now and is a fair bit away from doing that.

I told it to make a full comparison here:

github.com/jappeace/hatter

docs/miso-lynx-comparison.md

master

# Hatter vs miso-lynx: Technical Comparison

A technical comparison of the two native Haskell mobile frameworks, focused on architecture, device API access, and what it takes to ship a Bluetooth scan.

---

## Executive Summary

Hatter and miso-lynx take fundamentally different approaches to putting Haskell on mobile:

- **Hatter** cross-compiles Haskell to native ARM binaries via GHC. The Haskell runtime runs natively on the device. Device APIs are accessed through a C FFI bridge that dispatches to JNI (Android) or Objective-C (iOS).
- **miso-lynx** compiles Haskell to JavaScript via GHC 9.12's JS backend. The code runs inside a JS interpreter embedded in LynxJS (ByteDance's cross-platform engine, used in production by TikTok). Native views are created through LynxJS's Element PAPI.

| Concern | Hatter | miso-lynx |
|---|---|---|
| Execution model | Native ARM binary (GHC RTS on device) | JavaScript in LynxJS interpreter |
| UI toolkit | Platform-native (UIKit, Android Views, SwiftUI) | LynxJS native views via Element PAPI |
| Language boundary | C FFI (direct function calls) | GHC JS backend → LynxJS PAPI |
| Layout engine | Platform-native (Auto Layout, LinearLayout) | LynxJS CSS engine (flexbox/grid/linear) |
| Device APIs | 10+ working (BLE, Camera, Location, HTTP, etc.) | None yet (blocked on dual-thread PR) |

This file has been truncated. show original

NB: This is a cookbook on how to use agents better: A Practical Guide to Agentic Software Development — Jappie Software B.V.

Discussion in the ATmosphere

Loading comments...