purescript: PureScript Programming Language Compiler

[ bsd3, language, library, program ] [ Propose Tags ]

A small strongly, statically typed programming language with expressive types, inspired by Haskell and compiling to JavaScript.


[Skip to Readme]

Modules

[Last Documentation]

  • Control
    • Monad
      • Control.Monad.Logger
      • Control.Monad.Supply
        • Control.Monad.Supply.Class
  • Language
    • Language.PureScript
      • Language.PureScript.AST
        • Language.PureScript.AST.Binders
        • Language.PureScript.AST.Declarations
          • Language.PureScript.AST.Declarations.ChainId
        • Language.PureScript.AST.Exported
        • Language.PureScript.AST.Literals
        • Language.PureScript.AST.Operators
        • Language.PureScript.AST.SourcePos
        • Language.PureScript.AST.Traversals
        • Language.PureScript.AST.Utils
      • Language.PureScript.Bundle
      • Language.PureScript.CST
        • Language.PureScript.CST.Convert
        • Language.PureScript.CST.Errors
        • Language.PureScript.CST.Flatten
        • Language.PureScript.CST.Layout
        • Language.PureScript.CST.Lexer
        • Language.PureScript.CST.Monad
        • Language.PureScript.CST.Parser
        • Language.PureScript.CST.Positions
        • Language.PureScript.CST.Print
        • Language.PureScript.CST.Traversals
          • Language.PureScript.CST.Traversals.Type
        • Language.PureScript.CST.Types
        • Language.PureScript.CST.Utils
      • Language.PureScript.CodeGen
        • Language.PureScript.CodeGen.JS
          • Language.PureScript.CodeGen.JS.Common
          • Language.PureScript.CodeGen.JS.Printer
      • Language.PureScript.Comments
      • Constants
        • Language.PureScript.Constants.Libs
        • Language.PureScript.Constants.Prim
      • Language.PureScript.CoreFn
        • Language.PureScript.CoreFn.Ann
        • Language.PureScript.CoreFn.Binders
        • Language.PureScript.CoreFn.CSE
        • Language.PureScript.CoreFn.Desugar
        • Language.PureScript.CoreFn.Expr
        • Language.PureScript.CoreFn.FromJSON
        • Language.PureScript.CoreFn.Laziness
        • Language.PureScript.CoreFn.Meta
        • Language.PureScript.CoreFn.Module
        • Language.PureScript.CoreFn.Optimizer
        • Language.PureScript.CoreFn.ToJSON
        • Language.PureScript.CoreFn.Traversals
      • Language.PureScript.CoreImp
        • Language.PureScript.CoreImp.AST
        • Language.PureScript.CoreImp.Module
        • Language.PureScript.CoreImp.Optimizer
          • Language.PureScript.CoreImp.Optimizer.Blocks
          • Language.PureScript.CoreImp.Optimizer.Common
          • Language.PureScript.CoreImp.Optimizer.Inliner
          • Language.PureScript.CoreImp.Optimizer.MagicDo
          • Language.PureScript.CoreImp.Optimizer.TCO
          • Language.PureScript.CoreImp.Optimizer.Unused
      • Language.PureScript.Crash
      • Language.PureScript.Docs
        • Language.PureScript.Docs.AsHtml
        • Language.PureScript.Docs.AsMarkdown
        • Language.PureScript.Docs.Collect
        • Language.PureScript.Docs.Convert
          • Language.PureScript.Docs.Convert.ReExports
          • Language.PureScript.Docs.Convert.Single
        • Language.PureScript.Docs.Css
        • Language.PureScript.Docs.Prim
        • Language.PureScript.Docs.Render
        • Language.PureScript.Docs.RenderedCode
          • Language.PureScript.Docs.RenderedCode.RenderType
          • Language.PureScript.Docs.RenderedCode.Types
        • Language.PureScript.Docs.Tags
        • Language.PureScript.Docs.Types
        • Utils
          • Language.PureScript.Docs.Utils.MonoidExtras
      • Language.PureScript.Environment
      • Language.PureScript.Errors
        • Language.PureScript.Errors.JSON
      • Language.PureScript.Externs
      • Language.PureScript.Glob
      • Language.PureScript.Graph
      • Language.PureScript.Hierarchy
      • Language.PureScript.Ide
        • Language.PureScript.Ide.CaseSplit
        • Language.PureScript.Ide.Command
        • Language.PureScript.Ide.Completion
        • Language.PureScript.Ide.Error
        • Language.PureScript.Ide.Externs
        • Language.PureScript.Ide.Filter
          • Language.PureScript.Ide.Filter.Declaration
          • Language.PureScript.Ide.Filter.Imports
        • Language.PureScript.Ide.Imports
          • Language.PureScript.Ide.Imports.Actions
        • Language.PureScript.Ide.Logging
        • Language.PureScript.Ide.Matcher
        • Language.PureScript.Ide.Prim
        • Language.PureScript.Ide.Rebuild
        • Language.PureScript.Ide.Reexports
        • Language.PureScript.Ide.SourceFile
        • Language.PureScript.Ide.State
        • Language.PureScript.Ide.Types
        • Language.PureScript.Ide.Usage
        • Language.PureScript.Ide.Util
      • Language.PureScript.Interactive
        • Language.PureScript.Interactive.Completion
        • Language.PureScript.Interactive.Directive
        • Language.PureScript.Interactive.IO
        • Language.PureScript.Interactive.Message
        • Language.PureScript.Interactive.Module
        • Language.PureScript.Interactive.Parser
        • Language.PureScript.Interactive.Printer
        • Language.PureScript.Interactive.Types
      • Language.PureScript.Label
      • Language.PureScript.Linter
        • Language.PureScript.Linter.Exhaustive
        • Language.PureScript.Linter.Imports
        • Language.PureScript.Linter.Wildcards
      • Language.PureScript.Make
        • Language.PureScript.Make.Actions
        • Language.PureScript.Make.BuildPlan
        • Language.PureScript.Make.Cache
        • Language.PureScript.Make.Monad
      • Language.PureScript.ModuleDependencies
      • Language.PureScript.Names
      • Language.PureScript.Options
      • Language.PureScript.PSString
      • Language.PureScript.Pretty
        • Language.PureScript.Pretty.Common
        • Language.PureScript.Pretty.Types
        • Language.PureScript.Pretty.Values
      • Language.PureScript.Publish
        • Language.PureScript.Publish.BoxesHelpers
        • Language.PureScript.Publish.ErrorsWarnings
        • Registry
          • Language.PureScript.Publish.Registry.Compat
        • Language.PureScript.Publish.Utils
      • Language.PureScript.Renamer
      • Language.PureScript.Roles
      • Language.PureScript.Sugar
        • Language.PureScript.Sugar.AdoNotation
        • Language.PureScript.Sugar.BindingGroups
        • Language.PureScript.Sugar.CaseDeclarations
        • Language.PureScript.Sugar.DoNotation
        • Language.PureScript.Sugar.LetPattern
        • Language.PureScript.Sugar.Names
          • Language.PureScript.Sugar.Names.Common
          • Language.PureScript.Sugar.Names.Env
          • Language.PureScript.Sugar.Names.Exports
          • Language.PureScript.Sugar.Names.Imports
        • Language.PureScript.Sugar.ObjectWildcards
        • Language.PureScript.Sugar.Operators
          • Language.PureScript.Sugar.Operators.Binders
          • Language.PureScript.Sugar.Operators.Common
          • Language.PureScript.Sugar.Operators.Expr
          • Language.PureScript.Sugar.Operators.Types
        • Language.PureScript.Sugar.TypeClasses
          • Language.PureScript.Sugar.TypeClasses.Deriving
        • Language.PureScript.Sugar.TypeDeclarations
      • Language.PureScript.Traversals
      • Language.PureScript.TypeChecker
        • Language.PureScript.TypeChecker.Deriving
        • Language.PureScript.TypeChecker.Entailment
          • Language.PureScript.TypeChecker.Entailment.Coercible
          • Language.PureScript.TypeChecker.Entailment.IntCompare
        • Language.PureScript.TypeChecker.Kinds
        • Language.PureScript.TypeChecker.Monad
        • Language.PureScript.TypeChecker.Roles
        • Language.PureScript.TypeChecker.Skolems
        • Language.PureScript.TypeChecker.Subsumption
        • Language.PureScript.TypeChecker.Synonyms
        • Language.PureScript.TypeChecker.TypeSearch
        • Language.PureScript.TypeChecker.Types
        • Language.PureScript.TypeChecker.Unify
      • Language.PureScript.TypeClassDictionaries
      • Language.PureScript.Types
  • System
    • IO
      • System.IO.UTF8

Flags

Automatic Flags
NameDescriptionDefault
release

Mark this build as a release build: prevents inclusion of extra info e.g. commit SHA in --version output)

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.8, 0.1.9, 0.1.11, 0.1.12, 0.1.13, 0.1.14, 0.1.15, 0.2.0, 0.2.1, 0.2.1.1, 0.2.1.2, 0.2.2, 0.2.3, 0.2.4, 0.2.6, 0.2.7, 0.2.9, 0.2.9.1, 0.2.9.2, 0.2.10, 0.2.10.1, 0.2.10.2, 0.2.11, 0.2.11.1, 0.2.13, 0.2.13.1, 0.2.14, 0.2.15, 0.2.15.1, 0.2.15.2, 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.3.6.1, 0.3.7, 0.3.8.1, 0.3.9, 0.3.10, 0.3.10.1, 0.3.11, 0.3.12, 0.3.13, 0.3.13.1, 0.3.14, 0.4.0, 0.4.1, 0.4.2, 0.4.2.1, 0.4.3, 0.4.3.1, 0.4.4, 0.4.5, 0.4.5.1, 0.4.6, 0.4.7, 0.4.8, 0.4.9, 0.4.10, 0.4.10.1, 0.4.10.2, 0.4.11, 0.4.11.1, 0.4.12, 0.4.12.1, 0.4.13, 0.4.13.1, 0.4.14, 0.4.15, 0.4.15.1, 0.4.16, 0.4.17, 0.4.17.1, 0.4.18, 0.4.18.1, 0.4.18.2, 0.4.19, 0.4.19.1, 0.4.20, 0.5.0, 0.5.1, 0.5.2, 0.5.2.1, 0.5.2.2, 0.5.2.3, 0.5.2.4, 0.5.2.5, 0.5.2.6, 0.5.3, 0.5.4, 0.5.4.1, 0.5.5, 0.5.6, 0.5.6.1, 0.5.6.2, 0.5.6.3, 0.5.7, 0.5.7.1, 0.6.0, 0.6.0.1, 0.6.0.2, 0.6.1, 0.6.1.1, 0.6.1.2, 0.6.2, 0.6.3, 0.6.4, 0.6.4.1, 0.6.5, 0.6.6, 0.6.7, 0.6.7.1, 0.6.8, 0.6.9, 0.6.9.1, 0.6.9.2, 0.6.9.3, 0.6.9.4, 0.6.9.5, 0.7.0.0, 0.7.1.0, 0.7.2.0, 0.7.2.1, 0.7.3.0, 0.7.4.1, 0.7.5, 0.7.5.1, 0.7.5.2, 0.7.5.3, 0.7.5.4, 0.7.6.1, 0.8.0.0, 0.8.1.0, 0.8.2.0, 0.8.3.0, 0.8.4.0, 0.8.5.0, 0.9.1, 0.9.2, 0.9.3, 0.10.0, 0.10.1, 0.10.2, 0.10.3, 0.10.4, 0.10.5, 0.10.6, 0.10.7, 0.11.0, 0.11.1, 0.11.2, 0.11.3, 0.11.4, 0.11.5, 0.11.6, 0.11.7, 0.12.0, 0.12.1, 0.12.2, 0.12.3, 0.12.4, 0.12.5, 0.13.0, 0.13.2, 0.13.3, 0.13.4, 0.13.5, 0.13.6, 0.13.8, 0.14.0, 0.14.1, 0.14.2, 0.14.3, 0.14.4, 0.14.5, 0.14.6, 0.14.7, 0.14.9, 0.15.0, 0.15.1, 0.15.2, 0.15.3, 0.15.4, 0.15.5, 0.15.6, 0.15.7, 0.15.8, 0.15.9, 0.15.10, 0.15.11, 0.15.12, 0.15.13, 0.15.14, 0.15.15
Dependencies aeson (>=2.0.3.0 && <2.1), aeson-better-errors (>=0.9.1.1 && <0.10), ansi-terminal (>=0.11.3 && <0.12), ansi-wl-pprint (>=0.6.9 && <0.7), array (>=0.5.4.0 && <0.6), base (>=4.16.2.0 && <4.17), blaze-html (>=0.9.1.2 && <0.10), bower-json (>=1.1.0.0 && <1.2), boxes (>=0.1.5 && <0.2), bytestring (>=0.11.3.1 && <0.12), Cabal (>=3.6.3.0 && <3.7), cborg (>=0.2.7.0 && <0.3), cheapskate (>=0.1.1.2 && <0.2), clock (>=0.8.3 && <0.9), containers (>=0.6.5.1 && <0.7), cryptonite (>=0.30 && <0.31), data-ordlist (>=0.4.7.0 && <0.5), deepseq (>=1.4.6.1 && <1.5), directory (>=1.3.6.2 && <1.4), dlist (>=1.0 && <1.1), edit-distance (>=0.2.2.1 && <0.3), exceptions (>=0.10.4 && <0.11), file-embed (>=0.0.15.0 && <0.1), filepath (>=1.4.2.2 && <1.5), gitrev (>=1.2.0 && <1.4), Glob (>=0.10.2 && <0.11), haskeline (>=0.8.2 && <0.9), language-javascript (==0.7.0.0), lens (>=5.1.1 && <5.2), lifted-async (>=0.10.2.2 && <0.11), lifted-base (>=0.2.3.12 && <0.3), memory (>=0.17.0 && <0.18), monad-control (>=1.0.3.1 && <1.1), monad-logger (>=0.3.36 && <0.4), monoidal-containers (>=0.6.2.0 && <0.7), mtl (>=2.2.2 && <2.3), network (>=3.1.2.7 && <3.2), optparse-applicative (>=0.17.0.0 && <0.18), parallel (>=3.2.2.0 && <3.3), parsec (>=3.1.15.0 && <3.2), pattern-arrows (>=0.0.2 && <0.1), process (==1.6.13.1), protolude (>=0.3.1 && <0.4), purescript, regex-tdfa (>=1.3.1.2 && <1.4), safe (>=0.3.19 && <0.4), scientific (>=0.3.7.0 && <0.4), semialign (>=1.2.0.1 && <1.3), semigroups (>=0.20 && <0.21), serialise (>=0.2.5.0 && <0.3), sourcemap (>=0.1.7 && <0.2), stm (>=2.5.0.2 && <2.6), stringsearch (>=0.3.6.6 && <0.4), template-haskell (>=2.18.0.0 && <2.19), text (>=1.2.5.0 && <1.3), these (>=1.1.1.1 && <1.2), time (>=1.11.1.1 && <1.12), transformers (>=0.5.6.2 && <0.6), transformers-base (>=0.4.6 && <0.5), utf8-string (>=1.0.2 && <1.1), vector (>=0.12.3.1 && <0.13), witherable (>=0.4.2 && <0.5) [details]
License BSD-3-Clause
Copyright (c) 2013-17 Phil Freeman, (c) 2014-19 Gary Burgess, (c) other contributors (see CONTRIBUTORS.md)
Author Phil Freeman <paf31@cantab.net>
Maintainer Gary Burgess <gary.burgess@gmail.com>, Hardy Jones <jones3.hardy@gmail.com>, Harry Garrood <harry@garrood.me>, Christoph Hegemann <christoph.hegemann1337@gmail.com>, Liam Goodacre <goodacre.liam@gmail.com>, Nathan Faubion <nathan@n-son.com>
Category Language
Home page http://www.purescript.org/
Bug tracker https://github.com/purescript/purescript/issues
Source repo head: git clone https://github.com/purescript/purescript
Uploaded by jalexm at 2024-02-07T18:36:40Z
Distributions
Reverse Dependencies 9 direct, 0 indirect [details]
Executables purs
Downloads 188459 total (243 in the last 30 days)
Rating 2.75 (votes: 7) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2024-02-07 [all 2 reports]

Readme for purescript-0.15.15

[back to package description]
PureScript

A small strongly typed programming language with expressive types that compiles to JavaScript, written in and inspired by Haskell.

Hackage Build Status

Language info

Resources

Help!

Community Spaces

The following spaces are governed by the PureScript Community Code of Conduct. The majority of PureScript users use these spaces to discuss and collaborate on PureScript-related topics:

Unaffiliated Spaces

Some PureScript users also collaborate in the below spaces. These do not fall under the code of conduct linked above. They may have no code of conduct or one very different than the one linked above.