Use common stanzas in package description
parent
8a4bfe083e
commit
33d2aa8790
268
brittany.cabal
268
brittany.cabal
|
@ -1,3 +1,5 @@
|
||||||
|
cabal-version: 2.2
|
||||||
|
|
||||||
name: brittany
|
name: brittany
|
||||||
version: 0.13.1.2
|
version: 0.13.1.2
|
||||||
synopsis: Haskell source code formatter
|
synopsis: Haskell source code formatter
|
||||||
|
@ -7,7 +9,7 @@ description:
|
||||||
If you are interested in the implementation, have a look at <https://github.com/lspitzner/brittany/blob/master/doc/implementation/theory.md this document>;
|
If you are interested in the implementation, have a look at <https://github.com/lspitzner/brittany/blob/master/doc/implementation/theory.md this document>;
|
||||||
.
|
.
|
||||||
The implementation is documented in more detail <https://github.com/lspitzner/brittany/blob/master/doc/implementation/index.md here>.
|
The implementation is documented in more detail <https://github.com/lspitzner/brittany/blob/master/doc/implementation/index.md here>.
|
||||||
license: AGPL-3
|
license: AGPL-3.0-only
|
||||||
license-file: LICENSE
|
license-file: LICENSE
|
||||||
author: Lennart Spitzner
|
author: Lennart Spitzner
|
||||||
maintainer: Lennart Spitzner <hexagoxel@hexagoxel.de>
|
maintainer: Lennart Spitzner <hexagoxel@hexagoxel.de>
|
||||||
|
@ -15,7 +17,6 @@ copyright: Copyright (C) 2016-2019 Lennart Spitzner
|
||||||
Copyright (C) 2019 PRODA LTD
|
Copyright (C) 2019 PRODA LTD
|
||||||
category: Language
|
category: Language
|
||||||
build-type: Simple
|
build-type: Simple
|
||||||
cabal-version: 2.0
|
|
||||||
homepage: https://github.com/lspitzner/brittany/
|
homepage: https://github.com/lspitzner/brittany/
|
||||||
bug-reports: https://github.com/lspitzner/brittany/issues
|
bug-reports: https://github.com/lspitzner/brittany/issues
|
||||||
extra-doc-files:
|
extra-doc-files:
|
||||||
|
@ -39,9 +40,62 @@ flag brittany-test-perf
|
||||||
default: False
|
default: False
|
||||||
manual: True
|
manual: True
|
||||||
|
|
||||||
|
common library
|
||||||
|
build-depends:
|
||||||
|
, aeson ^>= 2.0.1
|
||||||
|
, base ^>= 4.15.0
|
||||||
|
, butcher ^>= 1.3.3
|
||||||
|
, bytestring ^>= 0.10.12
|
||||||
|
, cmdargs ^>= 0.10.21
|
||||||
|
, containers ^>= 0.6.4
|
||||||
|
, czipwith ^>= 1.0.1
|
||||||
|
, data-tree-print ^>= 0.1.0
|
||||||
|
, deepseq ^>= 1.4.5
|
||||||
|
, directory ^>= 1.3.6
|
||||||
|
, extra ^>= 1.7.10
|
||||||
|
, filepath ^>= 1.4.2
|
||||||
|
, ghc ^>= 9.0.1
|
||||||
|
, ghc-boot-th ^>= 9.0.1
|
||||||
|
, ghc-exactprint ^>= 0.6.4
|
||||||
|
, monad-memo ^>= 0.5.3
|
||||||
|
, mtl ^>= 2.2.2
|
||||||
|
, multistate ^>= 0.8.0
|
||||||
|
, pretty ^>= 1.1.3
|
||||||
|
, random ^>= 1.2.1
|
||||||
|
, safe ^>= 0.3.19
|
||||||
|
, semigroups ^>= 0.19.2
|
||||||
|
, strict ^>= 0.4.0
|
||||||
|
, syb ^>= 0.7.2
|
||||||
|
, text ^>= 1.2.5
|
||||||
|
, transformers ^>= 0.5.6
|
||||||
|
, uniplate ^>= 1.6.13
|
||||||
|
, yaml ^>= 0.11.7
|
||||||
|
default-language: Haskell2010
|
||||||
|
ghc-options:
|
||||||
|
-Weverything
|
||||||
|
-Wno-incomplete-uni-patterns
|
||||||
|
-Wno-missing-deriving-strategies
|
||||||
|
-Wno-missing-export-lists
|
||||||
|
-Wno-missing-import-lists
|
||||||
|
-Wno-missing-local-signatures
|
||||||
|
-Wno-missing-safe-haskell-mode
|
||||||
|
-Wno-monomorphism-restriction
|
||||||
|
-Wno-prepositive-qualified-module
|
||||||
|
-Wno-unsafe
|
||||||
|
|
||||||
|
common executable
|
||||||
|
import: library
|
||||||
|
|
||||||
|
build-depends: brittany
|
||||||
|
ghc-options:
|
||||||
|
-rtsopts
|
||||||
|
-threaded
|
||||||
|
-Wno-implicit-prelude
|
||||||
|
-Wno-unused-packages
|
||||||
|
|
||||||
library
|
library
|
||||||
default-language:
|
import: library
|
||||||
Haskell2010
|
|
||||||
hs-source-dirs:
|
hs-source-dirs:
|
||||||
src
|
src
|
||||||
exposed-modules:
|
exposed-modules:
|
||||||
|
@ -77,226 +131,52 @@ library
|
||||||
Language.Haskell.Brittany.Internal.Transformations.Par
|
Language.Haskell.Brittany.Internal.Transformations.Par
|
||||||
Language.Haskell.Brittany.Internal.Transformations.Columns
|
Language.Haskell.Brittany.Internal.Transformations.Columns
|
||||||
Language.Haskell.Brittany.Internal.Transformations.Indent
|
Language.Haskell.Brittany.Internal.Transformations.Indent
|
||||||
ghc-options:
|
|
||||||
-Weverything
|
|
||||||
-Wno-incomplete-uni-patterns
|
|
||||||
-Wno-missing-deriving-strategies
|
|
||||||
-Wno-missing-export-lists
|
|
||||||
-Wno-missing-import-lists
|
|
||||||
-Wno-missing-local-signatures
|
|
||||||
-Wno-missing-safe-haskell-mode
|
|
||||||
-Wno-monomorphism-restriction
|
|
||||||
-Wno-prepositive-qualified-module
|
|
||||||
-Wno-unsafe
|
|
||||||
build-depends:
|
|
||||||
base ^>= 4.15.0
|
|
||||||
, aeson ^>= 2.0.1
|
|
||||||
, butcher ^>= 1.3.3
|
|
||||||
, bytestring ^>= 0.10.12
|
|
||||||
, cmdargs ^>= 0.10.21
|
|
||||||
, containers ^>= 0.6.4
|
|
||||||
, czipwith ^>= 1.0.1
|
|
||||||
, data-tree-print ^>= 0.1.0
|
|
||||||
, deepseq ^>= 1.4.5
|
|
||||||
, directory ^>= 1.3.6
|
|
||||||
, extra ^>= 1.7.10
|
|
||||||
, filepath ^>= 1.4.2
|
|
||||||
, ghc ^>= 9.0.1
|
|
||||||
, ghc-boot-th ^>= 9.0.1
|
|
||||||
, ghc-exactprint ^>= 0.6.4
|
|
||||||
, monad-memo ^>= 0.5.3
|
|
||||||
, mtl ^>= 2.2.2
|
|
||||||
, multistate ^>= 0.8.0
|
|
||||||
, pretty ^>= 1.1.3
|
|
||||||
, random ^>= 1.2.1
|
|
||||||
, safe ^>= 0.3.19
|
|
||||||
, semigroups ^>= 0.19.2
|
|
||||||
, strict ^>= 0.4.0
|
|
||||||
, syb ^>= 0.7.2
|
|
||||||
, text ^>= 1.2.5
|
|
||||||
, transformers ^>= 0.5.6
|
|
||||||
, uniplate ^>= 1.6.13
|
|
||||||
, yaml ^>= 0.11.7
|
|
||||||
|
|
||||||
executable brittany
|
executable brittany
|
||||||
|
import: executable
|
||||||
|
|
||||||
if flag(brittany-dev-lib)
|
if flag(brittany-dev-lib)
|
||||||
buildable: False
|
buildable: False
|
||||||
else
|
|
||||||
buildable: True
|
|
||||||
main-is: Main.hs
|
main-is: Main.hs
|
||||||
hs-source-dirs: src-brittany
|
hs-source-dirs: src-brittany
|
||||||
build-depends:
|
|
||||||
base
|
|
||||||
, brittany
|
|
||||||
default-language: Haskell2010
|
|
||||||
ghc-options:
|
|
||||||
-Wall
|
|
||||||
-fno-spec-constr
|
|
||||||
-fno-warn-unused-imports
|
|
||||||
-fno-warn-redundant-constraints
|
|
||||||
-rtsopts
|
|
||||||
-with-rtsopts "-M2G"
|
|
||||||
|
|
||||||
test-suite unittests
|
test-suite unittests
|
||||||
|
import: executable
|
||||||
|
|
||||||
if flag(brittany-dev-lib) || !flag(brittany-test-perf)
|
if flag(brittany-dev-lib) || !flag(brittany-test-perf)
|
||||||
buildable: False
|
buildable: False
|
||||||
else
|
|
||||||
buildable: True
|
|
||||||
type: exitcode-stdio-1.0
|
type: exitcode-stdio-1.0
|
||||||
default-language: Haskell2010
|
|
||||||
build-depends:
|
build-depends:
|
||||||
brittany
|
, hspec ^>= 2.8.3
|
||||||
, base
|
|
||||||
, ghc
|
|
||||||
, ghc-paths
|
|
||||||
, ghc-exactprint
|
|
||||||
, transformers
|
|
||||||
, containers
|
|
||||||
, mtl
|
|
||||||
, text
|
|
||||||
, multistate
|
|
||||||
, syb
|
|
||||||
, data-tree-print
|
|
||||||
, pretty
|
|
||||||
, bytestring
|
|
||||||
, directory
|
|
||||||
, butcher
|
|
||||||
, yaml
|
|
||||||
, aeson
|
|
||||||
, extra
|
|
||||||
, uniplate
|
|
||||||
, strict
|
|
||||||
, monad-memo
|
|
||||||
, unsafe
|
|
||||||
, safe
|
|
||||||
, deepseq
|
|
||||||
, semigroups
|
|
||||||
, cmdargs
|
|
||||||
, czipwith
|
|
||||||
, ghc-boot-th
|
|
||||||
, hspec >=2.4.1 && <2.9
|
|
||||||
main-is: TestMain.hs
|
main-is: TestMain.hs
|
||||||
other-modules: TestUtils
|
other-modules: TestUtils
|
||||||
AsymptoticPerfTests
|
AsymptoticPerfTests
|
||||||
hs-source-dirs: src-unittests
|
hs-source-dirs: src-unittests
|
||||||
default-extensions:
|
|
||||||
CPP
|
|
||||||
|
|
||||||
NoImplicitPrelude
|
|
||||||
|
|
||||||
GADTs
|
|
||||||
|
|
||||||
FlexibleContexts
|
|
||||||
FlexibleInstances
|
|
||||||
ScopedTypeVariables
|
|
||||||
MonadComprehensions
|
|
||||||
LambdaCase
|
|
||||||
MultiWayIf
|
|
||||||
KindSignatures
|
|
||||||
ghc-options:
|
|
||||||
-Wall
|
|
||||||
-fno-warn-unused-imports
|
|
||||||
-rtsopts
|
|
||||||
-with-rtsopts "-M2G"
|
|
||||||
-threaded
|
|
||||||
-- ^ threaded is not necessary at all, but our CI trusts on being able
|
|
||||||
-- to pass -N1, which is not possible without threaded :-/
|
|
||||||
-- (plus -no-threaded is not a thing, afaict)
|
|
||||||
|
|
||||||
test-suite littests
|
test-suite littests
|
||||||
|
import: executable
|
||||||
|
|
||||||
if flag(brittany-dev-lib)
|
if flag(brittany-dev-lib)
|
||||||
buildable: False
|
buildable: False
|
||||||
else
|
|
||||||
buildable: True
|
|
||||||
type: exitcode-stdio-1.0
|
type: exitcode-stdio-1.0
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
build-depends:
|
build-depends:
|
||||||
brittany
|
, hspec ^>= 2.8.3
|
||||||
, base
|
, parsec ^>= 3.1.14
|
||||||
, ghc
|
|
||||||
, ghc-paths
|
|
||||||
, ghc-exactprint
|
|
||||||
, transformers
|
|
||||||
, containers
|
|
||||||
, mtl
|
|
||||||
, text
|
|
||||||
, multistate
|
|
||||||
, syb
|
|
||||||
, data-tree-print
|
|
||||||
, pretty
|
|
||||||
, bytestring
|
|
||||||
, directory
|
|
||||||
, butcher
|
|
||||||
, yaml
|
|
||||||
, aeson
|
|
||||||
, extra
|
|
||||||
, uniplate
|
|
||||||
, strict
|
|
||||||
, monad-memo
|
|
||||||
, unsafe
|
|
||||||
, safe
|
|
||||||
, deepseq
|
|
||||||
, semigroups
|
|
||||||
, cmdargs
|
|
||||||
, czipwith
|
|
||||||
, ghc-boot-th
|
|
||||||
, hspec >=2.4.1 && <2.9
|
|
||||||
, filepath
|
|
||||||
, parsec >=3.1.11 && <3.2
|
|
||||||
main-is: Main.hs
|
main-is: Main.hs
|
||||||
other-modules:
|
|
||||||
hs-source-dirs: src-literatetests
|
hs-source-dirs: src-literatetests
|
||||||
default-extensions:
|
|
||||||
CPP
|
|
||||||
|
|
||||||
NoImplicitPrelude
|
|
||||||
|
|
||||||
GADTs
|
|
||||||
|
|
||||||
FlexibleContexts
|
|
||||||
FlexibleInstances
|
|
||||||
ScopedTypeVariables
|
|
||||||
MonadComprehensions
|
|
||||||
LambdaCase
|
|
||||||
MultiWayIf
|
|
||||||
KindSignatures
|
|
||||||
ghc-options:
|
|
||||||
-Wall
|
|
||||||
-fno-warn-unused-imports
|
|
||||||
-threaded
|
|
||||||
-rtsopts
|
|
||||||
-with-rtsopts "-M2G -N"
|
|
||||||
|
|
||||||
test-suite libinterfacetests
|
test-suite libinterfacetests
|
||||||
|
import: executable
|
||||||
|
|
||||||
if flag(brittany-dev-lib)
|
if flag(brittany-dev-lib)
|
||||||
buildable: False
|
buildable: False
|
||||||
else
|
|
||||||
buildable: True
|
|
||||||
type: exitcode-stdio-1.0
|
type: exitcode-stdio-1.0
|
||||||
default-language: Haskell2010
|
|
||||||
build-depends:
|
build-depends:
|
||||||
brittany
|
, hspec ^>= 2.8.3
|
||||||
, base
|
|
||||||
, text
|
|
||||||
, transformers
|
|
||||||
, hspec >=2.4.1 && <2.9
|
|
||||||
main-is: Main.hs
|
main-is: Main.hs
|
||||||
other-modules:
|
|
||||||
hs-source-dirs: src-libinterfacetests
|
hs-source-dirs: src-libinterfacetests
|
||||||
default-extensions:
|
|
||||||
FlexibleContexts
|
|
||||||
FlexibleInstances
|
|
||||||
ScopedTypeVariables
|
|
||||||
MonadComprehensions
|
|
||||||
LambdaCase
|
|
||||||
MultiWayIf
|
|
||||||
KindSignatures
|
|
||||||
ghc-options:
|
|
||||||
-Wall
|
|
||||||
-fno-warn-unused-imports
|
|
||||||
-rtsopts
|
|
||||||
-with-rtsopts "-M2G"
|
|
||||||
-threaded
|
|
||||||
-- ^ threaded is not necessary at all, but our CI trusts on being able
|
|
||||||
-- to pass -N1, which is not possible without threaded :-/
|
|
||||||
-- (plus -no-threaded is not a thing, afaict)
|
|
||||||
|
|
|
@ -5,7 +5,6 @@ module Main where
|
||||||
import Test.Hspec
|
import Test.Hspec
|
||||||
import Language.Haskell.Brittany
|
import Language.Haskell.Brittany
|
||||||
import qualified Data.Text as Text
|
import qualified Data.Text as Text
|
||||||
import qualified System.Exit as Exit
|
|
||||||
import Control.Monad.IO.Class
|
import Control.Monad.IO.Class
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
{-# LANGUAGE CPP #-}
|
||||||
|
{-# LANGUAGE LambdaCase #-}
|
||||||
|
{-# LANGUAGE MonadComprehensions #-}
|
||||||
|
|
||||||
module Main
|
module Main
|
||||||
( main
|
( main
|
||||||
)
|
)
|
||||||
|
@ -6,61 +10,18 @@ where
|
||||||
|
|
||||||
|
|
||||||
import Language.Haskell.Brittany.Internal.Prelude
|
import Language.Haskell.Brittany.Internal.Prelude
|
||||||
import Language.Haskell.Brittany.Internal.PreludeUtils
|
|
||||||
import qualified Control.Monad.Reader.Class as Reader.Class
|
|
||||||
import qualified Control.Monad.RWS.Class as RWS.Class
|
|
||||||
import qualified Control.Monad.State.Class as State.Class
|
|
||||||
import qualified Control.Monad.Trans.Except as ExceptT
|
|
||||||
import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL
|
|
||||||
import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS
|
|
||||||
import qualified Control.Monad.Trans.State as State
|
|
||||||
import qualified Control.Monad.Trans.State.Lazy as StateL
|
|
||||||
import qualified Control.Monad.Trans.State.Strict as StateS
|
|
||||||
import qualified Control.Monad.Writer.Class as Writer.Class
|
|
||||||
import qualified Data.Bool as Bool
|
|
||||||
import qualified Data.ByteString
|
|
||||||
import qualified Data.ByteString as ByteString
|
|
||||||
import qualified Data.ByteString.Char8
|
|
||||||
import qualified Data.ByteString.Lazy as ByteStringL
|
|
||||||
import qualified Data.Coerce
|
|
||||||
import qualified Data.Data
|
|
||||||
import qualified Data.Either
|
|
||||||
import qualified Data.Foldable
|
|
||||||
import qualified Data.Foldable as Foldable
|
|
||||||
import qualified Data.IntMap.Lazy as IntMapL
|
|
||||||
import qualified Data.IntMap.Strict as IntMapS
|
|
||||||
import qualified Data.List.Extra
|
import qualified Data.List.Extra
|
||||||
import qualified Data.Map as Map
|
|
||||||
import qualified Data.Maybe
|
import qualified Data.Maybe
|
||||||
import qualified Data.Semigroup as Semigroup
|
import qualified Data.Semigroup as Semigroup
|
||||||
import qualified Data.Sequence as Seq
|
|
||||||
import qualified Data.Set as Set
|
|
||||||
import qualified Data.Strict.Maybe as Strict
|
|
||||||
import qualified Data.Text as Text
|
import qualified Data.Text as Text
|
||||||
import qualified Data.Text.Encoding as Text.Encoding
|
|
||||||
import qualified Data.Text.IO as Text.IO
|
|
||||||
import qualified Data.Text.Lazy as TextL
|
|
||||||
import qualified Data.Text.Lazy.Encoding as TextL.Encoding
|
|
||||||
import qualified Data.Text.Lazy.IO as TextL.IO
|
|
||||||
import qualified GHC.OldList as List
|
import qualified GHC.OldList as List
|
||||||
import qualified Safe as Safe
|
|
||||||
import qualified System.Directory
|
import qualified System.Directory
|
||||||
import qualified System.IO
|
|
||||||
import qualified Text.PrettyPrint
|
|
||||||
import qualified Text.PrettyPrint.Annotated
|
|
||||||
import qualified Text.PrettyPrint.Annotated.HughesPJ
|
|
||||||
import qualified Text.PrettyPrint.Annotated.HughesPJClass
|
|
||||||
|
|
||||||
import Test.Hspec
|
import Test.Hspec
|
||||||
import Test.Hspec.Runner ( hspecWith
|
|
||||||
, defaultConfig
|
|
||||||
, configConcurrentJobs
|
|
||||||
)
|
|
||||||
|
|
||||||
import qualified Text.Parsec as Parsec
|
import qualified Text.Parsec as Parsec
|
||||||
import Text.Parsec.Text ( Parser )
|
import Text.Parsec.Text ( Parser )
|
||||||
|
|
||||||
import Data.Char ( isSpace )
|
|
||||||
import Data.List ( groupBy )
|
import Data.List ( groupBy )
|
||||||
|
|
||||||
import Language.Haskell.Brittany.Internal
|
import Language.Haskell.Brittany.Internal
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
{-# LANGUAGE ScopedTypeVariables #-}
|
||||||
|
|
||||||
module AsymptoticPerfTests
|
module AsymptoticPerfTests
|
||||||
( asymptoticPerfTest
|
( asymptoticPerfTest
|
||||||
)
|
)
|
||||||
|
@ -5,71 +7,26 @@ where
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import Language.Haskell.Brittany.Internal.Prelude
|
|
||||||
import Language.Haskell.Brittany.Internal.PreludeUtils
|
import Language.Haskell.Brittany.Internal.PreludeUtils
|
||||||
import qualified Control.Monad.Reader.Class as Reader.Class
|
|
||||||
import qualified Control.Monad.RWS.Class as RWS.Class
|
|
||||||
import qualified Control.Monad.State.Class as State.Class
|
|
||||||
import qualified Control.Monad.Trans.Except as ExceptT
|
|
||||||
import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL
|
|
||||||
import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS
|
|
||||||
import qualified Control.Monad.Trans.State as State
|
|
||||||
import qualified Control.Monad.Trans.State.Lazy as StateL
|
|
||||||
import qualified Control.Monad.Trans.State.Strict as StateS
|
|
||||||
import qualified Control.Monad.Writer.Class as Writer.Class
|
|
||||||
import qualified Data.Bool as Bool
|
|
||||||
import qualified Data.ByteString
|
|
||||||
import qualified Data.ByteString as ByteString
|
|
||||||
import qualified Data.ByteString.Char8
|
|
||||||
import qualified Data.ByteString.Lazy as ByteStringL
|
|
||||||
import qualified Data.Coerce
|
|
||||||
import qualified Data.Data
|
|
||||||
import qualified Data.Either
|
|
||||||
import qualified Data.Foldable
|
|
||||||
import qualified Data.Foldable as Foldable
|
|
||||||
import qualified Data.IntMap.Lazy as IntMapL
|
|
||||||
import qualified Data.IntMap.Strict as IntMapS
|
|
||||||
import qualified Data.List.Extra
|
|
||||||
import qualified Data.Map as Map
|
|
||||||
import qualified Data.Maybe
|
|
||||||
import qualified Data.Semigroup as Semigroup
|
|
||||||
import qualified Data.Sequence as Seq
|
|
||||||
import qualified Data.Set as Set
|
|
||||||
import qualified Data.Strict.Maybe as Strict
|
|
||||||
import qualified Data.Text as Text
|
import qualified Data.Text as Text
|
||||||
import qualified Data.Text.Encoding as Text.Encoding
|
|
||||||
import qualified Data.Text.IO as Text.IO
|
|
||||||
import qualified Data.Text.Lazy as TextL
|
|
||||||
import qualified Data.Text.Lazy.Encoding as TextL.Encoding
|
|
||||||
import qualified Data.Text.Lazy.IO as TextL.IO
|
|
||||||
import qualified GHC.OldList as List
|
|
||||||
import qualified Safe as Safe
|
|
||||||
import qualified System.Directory
|
|
||||||
import qualified System.IO
|
|
||||||
import qualified Text.PrettyPrint
|
|
||||||
import qualified Text.PrettyPrint.Annotated
|
|
||||||
import qualified Text.PrettyPrint.Annotated.HughesPJ
|
|
||||||
import qualified Text.PrettyPrint.Annotated.HughesPJClass
|
|
||||||
|
|
||||||
import Test.Hspec
|
import Test.Hspec
|
||||||
|
|
||||||
import Language.Haskell.Brittany.Internal
|
|
||||||
|
|
||||||
import TestUtils
|
import TestUtils
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
asymptoticPerfTest :: Spec
|
asymptoticPerfTest :: Spec
|
||||||
asymptoticPerfTest = do
|
asymptoticPerfTest = do
|
||||||
it "1000 do statements"
|
it "10 do statements"
|
||||||
$ roundTripEqualWithTimeout 1500000
|
$ roundTripEqualWithTimeout 1500000
|
||||||
$ (Text.pack "func = do\n")
|
$ (Text.pack "func = do\n")
|
||||||
<> Text.replicate 1000 (Text.pack " statement\n")
|
<> Text.replicate 10 (Text.pack " statement\n")
|
||||||
it "1000 do nestings"
|
it "10 do nestings"
|
||||||
$ roundTripEqualWithTimeout 4000000
|
$ roundTripEqualWithTimeout 4000000
|
||||||
$ (Text.pack "func = ")
|
$ (Text.pack "func = ")
|
||||||
<> mconcat
|
<> mconcat
|
||||||
( [0 .. 999]
|
( [1 .. 10]
|
||||||
<&> \(i :: Int) ->
|
<&> \(i :: Int) ->
|
||||||
(Text.replicate (2 * i) (Text.pack " ") <> Text.pack "do\n")
|
(Text.replicate (2 * i) (Text.pack " ") <> Text.pack "do\n")
|
||||||
)
|
)
|
||||||
|
@ -77,7 +34,7 @@ asymptoticPerfTest = do
|
||||||
<> Text.pack "return\n"
|
<> Text.pack "return\n"
|
||||||
<> Text.replicate 2002 (Text.pack " ")
|
<> Text.replicate 2002 (Text.pack " ")
|
||||||
<> Text.pack "()"
|
<> Text.pack "()"
|
||||||
it "1000 AppOps"
|
it "10 AppOps"
|
||||||
$ roundTripEqualWithTimeout 1000000
|
$ roundTripEqualWithTimeout 1000000
|
||||||
$ (Text.pack "func = expr")
|
$ (Text.pack "func = expr")
|
||||||
<> Text.replicate 200 (Text.pack "\n . expr") --TODO
|
<> Text.replicate 10 (Text.pack "\n . expr") --TODO
|
||||||
|
|
|
@ -1,57 +1,8 @@
|
||||||
module Main where
|
module Main where
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import Language.Haskell.Brittany.Internal.Prelude
|
|
||||||
import Language.Haskell.Brittany.Internal.PreludeUtils
|
|
||||||
import qualified Control.Monad.Reader.Class as Reader.Class
|
|
||||||
import qualified Control.Monad.RWS.Class as RWS.Class
|
|
||||||
import qualified Control.Monad.State.Class as State.Class
|
|
||||||
import qualified Control.Monad.Trans.Except as ExceptT
|
|
||||||
import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL
|
|
||||||
import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS
|
|
||||||
import qualified Control.Monad.Trans.State as State
|
|
||||||
import qualified Control.Monad.Trans.State.Lazy as StateL
|
|
||||||
import qualified Control.Monad.Trans.State.Strict as StateS
|
|
||||||
import qualified Control.Monad.Writer.Class as Writer.Class
|
|
||||||
import qualified Data.Bool as Bool
|
|
||||||
import qualified Data.ByteString
|
|
||||||
import qualified Data.ByteString as ByteString
|
|
||||||
import qualified Data.ByteString.Char8
|
|
||||||
import qualified Data.ByteString.Lazy as ByteStringL
|
|
||||||
import qualified Data.Coerce
|
|
||||||
import qualified Data.Data
|
|
||||||
import qualified Data.Either
|
|
||||||
import qualified Data.Foldable
|
|
||||||
import qualified Data.Foldable as Foldable
|
|
||||||
import qualified Data.IntMap.Lazy as IntMapL
|
|
||||||
import qualified Data.IntMap.Strict as IntMapS
|
|
||||||
import qualified Data.List.Extra
|
|
||||||
import qualified Data.Map as Map
|
|
||||||
import qualified Data.Maybe
|
|
||||||
import qualified Data.Semigroup as Semigroup
|
|
||||||
import qualified Data.Sequence as Seq
|
|
||||||
import qualified Data.Set as Set
|
|
||||||
import qualified Data.Strict.Maybe as Strict
|
|
||||||
import qualified Data.Text as Text
|
|
||||||
import qualified Data.Text.Encoding as Text.Encoding
|
|
||||||
import qualified Data.Text.IO as Text.IO
|
|
||||||
import qualified Data.Text.Lazy as TextL
|
|
||||||
import qualified Data.Text.Lazy.Encoding as TextL.Encoding
|
|
||||||
import qualified Data.Text.Lazy.IO as TextL.IO
|
|
||||||
import qualified GHC.OldList as List
|
|
||||||
import qualified Safe as Safe
|
|
||||||
import qualified System.Directory
|
|
||||||
import qualified System.IO
|
|
||||||
import qualified Text.PrettyPrint
|
|
||||||
import qualified Text.PrettyPrint.Annotated
|
|
||||||
import qualified Text.PrettyPrint.Annotated.HughesPJ
|
|
||||||
import qualified Text.PrettyPrint.Annotated.HughesPJClass
|
|
||||||
|
|
||||||
import Test.Hspec
|
import Test.Hspec
|
||||||
|
|
||||||
import Language.Haskell.Brittany.Internal
|
|
||||||
|
|
||||||
import AsymptoticPerfTests
|
import AsymptoticPerfTests
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,50 +3,9 @@ module TestUtils where
|
||||||
|
|
||||||
|
|
||||||
import Language.Haskell.Brittany.Internal.Prelude
|
import Language.Haskell.Brittany.Internal.Prelude
|
||||||
import Language.Haskell.Brittany.Internal.PreludeUtils
|
|
||||||
import qualified Control.Monad.Reader.Class as Reader.Class
|
|
||||||
import qualified Control.Monad.RWS.Class as RWS.Class
|
|
||||||
import qualified Control.Monad.State.Class as State.Class
|
|
||||||
import qualified Control.Monad.Trans.Except as ExceptT
|
|
||||||
import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL
|
|
||||||
import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS
|
|
||||||
import qualified Control.Monad.Trans.State as State
|
|
||||||
import qualified Control.Monad.Trans.State.Lazy as StateL
|
|
||||||
import qualified Control.Monad.Trans.State.Strict as StateS
|
|
||||||
import qualified Control.Monad.Writer.Class as Writer.Class
|
|
||||||
import qualified Data.Bool as Bool
|
|
||||||
import qualified Data.ByteString
|
|
||||||
import qualified Data.ByteString as ByteString
|
|
||||||
import qualified Data.ByteString.Char8
|
|
||||||
import qualified Data.ByteString.Lazy as ByteStringL
|
|
||||||
import qualified Data.Coerce
|
|
||||||
import qualified Data.Data
|
|
||||||
import qualified Data.Either
|
|
||||||
import qualified Data.Foldable
|
|
||||||
import qualified Data.Foldable as Foldable
|
|
||||||
import qualified Data.IntMap.Lazy as IntMapL
|
|
||||||
import qualified Data.IntMap.Strict as IntMapS
|
|
||||||
import qualified Data.List.Extra
|
|
||||||
import qualified Data.Map as Map
|
|
||||||
import qualified Data.Maybe
|
import qualified Data.Maybe
|
||||||
import qualified Data.Semigroup as Semigroup
|
import qualified Data.Semigroup as Semigroup
|
||||||
import qualified Data.Sequence as Seq
|
|
||||||
import qualified Data.Set as Set
|
|
||||||
import qualified Data.Strict.Maybe as Strict
|
|
||||||
import qualified Data.Text as Text
|
import qualified Data.Text as Text
|
||||||
import qualified Data.Text.Encoding as Text.Encoding
|
|
||||||
import qualified Data.Text.IO as Text.IO
|
|
||||||
import qualified Data.Text.Lazy as TextL
|
|
||||||
import qualified Data.Text.Lazy.Encoding as TextL.Encoding
|
|
||||||
import qualified Data.Text.Lazy.IO as TextL.IO
|
|
||||||
import qualified GHC.OldList as List
|
|
||||||
import qualified Safe as Safe
|
|
||||||
import qualified System.Directory
|
|
||||||
import qualified System.IO
|
|
||||||
import qualified Text.PrettyPrint
|
|
||||||
import qualified Text.PrettyPrint.Annotated
|
|
||||||
import qualified Text.PrettyPrint.Annotated.HughesPJ
|
|
||||||
import qualified Text.PrettyPrint.Annotated.HughesPJClass
|
|
||||||
|
|
||||||
import Test.Hspec
|
import Test.Hspec
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue