packages feed

purescript-0.15.12: purescript.cabal

cabal-version:      2.4
name:               purescript
version:            0.15.12
license:            BSD-3-Clause
license-file:       LICENSE
copyright:
    (c) 2013-17 Phil Freeman, (c) 2014-19 Gary Burgess, (c) other contributors (see CONTRIBUTORS.md)

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>

author:             Phil Freeman <paf31@cantab.net>
stability:          experimental
homepage:           http://www.purescript.org/
bug-reports:        https://github.com/purescript/purescript/issues
synopsis:           PureScript Programming Language Compiler
description:
    A small strongly, statically typed programming language with expressive types, inspired by Haskell and compiling to JavaScript.

category:           Language
build-type:         Simple
extra-source-files:
    app/static/*.css
    app/static/*.less
    bundle/build.sh
    bundle/README
    tests/purs/**/*.js
    tests/purs/**/*.js.map
    tests/purs/**/*.purs
    tests/purs/**/*.json
    tests/purs/**/*.out
    tests/json-compat/**/*.json
    tests/support/*.json
    tests/support/checkSourceMapValidity.js
    tests/support/psci/**/*.purs
    tests/support/psci/**/*.edit
    tests/support/pscide/src/**/*.purs
    tests/support/pscide/src/**/*.js
    tests/support/pscide/src/**/*.fail
    stack.yaml
    README.md
    INSTALL.md
    CONTRIBUTORS.md
    CONTRIBUTING.md
    VERSIONING_POLICY.md
    .hspec

source-repository head
    type:     git
    location: https://github.com/purescript/purescript

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

    default:     False

library
    exposed-modules:
        Control.Monad.Logger
        Control.Monad.Supply
        Control.Monad.Supply.Class
        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.CodeGen
        Language.PureScript.CodeGen.JS
        Language.PureScript.CodeGen.JS.Common
        Language.PureScript.CodeGen.JS.Printer
        Language.PureScript.Constants.Libs
        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.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.Comments
        Language.PureScript.Constants.Prim
        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
        Language.PureScript.Docs.Utils.MonoidExtras
        Language.PureScript.Environment
        Language.PureScript.Errors
        Language.PureScript.Errors.JSON
        Language.PureScript.Externs
        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.Pretty
        Language.PureScript.Pretty.Common
        Language.PureScript.Pretty.Types
        Language.PureScript.Pretty.Values
        Language.PureScript.PSString
        Language.PureScript.Publish
        Language.PureScript.Publish.BoxesHelpers
        Language.PureScript.Publish.ErrorsWarnings
        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.Types
        Language.PureScript.TypeChecker.TypeSearch
        Language.PureScript.TypeChecker.Unify
        Language.PureScript.TypeClassDictionaries
        Language.PureScript.Types
        System.IO.UTF8

    build-tool-depends: happy:happy ==1.20.0
    hs-source-dirs:     src
    other-modules:
        Data.Text.PureScript
        Language.PureScript.Constants.TH
        Paths_purescript

    autogen-modules:    Paths_purescript
    default-language:   Haskell2010
    default-extensions:
        BangPatterns ConstraintKinds DataKinds DefaultSignatures
        DeriveFunctor DeriveFoldable DeriveTraversable DeriveGeneric
        DerivingStrategies DerivingVia EmptyDataDecls FlexibleContexts
        FlexibleInstances GeneralizedNewtypeDeriving ImportQualifiedPost
        KindSignatures LambdaCase MultiParamTypeClasses NamedFieldPuns
        NoImplicitPrelude PatternGuards PatternSynonyms RankNTypes
        RecordWildCards OverloadedRecordDot OverloadedStrings
        ScopedTypeVariables TupleSections TypeFamilies ViewPatterns

    ghc-options:
        -Weverything -Wno-missing-exported-signatures
        -Wno-missing-import-lists -Wno-missed-specialisations
        -Wno-all-missed-specialisations -Wno-unsafe -Wno-safe
        -Wno-trustworthy-safe -Wno-inferred-safe-imports
        -Wno-missing-safe-haskell-mode -Wno-missing-local-signatures
        -Wno-monomorphism-restriction -Wno-missing-deriving-strategies
        -Wno-missing-export-lists -Wno-missing-kind-signatures
        -Wno-partial-fields

    build-depends:
        aeson >=2.0.3.0 && <2.1,
        aeson-better-errors >=0.9.1.1 && <0.10,
        ansi-terminal >=0.11.3 && <0.12,
        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,
        serialise >=0.2.5.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,
        file-embed >=0.0.15.0 && <0.1,
        filepath >=1.4.2.2 && <1.5,
        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,
        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,
        regex-tdfa >=1.3.1.2 && <1.4,
        safe >=0.3.19 && <0.4,
        scientific >=0.3.7.0 && <0.4,
        semigroups >=0.20 && <0.21,
        semialign >=1.2.0.1 && <1.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

executable purs
    main-is:            Main.hs
    build-tool-depends: happy:happy ==1.20.0
    hs-source-dirs:     app
    other-modules:
        Command.Bundle
        Command.Compile
        Command.Docs
        Command.Docs.Html
        Command.Docs.Markdown
        Command.Graph
        Command.Hierarchy
        Command.Ide
        Command.Publish
        Command.REPL
        Version
        Paths_purescript

    autogen-modules:    Paths_purescript
    default-language:   Haskell2010
    default-extensions:
        BangPatterns ConstraintKinds DataKinds DefaultSignatures
        DeriveFunctor DeriveFoldable DeriveTraversable DeriveGeneric
        DerivingStrategies DerivingVia EmptyDataDecls FlexibleContexts
        FlexibleInstances GeneralizedNewtypeDeriving ImportQualifiedPost
        KindSignatures LambdaCase MultiParamTypeClasses NamedFieldPuns
        NoImplicitPrelude PatternGuards PatternSynonyms RankNTypes
        RecordWildCards OverloadedRecordDot OverloadedStrings
        ScopedTypeVariables TupleSections TypeFamilies ViewPatterns

    ghc-options:
        -Weverything -Wno-missing-exported-signatures
        -Wno-missing-import-lists -Wno-missed-specialisations
        -Wno-all-missed-specialisations -Wno-unsafe -Wno-safe
        -Wno-trustworthy-safe -Wno-inferred-safe-imports
        -Wno-missing-safe-haskell-mode -Wno-missing-local-signatures
        -Wno-monomorphism-restriction -Wno-missing-deriving-strategies
        -Wno-missing-export-lists -Wno-missing-kind-signatures
        -Wno-partial-fields -fno-warn-unused-do-bind -threaded -rtsopts
        -with-rtsopts=-N -Wno-unused-packages

    build-depends:
        aeson >=2.0.3.0 && <2.1,
        aeson-better-errors >=0.9.1.1 && <0.10,
        ansi-terminal >=0.11.3 && <0.12,
        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,
        serialise >=0.2.5.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,
        file-embed >=0.0.15.0 && <0.1,
        filepath >=1.4.2.2 && <1.5,
        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,
        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,
        regex-tdfa >=1.3.1.2 && <1.4,
        safe >=0.3.19 && <0.4,
        scientific >=0.3.7.0 && <0.4,
        semigroups >=0.20 && <0.21,
        semialign >=1.2.0.1 && <1.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,
        ansi-wl-pprint >=0.6.9 && <0.7,
        exceptions >=0.10.4 && <0.11,
        network >=3.1.2.7 && <3.2,
        optparse-applicative >=0.17.0.0 && <0.18,
        purescript

    if flag(release)
        cpp-options: -DRELEASE

    else
        build-depends: gitrev >=1.2.0 && <1.4

test-suite tests
    type:               exitcode-stdio-1.0
    main-is:            Main.hs
    build-tool-depends:
        happy:happy ==1.20.0, hspec-discover:hspec-discover,
        purescript:purs

    hs-source-dirs:     tests
    other-modules:
        Language.PureScript.Ide.CompletionSpec
        Language.PureScript.Ide.FilterSpec
        Language.PureScript.Ide.ImportsSpec
        Language.PureScript.Ide.MatcherSpec
        Language.PureScript.Ide.RebuildSpec
        Language.PureScript.Ide.ReexportsSpec
        Language.PureScript.Ide.SourceFileSpec
        Language.PureScript.Ide.StateSpec
        Language.PureScript.Ide.Test
        Language.PureScript.Ide.UsageSpec
        PscIdeSpec
        TestAst
        TestCompiler
        TestCoreFn
        TestCst
        TestDocs
        TestGraph
        TestHierarchy
        TestIde
        TestMake
        TestPrimDocs
        TestPsci
        TestPsci.CommandTest
        TestPsci.CompletionTest
        TestPsci.EvalTest
        TestPsci.TestEnv
        TestPscPublish
        TestSourceMaps
        TestUtils
        Paths_purescript

    default-language:   Haskell2010
    default-extensions:
        BangPatterns ConstraintKinds DataKinds DefaultSignatures
        DeriveFunctor DeriveFoldable DeriveTraversable DeriveGeneric
        DerivingStrategies DerivingVia EmptyDataDecls FlexibleContexts
        FlexibleInstances GeneralizedNewtypeDeriving ImportQualifiedPost
        KindSignatures LambdaCase MultiParamTypeClasses NamedFieldPuns
        NoImplicitPrelude PatternGuards PatternSynonyms RankNTypes
        RecordWildCards OverloadedRecordDot OverloadedStrings
        ScopedTypeVariables TupleSections TypeFamilies ViewPatterns

    ghc-options:
        -Weverything -Wno-missing-exported-signatures
        -Wno-missing-import-lists -Wno-missed-specialisations
        -Wno-all-missed-specialisations -Wno-unsafe -Wno-safe
        -Wno-trustworthy-safe -Wno-inferred-safe-imports
        -Wno-missing-safe-haskell-mode -Wno-missing-local-signatures
        -Wno-monomorphism-restriction -Wno-missing-deriving-strategies
        -Wno-missing-export-lists -Wno-missing-kind-signatures
        -Wno-partial-fields -Wno-incomplete-uni-patterns
        -Wno-unused-packages

    build-depends:
        aeson >=2.0.3.0 && <2.1,
        aeson-better-errors >=0.9.1.1 && <0.10,
        ansi-terminal >=0.11.3 && <0.12,
        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,
        serialise >=0.2.5.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,
        file-embed >=0.0.15.0 && <0.1,
        filepath >=1.4.2.2 && <1.5,
        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,
        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,
        regex-tdfa >=1.3.1.2 && <1.4,
        safe >=0.3.19 && <0.4,
        scientific >=0.3.7.0 && <0.4,
        semigroups >=0.20 && <0.21,
        semialign >=1.2.0.1 && <1.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,
        purescript,
        generic-random >=1.5.0.1 && <1.6,
        hspec >=2.10.7 && <3,
        HUnit >=1.6.2.0 && <1.7,
        newtype >=0.2.2.0 && <0.3,
        QuickCheck >=2.14.2 && <2.15,
        regex-base >=0.94.0.2 && <0.95,
        split >=0.2.3.4 && <0.3,
        typed-process >=0.2.10.1 && <0.3