papa-base-export (empty) → 0.2.0
raw patch · 28 files changed
+952/−0 lines, 28 filesdep +QuickCheckdep +basedep +directorybuild-type:Customsetup-changed
Dependencies added: QuickCheck, base, directory, doctest, filepath, template-haskell
Files
- LICENSE +77/−0
- Setup.lhs +44/−0
- changelog +3/−0
- papa-base-export.cabal +88/−0
- src/Papa/Base/Export.hs +29/−0
- src/Papa/Base/Export/Control/Applicative.hs +21/−0
- src/Papa/Base/Export/Control/Category.hs +9/−0
- src/Papa/Base/Export/Control/Monad.hs +25/−0
- src/Papa/Base/Export/Data/Bool.hs +14/−0
- src/Papa/Base/Export/Data/Char.hs +36/−0
- src/Papa/Base/Export/Data/Either.hs +14/−0
- src/Papa/Base/Export/Data/Eq.hs +10/−0
- src/Papa/Base/Export/Data/Foldable.hs +21/−0
- src/Papa/Base/Export/Data/Function.hs +13/−0
- src/Papa/Base/Export/Data/Functor.hs +12/−0
- src/Papa/Base/Export/Data/Int.hs +14/−0
- src/Papa/Base/Export/Data/List.hs +69/−0
- src/Papa/Base/Export/Data/List/NonEmpty.hs +30/−0
- src/Papa/Base/Export/Data/Maybe.hs +14/−0
- src/Papa/Base/Export/Data/Monoid.hs +15/−0
- src/Papa/Base/Export/Data/Ord.hs +11/−0
- src/Papa/Base/Export/Data/Ratio.hs +14/−0
- src/Papa/Base/Export/Data/Semigroup.hs +34/−0
- src/Papa/Base/Export/Data/String.hs +13/−0
- src/Papa/Base/Export/Data/Traversable.hs +13/−0
- src/Papa/Base/Export/Data/Void.hs +12/−0
- src/Papa/Base/Export/Prelude.hs +265/−0
- test/doctests.hs +32/−0
+ LICENSE view
@@ -0,0 +1,77 @@+CSIRO Open Source Software License Agreement (variation of the BSD / MIT+License)++Copyright (c) 2016, Commonwealth Scientific and Industrial Research Organisation+(CSIRO) ABN 41 687 119 230.++All rights reserved. CSIRO is willing to grant you a license to this+aemo-webservice on the following terms, except where otherwise indicated for+third party material.++Redistribution and use of this software in source and binary forms, with or+without modification, are permitted provided that the following conditions are+met:++* Redistributions of source code must retain the above copyright notice, this+ list of conditions and the following disclaimer.++* Redistributions in binary form must reproduce the above copyright notice, this+ list of conditions and the following disclaimer in the documentation and/or+ other materials provided with the distribution.++* Neither the name of CSIRO nor the names of its contributors may be used to+ endorse or promote products derived from this software without specific prior+ written permission of CSIRO.++EXCEPT AS EXPRESSLY STATED IN THIS AGREEMENT AND TO THE FULL EXTENT PERMITTED BY+APPLICABLE LAW, THE SOFTWARE IS PROVIDED "AS-IS". CSIRO MAKES NO+REPRESENTATIONS, WARRANTIES OR CONDITIONS OF ANY KIND, EXPRESS OR IMPLIED,+INCLUDING BUT NOT LIMITED TO ANY REPRESENTATIONS, WARRANTIES OR CONDITIONS+REGARDING THE CONTENTS OR ACCURACY OF THE SOFTWARE, OR OF TITLE,+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, THE ABSENCE+OF LATENT OR OTHER DEFECTS, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT+DISCOVERABLE.++TO THE FULL EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL CSIRO BE+LIABLE ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, IN AN ACTION FOR+BREACH OF CONTRACT, NEGLIGENCE OR OTHERWISE) FOR ANY CLAIM, LOSS, DAMAGES OR+OTHER LIABILITY HOWSOEVER INCURRED. WITHOUT LIMITING THE SCOPE OF THE PREVIOUS+SENTENCE THE EXCLUSION OF LIABILITY SHALL INCLUDE: LOSS OF PRODUCTION OR+OPERATION TIME, LOSS, DAMAGE OR CORRUPTION OF DATA OR RECORDS; OR LOSS OF+ANTICIPATED SAVINGS, OPPORTUNITY, REVENUE, PROFIT OR GOODWILL, OR OTHER ECONOMIC+LOSS; OR ANY SPECIAL, INCIDENTAL, INDIRECT, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY+DAMAGES, ARISING OUT OF OR IN CONNECTION WITH THIS AGREEMENT, ACCESS OF THE+SOFTWARE OR ANY OTHER DEALINGS WITH THE SOFTWARE, EVEN IF CSIRO HAS BEEN ADVISED+OF THE POSSIBILITY OF SUCH CLAIM, LOSS, DAMAGES OR OTHER LIABILITY.++APPLICABLE LEGISLATION SUCH AS THE AUSTRALIAN CONSUMER LAW MAY APPLY+REPRESENTATIONS, WARRANTIES, OR CONDITIONS, OR IMPOSES OBLIGATIONS OR LIABILITY+ON CSIRO THAT CANNOT BE EXCLUDED, RESTRICTED OR MODIFIED TO THE FULL EXTENT SET+OUT IN THE EXPRESS TERMS OF THIS CLAUSE ABOVE "CONSUMER GUARANTEES". TO THE+EXTENT THAT SUCH CONSUMER GUARANTEES CONTINUE TO APPLY, THEN TO THE FULL EXTENT+PERMITTED BY THE APPLICABLE LEGISLATION, THE LIABILITY OF CSIRO UNDER THE+RELEVANT CONSUMER GUARANTEE IS LIMITED (WHERE PERMITTED AT CSIRO'S OPTION) TO+ONE OF FOLLOWING REMEDIES OR SUBSTANTIALLY EQUIVALENT REMEDIES:++(a) THE REPLACEMENT OF THE SOFTWARE, THE SUPPLY OF EQUIVALENT+ SOFTWARE, OR SUPPLYING RELEVANT SERVICES AGAIN;+(b) THE REPAIR OF THE SOFTWARE;+(c) THE PAYMENT OF THE COST OF REPLACING THE+ SOFTWARE, OF ACQUIRING EQUIVALENT SOFTWARE, HAVING THE+ RELEVANT SERVICES SUPPLIED AGAIN, OR HAVING THE SOFTWARE+ REPAIRED.++IN THIS CLAUSE, CSIRO INCLUDES ANY THIRD PARTY AUTHOR OR OWNER OF ANY PART OF+THE SOFTWARE OR MATERIAL DISTRIBUTED WITH IT. CSIRO MAY ENFORCE ANY RIGHTS ON+BEHALF OF THE RELEVANT THIRD PARTY.++Third Party Components++The following third party components are distributed with the Software. You+agree to comply with the license terms for these components as part of accessing+the Software. Other third party software may also be identified in separate+files distributed with the Software.++___________________________________________________________________++___________________________________________________________________
+ Setup.lhs view
@@ -0,0 +1,44 @@+#!/usr/bin/env runhaskell+\begin{code}+{-# OPTIONS_GHC -Wall #-}+module Main (main) where++import Data.List ( nub )+import Data.Version ( showVersion )+import Distribution.Package ( PackageName(PackageName), PackageId, InstalledPackageId, packageVersion, packageName )+import Distribution.PackageDescription ( PackageDescription(), TestSuite(..) )+import Distribution.Simple ( defaultMainWithHooks, UserHooks(..), simpleUserHooks )+import Distribution.Simple.Utils ( rewriteFile, createDirectoryIfMissingVerbose )+import Distribution.Simple.BuildPaths ( autogenModulesDir )+import Distribution.Simple.Setup ( BuildFlags(buildVerbosity), fromFlag )+import Distribution.Simple.LocalBuildInfo ( withLibLBI, withTestLBI, LocalBuildInfo(), ComponentLocalBuildInfo(componentPackageDeps) )+import Distribution.Verbosity ( Verbosity )+import System.FilePath ( (</>) )++main :: IO ()+main = defaultMainWithHooks simpleUserHooks+ { buildHook = \pkg lbi hooks flags -> do+ generateBuildModule (fromFlag (buildVerbosity flags)) pkg lbi+ buildHook simpleUserHooks pkg lbi hooks flags+ }++generateBuildModule :: Verbosity -> PackageDescription -> LocalBuildInfo -> IO ()+generateBuildModule verbosity pkg lbi = do+ let dir = autogenModulesDir lbi+ createDirectoryIfMissingVerbose verbosity True dir+ withLibLBI pkg lbi $ \_ libcfg -> do+ withTestLBI pkg lbi $ \suite suitecfg -> do+ rewriteFile (dir </> "Build_" ++ testName suite ++ ".hs") $ unlines+ [ "module Build_" ++ testName suite ++ " where"+ , "deps :: [String]"+ , "deps = " ++ (show $ formatdeps (testDeps libcfg suitecfg))+ ]+ where+ formatdeps = map (formatone . snd)+ formatone p = case packageName p of+ PackageName n -> n ++ "-" ++ showVersion (packageVersion p)++testDeps :: ComponentLocalBuildInfo -> ComponentLocalBuildInfo -> [(InstalledPackageId, PackageId)]+testDeps xs ys = nub $ componentPackageDeps xs ++ componentPackageDeps ys++\end{code}
+ changelog view
@@ -0,0 +1,3 @@+0.2.0++* Initial release.
+ papa-base-export.cabal view
@@ -0,0 +1,88 @@+name: papa-base-export+version: 0.2.0+license: BSD3+license-file: LICENSE+author: Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ>+maintainer: Tony Morris+copyright: Copyright (c) 2017, Commonwealth Scientific and Industrial Research Organisation (CSIRO) ABN 41 687 119 230.+synopsis: Prelude with only useful functions+category: Prelude+description: Prelude with only useful functions+homepage: https://github.com/data61/papa-base-export+bug-reports: https://github.com/data61/papa-base-export/issues+cabal-version: >= 1.10+build-type: Custom+extra-source-files: changelog++source-repository head+ type: git+ location: git@github.com:data61/papa-base-export.git++flag small_base+ description: Choose the new, split-up base package.++library+ default-language:+ Haskell2010++ build-depends:+ base >= 4.8 && < 5+ + ghc-options:+ -Wall++ default-extensions:+ NoImplicitPrelude++ hs-source-dirs:+ src++ exposed-modules:+ Papa.Base.Export+ Papa.Base.Export.Control.Applicative+ Papa.Base.Export.Control.Category+ Papa.Base.Export.Control.Monad+ Papa.Base.Export.Data.Bool+ Papa.Base.Export.Data.Char+ Papa.Base.Export.Data.Either+ Papa.Base.Export.Data.Eq+ Papa.Base.Export.Data.Foldable+ Papa.Base.Export.Data.Function+ Papa.Base.Export.Data.Functor+ Papa.Base.Export.Data.Int+ Papa.Base.Export.Data.List+ Papa.Base.Export.Data.List.NonEmpty+ Papa.Base.Export.Data.Maybe+ Papa.Base.Export.Data.Monoid+ Papa.Base.Export.Data.Ord+ Papa.Base.Export.Data.Ratio+ Papa.Base.Export.Data.Semigroup+ Papa.Base.Export.Data.String+ Papa.Base.Export.Data.Traversable+ Papa.Base.Export.Data.Void+ Papa.Base.Export.Prelude++test-suite doctests+ type:+ exitcode-stdio-1.0++ main-is:+ doctests.hs++ default-language:+ Haskell2010++ build-depends:+ base < 5 && >= 3+ , doctest >= 0.9.7+ , filepath >= 1.3+ , directory >= 1.1+ , QuickCheck >= 2.0+ , template-haskell >= 2.8++ ghc-options:+ -Wall+ -threaded++ hs-source-dirs:+ test
+ src/Papa/Base/Export.hs view
@@ -0,0 +1,29 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export(+ module P+) where++import Papa.Base.Export.Control.Applicative as P+import Papa.Base.Export.Control.Category as P+import Papa.Base.Export.Control.Monad as P+import Papa.Base.Export.Data.Bool as P+import Papa.Base.Export.Data.Char as P+import Papa.Base.Export.Data.Either as P+import Papa.Base.Export.Data.Eq as P+import Papa.Base.Export.Data.Foldable as P+import Papa.Base.Export.Data.Function as P+import Papa.Base.Export.Data.Functor as P+import Papa.Base.Export.Data.Int as P+import Papa.Base.Export.Data.List as P+import Papa.Base.Export.Data.List.NonEmpty as P+import Papa.Base.Export.Data.Maybe as P+import Papa.Base.Export.Data.Monoid as P+import Papa.Base.Export.Data.Ord as P+import Papa.Base.Export.Data.Ratio as P+import Papa.Base.Export.Data.Semigroup as P+import Papa.Base.Export.Data.String as P+import Papa.Base.Export.Data.Traversable as P+import Papa.Base.Export.Data.Void as P+import Papa.Base.Export.Prelude as P+
+ src/Papa/Base/Export/Control/Applicative.hs view
@@ -0,0 +1,21 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Control.Applicative(+ module P+) where++import Control.Applicative as P(+ Applicative(pure, (<*>), (*>), (<*))+ , Alternative(empty, (<|>), some, many)+ , Const(getConst)+ , WrappedMonad(unwrapMonad)+ , WrappedArrow(unwrapArrow)+ , ZipList(getZipList)+ , (<$>)+ , (<$)+ , (<**>)+ , liftA+ , liftA2+ , liftA3+ , optional+ )
+ src/Papa/Base/Export/Control/Category.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Control.Category(+ module P+) where++import Control.Category as P(+ Category(id, (.))+ )
+ src/Papa/Base/Export/Control/Monad.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Control.Monad(+ module P+) where++import Control.Monad as P(+ Functor(fmap)+ , Monad((>>=))+ , MonadPlus(mzero, mplus)+ , forever+ , void+ , msum+ , mfilter+ , filterM+ , foldM+ , foldM_+ , replicateM+ , replicateM_+ , guard+ , when+ , unless+ , (<$!>)+ )+
+ src/Papa/Base/Export/Data/Bool.hs view
@@ -0,0 +1,14 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.Bool(+ module P+) where++import Data.Bool as P(+ (&&)+ , (||)+ , not+ , otherwise+ , bool+ )+
+ src/Papa/Base/Export/Data/Char.hs view
@@ -0,0 +1,36 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.Char(+ module P+) where++import Data.Char as P(+ Char+ , isControl+ , isSpace+ , isLower+ , isUpper+ , isAlpha+ , isAlphaNum+ , isPrint+ , isDigit+ , isOctDigit+ , isHexDigit+ , isLetter+ , isMark+ , isNumber+ , isPunctuation+ , isSymbol+ , isSeparator+ , isAscii+ , isLatin1+ , isAsciiUpper+ , isAsciiLower+ , GeneralCategory(UppercaseLetter, LowercaseLetter, TitlecaseLetter, ModifierLetter, OtherLetter, NonSpacingMark, SpacingCombiningMark, EnclosingMark, DecimalNumber, LetterNumber, OtherNumber, ConnectorPunctuation, DashPunctuation, OpenPunctuation, ClosePunctuation, InitialQuote, FinalQuote, OtherPunctuation, MathSymbol, CurrencySymbol, ModifierSymbol, OtherSymbol, Space, LineSeparator, ParagraphSeparator, Control, Format, Surrogate, PrivateUse, NotAssigned)+ , toUpper+ , toLower+ , toTitle+ , ord+ , chr+ )+
+ src/Papa/Base/Export/Data/Either.hs view
@@ -0,0 +1,14 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.Either(+ module P+) where++import Data.Either as P(+ Either(Left, Right)+ , either+ , isLeft+ , isRight+ , partitionEithers+ )+
+ src/Papa/Base/Export/Data/Eq.hs view
@@ -0,0 +1,10 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.Eq(+ module P+) where++import Data.Eq as P(+ Eq((==), (/=))+ )+
+ src/Papa/Base/Export/Data/Foldable.hs view
@@ -0,0 +1,21 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.Foldable(+ module P+) where++import Data.Foldable as P(+ Foldable(fold, foldMap, foldr, foldr', foldl, foldl', toList, null, elem, sum, product)+ , foldrM+ , foldlM+ , traverse_+ , for_+ , sequenceA_+ , asum+ , and+ , or+ , any+ , all+ , notElem+ , find+ )
+ src/Papa/Base/Export/Data/Function.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.Function(+ module P+) where++import Data.Function as P(+ ($)+ , (&)+ , fix+ , on+ )+
+ src/Papa/Base/Export/Data/Functor.hs view
@@ -0,0 +1,12 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.Functor(+ module P+) where++import Data.Functor as P(+ Functor(fmap, (<$))+ , ($>)+ , (<$>)+ , void+ )
+ src/Papa/Base/Export/Data/Int.hs view
@@ -0,0 +1,14 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.Int(+ module P+) where++import Data.Int as P(+ Int+ , Int8+ , Int16+ , Int32+ , Int64+ )+
+ src/Papa/Base/Export/Data/List.hs view
@@ -0,0 +1,69 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.List(+ module P+) where++import Data.List as P(+ null+ , length+ , reverse+ , intersperse+ , intercalate+ , transpose+ , subsequences+ , permutations+ , foldl+ , foldl'+ , foldr+ , and+ , or+ , any+ , all+ , sum+ , product+ , mapAccumL+ , mapAccumR+ , replicate+ , cycle+ , take+ , drop+ , splitAt+ , takeWhile+ , dropWhile+ , dropWhileEnd+ , span+ , break+ , stripPrefix+ , isPrefixOf+ , isSuffixOf+ , isInfixOf+ , isSubsequenceOf+ , elem+ , notElem+ , find+ , partition+ , lines+ , words+ , unlines+ , unwords+ , nub+ , delete+ , (\\)+ , union+ , intersect+ , sort+ , sortOn+ , nubBy+ , deleteBy+ , deleteFirstsBy+ , unionBy+ , intersectBy+ , sortBy+ , insertBy+ , genericLength+ , genericTake+ , genericDrop+ , genericSplitAt+ , genericReplicate+ )
+ src/Papa/Base/Export/Data/List/NonEmpty.hs view
@@ -0,0 +1,30 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.List.NonEmpty(+ module P+) where++import Data.List.NonEmpty as P(+ NonEmpty((:|))+ , scanl+ , scanr+ , scanl1+ , scanr1+ , inits+ , tails+ , iterate+ , repeat+ , unfold+ , insert+ , some1+ , group+ , groupBy+ , groupWith+ , groupAllWith+ , group1+ , groupBy1+ , groupWith1+ , groupAllWith1+ , nonEmpty+ , xor+ )
+ src/Papa/Base/Export/Data/Maybe.hs view
@@ -0,0 +1,14 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.Maybe(+ module P+) where++import Data.Maybe as P(+ Maybe(Nothing, Just)+ , maybe+ , isJust+ , isNothing+ , fromMaybe+ )+
+ src/Papa/Base/Export/Data/Monoid.hs view
@@ -0,0 +1,15 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.Monoid(+ module P +) where++import Data.Monoid as P(+ Monoid(mempty, mappend)+ , Dual(getDual)+ , Endo(appEndo)+ , All(getAll)+ , Any(getAny)+ , Sum(getSum)+ , Product(getProduct)+ )
+ src/Papa/Base/Export/Data/Ord.hs view
@@ -0,0 +1,11 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.Ord(+ module P+) where++import Data.Ord as P(+ Ord(compare, (<), (<=), (>), (>=), max, min)+ , Down(Down)+ , comparing+ )
+ src/Papa/Base/Export/Data/Ratio.hs view
@@ -0,0 +1,14 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.Ratio(+ module P+) where++import Data.Ratio as P(+ Ratio+ , Rational+ , (%)+ , numerator+ , denominator+ , approxRational+ )
+ src/Papa/Base/Export/Data/Semigroup.hs view
@@ -0,0 +1,34 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.Semigroup(+ module P+) where++import Data.Semigroup as P(+ Semigroup((<>), sconcat, stimes)+ , stimesMonoid+ , stimesIdempotent+ , stimesIdempotentMonoid+ , mtimesDefault+ , Min(getMin)+ , Max(getMax)+ , First(getFirst)+ , Last(getLast)+ , WrappedMonoid(unwrapMonoid)+ , Monoid(mempty, mappend)+ , Dual(getDual)+ , Endo(appEndo)+ , All(getAll)+ , Any(getAny)+ , Sum(getSum)+ , Product(getProduct)+ , Option(getOption)+ , option+ , diff+ , cycle1+ , WrappedMonoid(unwrapMonoid)+ , Arg(Arg)+ , ArgMin+ , ArgMax+ )+
+ src/Papa/Base/Export/Data/String.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.String(+ module P+) where++import Data.String as P(+ String+ , lines+ , words+ , unlines+ , unwords+ )
+ src/Papa/Base/Export/Data/Traversable.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.Traversable(+ module P+) where++import Data.Traversable as P(+ Traversable(traverse, sequenceA)+ , for+ , mapAccumL+ , fmapDefault+ , foldMapDefault+ )
+ src/Papa/Base/Export/Data/Void.hs view
@@ -0,0 +1,12 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Data.Void(+ module P+) where++import Data.Void as P(+ Void+ , absurd+ , vacuous+ )+
+ src/Papa/Base/Export/Prelude.hs view
@@ -0,0 +1,265 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Papa.Base.Export.Prelude(+ module Prelude+) where++import Prelude as Prelude(+-- (!!) Papa.Prelude.Lens.Data.List+ Monad+ , encodeFloat+--, map Papa.Core.Data.Functor+--, scanr Papa.Prelude.Semigroups.Data.List+ , ($)+ , Monoid +--, enumFrom+--, mapM Papa.Core.Data.Traversable+--, scanr1+--, ($!) +--, enumFromThen+--, mapM_ Papa.Core.Data.Foldable+--, seq+ , (&&)+ , Num +--, enumFromThenTo+--, mappend Papa.Prelude.Semigroups.Data.List+--, sequence Papa.Core.Data.Traversable+ , (*)+ , Ord +--, enumFromTo+ , max + , sequenceA+ , (**)+ , Ordering(+ LT+ , EQ+ , GT+ )+--, error +--, maxBound+--, sequence_ Papa.Core.Data.Foldable+--, (*>) Papa.Prelude.Semigroupoids.Data.Functor.Bind+ , Rational+--, errorWithoutStackTrace+--, maximum Papa.Prelude.Semigroups.Data.List+ , show+ , (+) +--, Read + , even + , maybe +--, showChar+--, (++) Papa.Prelude.Semigroups.Data.List+--, ReadS + , exp +--, mconcat Papa.Core.Data.Monoid+--, showList+ , (-) + , Real + , exponent+ , mempty + , showParen+--, (.) Papa.Prelude.Semigroupoids.Data.Semigroupoid+ , RealFloat+--, fail + , min +--, showString+ , (/) +--, RealFrac+ , filter +--, minBound+ , shows+ , (/=) +--, flip Papa.Core.Data.Functor+--, minimum Papa.Prelude.Semigroups.Data.List+ , showsPrec+ , (<) + , Show + , floatDigits+ , mod + , significand+ , (<$) + , ShowS + , floatRadix+ , negate + , signum+ , (<$>)+--, String + , floatRange+ , not + , sin+--, (<*) Papa.Prelude.Semigroupoids.Data.Functor.Bind+ , Traversable+ , floor + , notElem + , sinh+ , (<*>)+ , fmap + , null +--, snd Papa.Prelude.Lens.Data.Tuple+ , (<=)+ , Word + , foldMap + , odd + , span+--, (=<<) Papa.Prelude.Semigroupoids.Data.Functor.Bind+ , (^)+ , foldl+--, or + , splitAt+ , (==) + , (^^) +--, foldl1 Papa.Prelude.Semigroups.Data.List + , otherwise+ , sqrt+ , (>) + , abs + , foldr + , pi + , subtract+ , (>=) + , acos +--, foldr1 Papa.Prelude.Semigroups.Data.List+--, pred +--, succ+--, (>>) Papa.Prelude.Semigroupoids.Data.Functor.Apply+ , acosh +--, fromEnum+--, print + , sum+--, (>>=) Papa.Prelude.Semigroupoids.Data.Functor.Bind+ , all + , fromInteger+ , product +--, tail Papa.Prelude.Lens.Data.List+ , Applicative+ , and + , fromIntegral+ , properFraction+ , take+ , Bool(+ False+ , True+ ) + , any + , fromRational+ , pure + , takeWhile+--, Bounded + , appendFile+--, fst Papa.Prelude.Lens.Data.Tuple+ , putChar + , tan+ , Char +--, asTypeOf+ , gcd + , putStr + , tanh+ , Double + , asin + , getChar + , putStrLn+--, toEnum+ , asinh + , getContents+ , quot + , toInteger+ , Either(+ Left+ , Right+ ) + , atan + , getLine + , quotRem + , toRational+ , Enum + , atan2 +--, head Papa.Prelude.Lens.Data.List +--, read + , traverse+ , Eq + , atanh +--, id Papa.Core.Control.Category+ , readFile+ , truncate+ , break +--, init Papa.Prelude.Lens.Data.List+ , readIO + , uncurry+ , FilePath+ , ceiling + , interact+--, readList+--, undefined+ , Float + , compare + , ioError +--, readLn + , unlines+ , Floating+--, concat Papa.Prelude.Semigroupoids.Data.Functor.Bind+ , isDenormalized+--, readParen+ , until+ , Foldable+--, concatMap Papa.Prelude.Semigroupoids.Data.Functor.Bind+ , isIEEE +--, reads + , unwords+ , Fractional+--, const Papa.Core.Control.Applicative+ , isInfinite+--, readsPrec+--, unzip Papa.Core.Data.Functor+ , Functor+ , cos + , isNaN + , realToFrac+ , unzip3+ , cosh + , isNegativeZero+ , recip +--, userError+ , IO + , curry +--, iterate + , rem + , words+ , IOError + , cycle +--, last Papa.Prelude.Lens.Data.List+--, repeat + , writeFile+ , Int + , decodeFloat+ , lcm + , replicate+ , zip+ , Integer +--, div +--, length +--, return Papa.Core.Control.Applicative+ , zip3+ , Integral+ , divMod+--, lex +--, reverse Papa.Core.Data.List+ , zipWith+ , drop + , lines + , round + , zipWith3+ , dropWhile+ , log + , scaleFloat+ , (||)+ , either + , logBase +--, scanl Papa.Prelude.Semigroups.Data.List+ , Maybe(+ Nothing+ , Just+ ) + , elem +--, lookup Papa.Core.Data.List+--, scanl1+ )
+ test/doctests.hs view
@@ -0,0 +1,32 @@+module Main where++import Build_doctests (deps)+import Control.Applicative+import Control.Monad+import Data.List+import System.Directory+import System.FilePath+import Test.DocTest++main ::+ IO ()+main =+ getSources >>= \sources -> doctest $+ "-isrc"+ : "-idist/build/autogen"+ : "-optP-include"+ : "-optPdist/build/autogen/cabal_macros.h"+ : "-hide-all-packages"+ : map ("-package="++) deps ++ sources++getSources :: IO [FilePath]+getSources = filter (isSuffixOf ".hs") <$> go "src"+ where+ go dir = do+ (dirs, files) <- getFilesAndDirectories dir+ (files ++) . concat <$> mapM go dirs++getFilesAndDirectories :: FilePath -> IO ([FilePath], [FilePath])+getFilesAndDirectories dir = do+ c <- map (dir </>) . filter (`notElem` ["..", "."]) <$> getDirectoryContents dir+ (,) <$> filterM doesDirectoryExist c <*> filterM doesFileExist c