Welcome to the PureScript documentation repository!
PureScript is a small, strongly typed programming language that compiles to JavaScript. To get a better overview of PureScript, visit The PureScript Website.
This repository is a collaborative effort, so please feel free to make a pull request to add/edit content or create an issue to discuss it. PureScript is a big project used by people coming from a variety of backgrounds. Making documentation useful to a wide variety of people is really hard to do well, requiring readers like you to point out and add documentation you feel is missing. Thanks for helping!
- Getting Started: Download PureScript and build your first project
- PureScript By Example: A book about PureScript. Learn functional programming for the web by solving practical problems
- Try PureScript: Try PureScript in your browser
- The PureScript Book is the recommended approach to learning the language, since it covers more material in greater depth. However, it covers
0.11.7
and is not updated yet for the0.12.x
version of the compiler. Thus, one should be aware of the following materials when reading through the book:- See dwhitney's fork of the book's exercises which is updated for
0.12.x
. - See Justin's
0.11.7
to0.12.x
summary to know how to 'translate' the outdated book's code into working code. - Be wary of any references to these deprecated packages in the book.
- See dwhitney's fork of the book's exercises which is updated for
- Language Reference
- PureScript: Jordan's Reference: An up-to-date project covering Getting Started, Build Tools, PureScript's syntax with examples, FP design patterns, and PureScript's ecosystem.
- Common Operators
- The Foreign Function Interface (FFI)
- FFI Tips
- Custom Type Errors
- PureScript Without Node
- Contrib Library Guidelines
- Error Suggestions
- psc-ide FAQ
- Try PureScript Help
- Editor and tool support: Editor plugins, build tools, and other development tools
- PureScript and NixOS: How to use PureScript with NixOS
- PSCi: An interactive development tool for PureScript
- Maintained Packages
- Style Guide
- Alternate Backends: PureScript can compile to other languages as well!
Topics currently in this repository's scope:
- PureScript language reference documentation
- Its compiler errors
- Core concepts on which the language is based
- Comparison with similar languages
- An introduction to other sources of documentation
Topics currently not in scope:
- Using PureScript libraries (those docs belong with the corresponding libraries)
- A PureScript language teaching course (use the PureScript by Example book or other resources)
- Introduction to package managers and dependency management
Feel free to make an issue to discuss amending the scope.