![PureScript](https://github.com/purescript/purescript/raw/master/logo.png) 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](http://purescript.org). 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! ## Project Scope Topics currently in this repository's scope: - PureScript language reference documentation - Its compiler errors - Core concepts on which the language is based - Introduction to package managers and dependency management - 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](https://leanpub.com/purescript/read) book or other resources) Feel free to make an issue to discuss amending the scope. ## Getting Started - [Getting Started](guides/Getting-Started.md): Download PureScript and build your first project - [PureScript By Example](https://leanpub.com/purescript/read): A book about PureScript. Learn functional programming for the web by solving practical problems - [Try PureScript](http://try.purescript.org): Try PureScript in your browser ## Tools - [Editor and tool support](ecosystem/Editor-and-tool-support.md): Editor plugins, build tools, and other development tools - [PureScript and NixOS](https://pr06lefs.wordpress.com/2015/01/11/get-started-with-purescript-on-nixos/): How to use PureScript with NixOS - [PSCi](guides/PSCi.md): An interactive development tool for PureScript ## Ecosystem - [Maintained Packages](ecosystem/Maintained-Packages.md) - [Style Guide](guides/Style-Guide.md) - [Alternate Backends](https://github.com/purescript/documentation/blob/master/ecosystem/Alternate-backends.md): PureScript can compile to other languages as well! ## Articles - [Common Operators](guides/Common-Operators.md) - [The Foreign Function Interface (FFI)](guides/FFI.md) - [FFI Tips](guides/FFI-Tips.md) - [Generic Programming](guides/Generic.md) - [Handling Native Effects with the Eff Monad](guides/Eff.md) - [Test your JavaScript with QuickCheck](guides/QuickCheck.md) - [Custom Type Errors](guides/Custom-Type-Errors.md) - [PureScript Without Node](guides/PureScript-Without-Node.md) - [24 Days of PureScript 2016](https://github.com/paf31/24-days-of-purescript-2016) - [Try PureScript Help](https://github.com/purescript/trypurescript/blob/gh-pages/README.md) - [More Guides](guides/) ## Talks/Meetups - [PureScript Presentations](ecosystem/PureScript-Presentations.md) - [PureScript Meetups](ecosystem/PureScript-Meetups.md) ## Language Guides The [PureScript Book](https://leanpub.com/purescript/read) is the recommended approach to learning the language, since it covers more material in greater depth. There is also a language guide, which is more useful as a reference: - [Language Reference](language/README.md) ## Related Languages - [Related Projects](Related-Projects.md) - [Differences from Haskell](language/Differences-from-Haskell.md)