Skip to content

Why Hem

Background on the decisions behind the language: readable output, the toolchain boundary, and the optional Effect extension.

Updated View as Markdown

These pages explain the design decisions behind Hem: why the language works the way it does, the trade-offs involved, and which alternatives were rejected. You do not need to read these pages to use Hem.

Why Hem emits readable TypeScript explains ordinary emitted values, explicit library imports, checked TypeScript types, and sibling output.

How Hem fits your toolchain covers compiler and editor tooling, generated files, and explicit runtime dependencies.

Why Effect, and why Effect in Hem compares plain TypeScript, standard Effect, and Hem using a realistic service example. It covers the advantages of Effect, the patterns Hem simplifies, the compiler’s safety checks, and the Effect APIs that remain explicit.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close