This repo has been archived. Feel free to fork it and continue maintaining it provided you abide by the license restrictions below. This repo has NOT been updated to compile on PureScript v0.14.0
, nor Halogen v6.0.0
, nor any PureScript or Halogen releases made after those. The last versions on which this repo compiled correctly was PureScript v0.13.8
and Halogen v5.0.0-rc.5
.
See Archiving my 'Learn Halogen' repo for more details.
Learn purescript-halogen
, (v5.0.0-rc.5
) from a bottom-up approach
Before learning Halogen via this project, you will need to install the following. (If you don't have them already installed, see my purescript learning repo's Install Guide
- purescript (v0.13.6)
- spago (v0.14.0)
- parcel (v1.12.4)
Or, to install them in one line
npm i -g purescript@0.13.6 spago@0.14.0 parcel
Or, instead of install globally, install relatively to this project
npm i
If you choose this approach, all aftermentioned commond like spago ...
and parcel ...
shall be prefix with npm run
. e.g.
npm run spago bundle-app -m ...
npm run parcel serve ...
Required: You are already familiar with...
- PureScript's "Basic" syntax. (If not, see my Basic Syntax overview)
- PureScript's "Module" syntax. (If not, see my Module Syntax overview)
- the
purescript-prelude
library. (If not, see my Prelude-ish folder) - "smart constructors." (If not, read my explanation on Smart Constructors)
- the
Effect
andAff
types and how they work. (If not, see my Effect and Aff folder)
Helpful, but not absolutely necessary: You are already familiar with...
- the philosophical foundations of Functional Programming. (If not, see my FP Philosophical Foundations Overview)
- PureScript's "Type-Level Programming" syntax. (If not, see my Type-Level Programming Syntax overview)
- "do notation." (If not, see my overview on Do Notation. Specifically,
Discard.md
toReading Do as Nested Binds.md
) - monad transformers and how they work. (If not, see my Application Structure folder. Specifically, the
MTL
folder.)
- Git clone this project
- Run
spago build
- Run
spago docs --open
- Read through each folder using the same rules that I use in my learning repo (described in the third bullet point here).
Don't want to clone-and-play? Then read through this repo using the Table of Contents file.
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license
: (Human-readable version), (Actual License)