container-builder (empty) → 0.1
raw patch · 5 files changed
+852/−0 lines, 5 filesdep +basedep +vectorsetup-changed
Dependencies added: base, vector
Files
- LICENSE +30/−0
- Setup.hs +2/−0
- container-builder.cabal +27/−0
- src/Data/List/From.hs +98/−0
- src/Data/Vector/From.hs +695/−0
+ LICENSE view
@@ -0,0 +1,30 @@+Copyright Andrew Martin (c) 2016++All rights reserved.++Redistribution and use 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 Andrew Martin 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.
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ container-builder.cabal view
@@ -0,0 +1,27 @@+name: container-builder+version: 0.1+synopsis: Functions for building containers from a known number of elements+description: Please see README.md+homepage: https://github.com/andrewthad/container-builder#readme+license: BSD3+license-file: LICENSE+author: Andrew Martin+maintainer: andrew.thaddeus@gmail.com+copyright: 2016 Andrew Martin+category: Web+build-type: Simple+cabal-version: >=1.10++library+ hs-source-dirs: src+ exposed-modules:+ Data.List.From+ Data.Vector.From+ build-depends: + base >= 4.7 && < 5+ , vector+ default-language: Haskell2010++source-repository head+ type: git+ location: https://github.com/andrewthad/container-builder
+ src/Data/List/From.hs view
@@ -0,0 +1,98 @@+module Data.List.From where++from1 :: a -> [a]+from1 _1 = [_1]++from2 :: a -> a -> [a]+from2 _1 _2 = [_1,_2]++from3 :: a -> a -> a -> [a]+from3 _1 _2 _3 = [_1,_2,_3]++from4 :: a -> a -> a -> a -> [a]+from4 _1 _2 _3 _4 = [_1,_2,_3,_4]++from5 :: a -> a -> a -> a -> a -> [a]+from5 _1 _2 _3 _4 _5 = [_1,_2,_3,_4,_5]++from6 :: a -> a -> a -> a -> a -> a -> [a]+from6 _1 _2 _3 _4 _5 _6 = [_1,_2,_3,_4,_5,_6]++from7 :: a -> a -> a -> a -> a -> a -> a -> [a]+from7 _1 _2 _3 _4 _5 _6 _7 = [_1,_2,_3,_4,_5,_6,_7]++from8 :: a -> a -> a -> a -> a -> a -> a -> a -> [a]+from8 _1 _2 _3 _4 _5 _6 _7 _8 = [_1,_2,_3,_4,_5,_6,_7,_8]++from9 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from9 _1 _2 _3 _4 _5 _6 _7 _8 _9 = [_1,_2,_3,_4,_5,_6,_7,_8,_9]++from10 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from10 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10]++from11 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from11 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11]++from12 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from12 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12]++from13 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from13 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13]++from14 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from14 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14]++from15 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from15 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15]++from16 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from16 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16]++from17 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from17 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17]++from18 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from18 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18]++from19 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from19 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19]++from20 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from20 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20]++from21 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from21 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21]++from22 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from22 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22]++from23 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from23 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23]++from24 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from24 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24]++from25 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from25 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25]++from26 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from26 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26]++from27 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from27 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 _27 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27]++from28 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from28 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 _27 _28 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28]++from29 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from29 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 _27 _28 _29 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29]++from30 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from30 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 _27 _28 _29 _30 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30]++from31 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from31 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 _27 _28 _29 _30 _31 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30,_31]++from32 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> [a]+from32 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 _27 _28 _29 _30 _31 _32 = [_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30,_31,_32]+
+ src/Data/Vector/From.hs view
@@ -0,0 +1,695 @@+module Data.Vector.From where++import Prelude (($))+import Data.Vector+import Data.Vector.Mutable+import Control.Monad.ST++from1 :: a -> Vector a+from1 _0 = runST $ do+ v <- unsafeNew 1+ unsafeWrite v 0 _0+ unsafeFreeze v++from2 :: a -> a -> Vector a+from2 _0 _1 = runST $ do+ v <- unsafeNew 2+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeFreeze v++from3 :: a -> a -> a -> Vector a+from3 _0 _1 _2 = runST $ do+ v <- unsafeNew 3+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeFreeze v++from4 :: a -> a -> a -> a -> Vector a+from4 _0 _1 _2 _3 = runST $ do+ v <- unsafeNew 4+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeFreeze v++from5 :: a -> a -> a -> a -> a -> Vector a+from5 _0 _1 _2 _3 _4 = runST $ do+ v <- unsafeNew 5+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeFreeze v++from6 :: a -> a -> a -> a -> a -> a -> Vector a+from6 _0 _1 _2 _3 _4 _5 = runST $ do+ v <- unsafeNew 6+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeFreeze v++from7 :: a -> a -> a -> a -> a -> a -> a -> Vector a+from7 _0 _1 _2 _3 _4 _5 _6 = runST $ do+ v <- unsafeNew 7+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeFreeze v++from8 :: a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from8 _0 _1 _2 _3 _4 _5 _6 _7 = runST $ do+ v <- unsafeNew 8+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeFreeze v++from9 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from9 _0 _1 _2 _3 _4 _5 _6 _7 _8 = runST $ do+ v <- unsafeNew 9+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeFreeze v++from10 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from10 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 = runST $ do+ v <- unsafeNew 10+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeFreeze v++from11 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from11 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 = runST $ do+ v <- unsafeNew 11+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeFreeze v++from12 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from12 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 = runST $ do+ v <- unsafeNew 12+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeFreeze v++from13 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from13 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 = runST $ do+ v <- unsafeNew 13+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeFreeze v++from14 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from14 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 = runST $ do+ v <- unsafeNew 14+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeFreeze v++from15 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from15 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 = runST $ do+ v <- unsafeNew 15+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeFreeze v++from16 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from16 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 = runST $ do+ v <- unsafeNew 16+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeWrite v 15 _15+ unsafeFreeze v++from17 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from17 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 = runST $ do+ v <- unsafeNew 17+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeWrite v 15 _15+ unsafeWrite v 16 _16+ unsafeFreeze v++from18 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from18 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 = runST $ do+ v <- unsafeNew 18+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeWrite v 15 _15+ unsafeWrite v 16 _16+ unsafeWrite v 17 _17+ unsafeFreeze v++from19 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from19 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 = runST $ do+ v <- unsafeNew 19+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeWrite v 15 _15+ unsafeWrite v 16 _16+ unsafeWrite v 17 _17+ unsafeWrite v 18 _18+ unsafeFreeze v++from20 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from20 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 = runST $ do+ v <- unsafeNew 20+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeWrite v 15 _15+ unsafeWrite v 16 _16+ unsafeWrite v 17 _17+ unsafeWrite v 18 _18+ unsafeWrite v 19 _19+ unsafeFreeze v++from21 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from21 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 = runST $ do+ v <- unsafeNew 21+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeWrite v 15 _15+ unsafeWrite v 16 _16+ unsafeWrite v 17 _17+ unsafeWrite v 18 _18+ unsafeWrite v 19 _19+ unsafeWrite v 20 _20+ unsafeFreeze v++from22 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from22 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 = runST $ do+ v <- unsafeNew 22+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeWrite v 15 _15+ unsafeWrite v 16 _16+ unsafeWrite v 17 _17+ unsafeWrite v 18 _18+ unsafeWrite v 19 _19+ unsafeWrite v 20 _20+ unsafeWrite v 21 _21+ unsafeFreeze v++from23 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from23 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 = runST $ do+ v <- unsafeNew 23+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeWrite v 15 _15+ unsafeWrite v 16 _16+ unsafeWrite v 17 _17+ unsafeWrite v 18 _18+ unsafeWrite v 19 _19+ unsafeWrite v 20 _20+ unsafeWrite v 21 _21+ unsafeWrite v 22 _22+ unsafeFreeze v++from24 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from24 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 = runST $ do+ v <- unsafeNew 24+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeWrite v 15 _15+ unsafeWrite v 16 _16+ unsafeWrite v 17 _17+ unsafeWrite v 18 _18+ unsafeWrite v 19 _19+ unsafeWrite v 20 _20+ unsafeWrite v 21 _21+ unsafeWrite v 22 _22+ unsafeWrite v 23 _23+ unsafeFreeze v++from25 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from25 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 = runST $ do+ v <- unsafeNew 25+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeWrite v 15 _15+ unsafeWrite v 16 _16+ unsafeWrite v 17 _17+ unsafeWrite v 18 _18+ unsafeWrite v 19 _19+ unsafeWrite v 20 _20+ unsafeWrite v 21 _21+ unsafeWrite v 22 _22+ unsafeWrite v 23 _23+ unsafeWrite v 24 _24+ unsafeFreeze v++from26 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from26 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 = runST $ do+ v <- unsafeNew 26+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeWrite v 15 _15+ unsafeWrite v 16 _16+ unsafeWrite v 17 _17+ unsafeWrite v 18 _18+ unsafeWrite v 19 _19+ unsafeWrite v 20 _20+ unsafeWrite v 21 _21+ unsafeWrite v 22 _22+ unsafeWrite v 23 _23+ unsafeWrite v 24 _24+ unsafeWrite v 25 _25+ unsafeFreeze v++from27 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from27 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 = runST $ do+ v <- unsafeNew 27+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeWrite v 15 _15+ unsafeWrite v 16 _16+ unsafeWrite v 17 _17+ unsafeWrite v 18 _18+ unsafeWrite v 19 _19+ unsafeWrite v 20 _20+ unsafeWrite v 21 _21+ unsafeWrite v 22 _22+ unsafeWrite v 23 _23+ unsafeWrite v 24 _24+ unsafeWrite v 25 _25+ unsafeWrite v 26 _26+ unsafeFreeze v++from28 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from28 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 _27 = runST $ do+ v <- unsafeNew 28+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeWrite v 15 _15+ unsafeWrite v 16 _16+ unsafeWrite v 17 _17+ unsafeWrite v 18 _18+ unsafeWrite v 19 _19+ unsafeWrite v 20 _20+ unsafeWrite v 21 _21+ unsafeWrite v 22 _22+ unsafeWrite v 23 _23+ unsafeWrite v 24 _24+ unsafeWrite v 25 _25+ unsafeWrite v 26 _26+ unsafeWrite v 27 _27+ unsafeFreeze v++from29 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from29 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 _27 _28 = runST $ do+ v <- unsafeNew 29+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeWrite v 15 _15+ unsafeWrite v 16 _16+ unsafeWrite v 17 _17+ unsafeWrite v 18 _18+ unsafeWrite v 19 _19+ unsafeWrite v 20 _20+ unsafeWrite v 21 _21+ unsafeWrite v 22 _22+ unsafeWrite v 23 _23+ unsafeWrite v 24 _24+ unsafeWrite v 25 _25+ unsafeWrite v 26 _26+ unsafeWrite v 27 _27+ unsafeWrite v 28 _28+ unsafeFreeze v++from30 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from30 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 _27 _28 _29 = runST $ do+ v <- unsafeNew 30+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeWrite v 15 _15+ unsafeWrite v 16 _16+ unsafeWrite v 17 _17+ unsafeWrite v 18 _18+ unsafeWrite v 19 _19+ unsafeWrite v 20 _20+ unsafeWrite v 21 _21+ unsafeWrite v 22 _22+ unsafeWrite v 23 _23+ unsafeWrite v 24 _24+ unsafeWrite v 25 _25+ unsafeWrite v 26 _26+ unsafeWrite v 27 _27+ unsafeWrite v 28 _28+ unsafeWrite v 29 _29+ unsafeFreeze v++from31 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from31 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 _27 _28 _29 _30 = runST $ do+ v <- unsafeNew 31+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeWrite v 15 _15+ unsafeWrite v 16 _16+ unsafeWrite v 17 _17+ unsafeWrite v 18 _18+ unsafeWrite v 19 _19+ unsafeWrite v 20 _20+ unsafeWrite v 21 _21+ unsafeWrite v 22 _22+ unsafeWrite v 23 _23+ unsafeWrite v 24 _24+ unsafeWrite v 25 _25+ unsafeWrite v 26 _26+ unsafeWrite v 27 _27+ unsafeWrite v 28 _28+ unsafeWrite v 29 _29+ unsafeWrite v 30 _30+ unsafeFreeze v++from32 :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Vector a+from32 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20 _21 _22 _23 _24 _25 _26 _27 _28 _29 _30 _31 = runST $ do+ v <- unsafeNew 32+ unsafeWrite v 0 _0+ unsafeWrite v 1 _1+ unsafeWrite v 2 _2+ unsafeWrite v 3 _3+ unsafeWrite v 4 _4+ unsafeWrite v 5 _5+ unsafeWrite v 6 _6+ unsafeWrite v 7 _7+ unsafeWrite v 8 _8+ unsafeWrite v 9 _9+ unsafeWrite v 10 _10+ unsafeWrite v 11 _11+ unsafeWrite v 12 _12+ unsafeWrite v 13 _13+ unsafeWrite v 14 _14+ unsafeWrite v 15 _15+ unsafeWrite v 16 _16+ unsafeWrite v 17 _17+ unsafeWrite v 18 _18+ unsafeWrite v 19 _19+ unsafeWrite v 20 _20+ unsafeWrite v 21 _21+ unsafeWrite v 22 _22+ unsafeWrite v 23 _23+ unsafeWrite v 24 _24+ unsafeWrite v 25 _25+ unsafeWrite v 26 _26+ unsafeWrite v 27 _27+ unsafeWrite v 28 _28+ unsafeWrite v 29 _29+ unsafeWrite v 30 _30+ unsafeWrite v 31 _31+ unsafeFreeze v+