Halogen
Halogen is a type-safe library for building user interfaces in PureScript.
- Declarative Write simple views for each state in your application, and Halogen will efficiently and intelligently update the right components and re-render your user interface.
- Component Architecture Write encapsulated components which manage their own state, and compose them together to build complex user interfaces. Or, use a single component to implement an Elm-like architecture.
- Entirely PureScript Halogen and its virtual DOM implementation are written in PureScript. Halogen’s performance and bundle sizes are roughly equivalent to popular JavaScript UI libraries like React and Angular.
Read the documentation to learn how to use Halogen in your own projects.
Documentation
You can find the Halogen documentation on the documentation site or in the docs folder. Documentation is divided into several categories:
We also recommend these community resources for learning how to use Halogen in your applications:
There are several ways to get help if you get stuck using Halogen:
- Open an issue if you have encountered a bug or problem.
- Start a thread on the PureScript Discourse or browse the
#halogen
tag if you have general questions about Halogen. - Join the PureScript Discord to chat about Halogen with other PureScript users.
Examples
This repository contains several self-contained examples, ranging from a basic button to controlling external components.
You may also want to review the Real World Halogen example application, which demonstrates routing, state management, authentication, making requests, and other real world examples with commented explanations.