packages feed

hw-balancedparens 0.0.0.1 → 0.0.0.2

raw patch · 5 files changed

+61/−73 lines, 5 filesdep −bytestringdep −conduitdep −hw-string-parsePVP ok

version bump matches the API change (PVP)

Dependencies removed: bytestring, conduit, hw-string-parse, mmap, safe

API changes (from Hackage documentation)

Files

LICENSE view
@@ -1,21 +1,30 @@-MIT License+Copyright John Ky (c) 2016 -Copyright (c) 2016 John Ky+All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy-of this software and associated documentation files (the "Software"), to deal-in the Software without restriction, including without limitation the rights-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell-copies of the Software, and to permit persons to whom the Software is-furnished to do so, subject to the following conditions:+Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met: -The above copyright notice and this permission notice shall be included in all-copies or substantial portions of the Software.+    * Redistributions of source code must retain the above copyright+      notice, this list of conditions and the following disclaimer. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE-SOFTWARE.+    * 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 Author name here nor the names of other+      contributors may be used to endorse or promote products derived+      from this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
− app/Main.hs
@@ -1,4 +0,0 @@-module Main where--main :: IO ()-main = putStrLn "Hello world"
bench/Main.hs view
@@ -10,7 +10,6 @@ import           HaskellWorks.Data.Bits.Broadword import           HaskellWorks.Data.Bits.FromBitTextByteString import           HaskellWorks.Data.Naive-import           HaskellWorks.Data.RankSelect.Base  setupEnvVector :: Int -> IO (DVS.Vector Word64) setupEnvVector n = return $ DVS.fromList (take n (cycle [maxBound, 0]))@@ -64,11 +63,6 @@     ]   , env (setupEnvVector 1000000) $ \bv -> bgroup "RangeMinMax"     [ bench "findClose"   (nf   (map (findClose bv)) [0, 1000..10000000])-    ]-  , env (setupEnvVector 1000000) $ \bv -> bgroup "Rank"-    [ bench "Rank - Once"   (whnf (rank1    bv) 1)-    , bench "Select - Once" (whnf (select1  bv) 1)-    , bench "Rank - Many"   (nf   (map (rank1 bv)) [0, 1000..10000000])     ]   ] 
hw-balancedparens.cabal view
@@ -1,9 +1,9 @@ name:                   hw-balancedparens-version:                0.0.0.1-synopsis:               Conduits for tokenizing streams.+version:                0.0.0.2+synopsis:               Balanced parentheses description:            Please see README.md homepage:               http://github.com/haskell-works/hw-balancedparens#readme-license:                MIT+license:                BSD3 license-file:           LICENSE author:                 John Ky maintainer:             newhoggy@gmail.com@@ -13,14 +13,6 @@ extra-source-files:     README.md cabal-version:          >= 1.22 -executable hw-balancedparens-example-  hs-source-dirs:       app-  main-is:              Main.hs-  ghc-options:          -threaded -rtsopts -with-rtsopts=-N -O2 -Wall -msse4.2-  build-depends:        base                          >= 4          && < 5-                      , hw-balancedparens-  default-language:     Haskell2010- library   hs-source-dirs:       src   exposed-modules:      HaskellWorks.Data.BalancedParens@@ -43,8 +35,6 @@                       , hw-excess                     >= 0.0.0.1                       , hw-prim                       >= 0.3.0.5                       , hw-rankselect-base            >= 0.1.0.0-                      , hw-string-parse               >= 0.0.0.2-                      , safe                       , vector    default-language:     Haskell2010@@ -60,9 +50,9 @@                       , HaskellWorks.Data.BalancedParens.SimpleSpec   build-depends:        base                          >= 4          && < 5                       , hspec+                      , hw-balancedparens                       , hw-bits                       >= 0.3.0.0                       , hw-prim                       >= 0.3.0.5-                      , hw-balancedparens                       , hw-rankselect-base            >= 0.1.0.0                       , QuickCheck                       , vector@@ -80,12 +70,8 @@     GHC-Options: -O2 -Wall -msse4.2     Default-Language: Haskell2010     Build-Depends:      base                          >= 4          && < 5-                      , bytestring-                      , conduit                       , criterion+                      , hw-balancedparens                       , hw-bits                       >= 0.3.0.0                       , hw-prim                       >= 0.3.0.5-                      , hw-balancedparens-                      , hw-rankselect-base            >= 0.1.0.0-                      , mmap                       , vector
test/HaskellWorks/Data/BalancedParens/RangeMinMaxSpec.hs view
@@ -7,11 +7,11 @@  import qualified Data.Vector.Storable                                     as DVS import           Data.Word--- import           HaskellWorks.Data.BalancedParens--- import           HaskellWorks.Data.BalancedParens.RangeMinMax--- import           HaskellWorks.Data.Bits.BitLength+import           HaskellWorks.Data.BalancedParens+import           HaskellWorks.Data.BalancedParens.RangeMinMax+import           HaskellWorks.Data.Bits.BitLength import           HaskellWorks.Data.Bits.BitShow--- import           HaskellWorks.Data.Bits.FromBitTextByteString+import           HaskellWorks.Data.Bits.FromBitTextByteString import           Test.Hspec import           Test.QuickCheck @@ -37,26 +37,29 @@ spec = describe "HaskellWorks.Data.BalancedParens.RangeMinMaxSpec" $ do   it "Skip tests" $ do     True `shouldBe` True-  -- it "For a simple bit string can find close" $ do-  --   let v = fromBitTextByteString "11101111 10100101 01111110 10110010 10111011 10111011 00011111 11011100" :: DVS.Vector Word64-  --   let !rmm = mkRangeMinMax v-  --   findClose rmm 61 `shouldBe` findClose v 61-  -- it "findClose should return the same result" $ do-  --   forAll (vectorSizedBetween 1 4) $ \(ShowVector v) -> do-  --     let !rmm = mkRangeMinMax v-  --     let len = bitLength v-  --     [findClose rmm i | i <- [1..len]] `shouldBe `[findClose v i | i <- [1..len]]-  -- it "findClose should return the same result over all counts" $ do-  --   forAll (vectorSizedBetween 1 factor) $ \(ShowVector v) -> do-  --     forAll (choose (1, bitLength v)) $ \p -> do-  --       let !rmm = mkRangeMinMax v-  --       findClose rmm p `shouldBe` findClose v p-  -- it "nextSibling should return the same result" $ do-  --   forAll (vectorSizedBetween 1 factor) $ \(ShowVector v) -> do-  --     let !rmm = mkRangeMinMax v-  --     nextSibling rmm 0 `shouldBe` nextSibling v 0-  -- it "nextSibling should return the same result over all counts" $ do-  --   forAll (vectorSizedBetween 1 factor) $ \(ShowVector v) -> do-  --     forAll (choose (1, bitLength v)) $ \p -> do-  --       let !rmm = mkRangeMinMax v-  --       nextSibling rmm p `shouldBe` nextSibling v p+  it "For a simple bit string can find close" $ do+    let v = fromBitTextByteString "11101111 10100101 01111110 10110010 10111011 10111011 00011111 11011100" :: DVS.Vector Word64+    let !rmm = mkRangeMinMax v+    findClose rmm 61 `shouldBe` findClose v 61+  it "findClose should return the same result" $ do+    forAll (vectorSizedBetween 1 4) $ \(ShowVector v) -> do+      let !rmm = mkRangeMinMax v+      let len = bitLength v+      [findClose rmm i | i <- [1..len]] `shouldBe `[findClose v i | i <- [1..len]]+  it "findClose should return the same result over all counts" $ do+    quickCheckWith stdArgs { maxSuccess = 10 } $ do+      forAll (vectorSizedBetween 1 factor) $ \(ShowVector v) -> do+        forAll (choose (1, bitLength v)) $ \p -> do+          let !rmm = mkRangeMinMax v+          findClose rmm p `shouldBe` findClose v p+  it "nextSibling should return the same result" $ do+    quickCheckWith stdArgs { maxSuccess = 10 } $ do+      forAll (vectorSizedBetween 1 factor) $ \(ShowVector v) -> do+        let !rmm = mkRangeMinMax v+        nextSibling rmm 0 `shouldBe` nextSibling v 0+  it "nextSibling should return the same result over all counts" $ do+    quickCheckWith stdArgs { maxSuccess = 10 } $ do+      forAll (vectorSizedBetween 1 factor) $ \(ShowVector v) -> do+        forAll (choose (1, bitLength v)) $ \p -> do+          let !rmm = mkRangeMinMax v+          nextSibling rmm p `shouldBe` nextSibling v p