diff --git a/docs/developers/CHANGELOG.md b/docs/developers/CHANGELOG.md index 6bb58fa..c810442 100644 --- a/docs/developers/CHANGELOG.md +++ b/docs/developers/CHANGELOG.md @@ -1,5 +1,8 @@ # 📅 Revision history for HelVM Common +## 0.1.2.4 -- 2024-04-14 +* Fix "This binding for ‘golden’ shadows the existing binding" + ## 0.1.2.3 -- 2023-06-20 * Implement `FileReaderIO (BusinessT MockIO)` diff --git a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Collections.MapList.hs.html b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Collections.MapList.hs.html index cf46672..6b37c5e 100644 --- a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Collections.MapList.hs.html +++ b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Collections.MapList.hs.html @@ -38,31 +38,31 @@ 19 mapListEmpty = mapListFromList [] 20 21 mapListFromList :: [a] -> MapList a - 22 mapListFromList = fromIndexedList . List.indexed + 22 mapListFromList = fromIndexedList <$> List.indexed 23 24 fromIndexedList :: IndexedList a -> MapList a - 25 fromIndexedList = fromIntMap . IntMap.fromList + 25 fromIndexedList = fromIntMap <$> IntMap.fromList 26 27 fromIntMap :: IntMap a -> MapList a 28 fromIntMap = MapList 29 30 -- | DeConstruction 31 mapListToList :: Default a => MapList a -> [a] - 32 mapListToList = listFromDescList . toDescList + 32 mapListToList = listFromDescList <$> toDescList 33 34 toDescList :: MapList a -> IndexedList a - 35 toDescList = IntMap.toDescList . unMapList + 35 toDescList = IntMap.toDescList <$> unMapList 36 37 -- | Internal function 38 listFromDescList :: Default a => IndexedList a -> [a] - 39 listFromDescList = loop act . ([] , ) where + 39 listFromDescList = loop act <$> ([] , ) where 40 act :: Default a => AccWithIndexedList a -> Either (AccWithIndexedList a) [a] 41 act (acc , [] ) = Right acc 42 act (acc , [(i , v)] ) = Right $ consDef i $ v : acc 43 act (acc , (i1 , v1) : (i2 , v2) : l ) = Left (consDef (i1 - i2 - 1) $ v1 : acc , (i2 , v2) : l) 44 45 consDef :: Default a => Key -> [a] -> [a] - 46 consDef i l = (check . compare i) 0 where + 46 consDef i l = (check <$> compare i) 0 where 47 check LT = error "MapList.consDef index is negative" 48 check EQ = l 49 check GT = consDef (i - 1) (def : l) @@ -79,7 +79,7 @@ 60 61 -- | Standard instances 62 instance (Default a , Show a) => Show (MapList a) where - 63 show = show . I.toList + 63 show = show <$> I.toList 64 65 instance IsString MapString where 66 fromString = mapListFromList @@ -88,27 +88,27 @@ 69 type (Item (MapList a)) = a 70 toList = mapListToList 71 fromList = mapListFromList - 72 fromListN n = mapListFromList . fromListN n + 72 fromListN n = mapListFromList <$> fromListN n 73 74 -- | ListLike instances 75 instance Default a => LL.FoldableLL (MapList a) a where - 76 foldl f b = IntMap.foldl f b . unMapList - 77 foldr f b = IntMap.foldr f b . unMapList + 76 foldl f b = IntMap.foldl f b <$> unMapList + 77 foldr f b = IntMap.foldr f b <$> unMapList 78 79 -- | My instances 80 instance {-# OVERLAPPING #-} IndexSafe (MapList a) a where - 81 findWithDefault e i = IntMap.findWithDefault e i . unMapList + 81 findWithDefault e i = IntMap.findWithDefault e i <$> unMapList 82 findMaybe = mapListFindMaybe 83 indexMaybe = mapListIndexMaybe - 84 findSafe i = liftMaybeOrError "MapList.findSafe: index is not correct" . mapListFindMaybe i - 85 indexSafe l = liftMaybeOrError "MapList.LLIndexSafe: index is not correct" . mapListIndexMaybe l + 84 findSafe i = liftMaybeOrError "MapList.findSafe: index is not correct" <$> mapListFindMaybe i + 85 indexSafe l = liftMaybeOrError "MapList.LLIndexSafe: index is not correct" <$> mapListIndexMaybe l 86 87 instance InsertDef (MapList a) a where - 88 insertDef i e = fromIntMap . IntMap.insert i e . unMapList + 88 insertDef i e = fromIntMap <$> IntMap.insert i e <$> unMapList 89 90 -- | Internal functions 91 mapListFindMaybe :: Key -> MapList a -> Maybe a - 92 mapListFindMaybe i = IntMap.lookup i . unMapList + 92 mapListFindMaybe i = IntMap.lookup i <$> unMapList 93 94 mapListIndexMaybe :: MapList a -> Key -> Maybe a 95 mapListIndexMaybe l i = unMapList l IntMap.!? i diff --git a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Collections.SList.hs.html b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Collections.SList.hs.html index 03f93cf..2a837a5 100644 --- a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Collections.SList.hs.html +++ b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Collections.SList.hs.html @@ -45,11 +45,11 @@ 26 sListEmpty = SList mempty 27 28 sListFromList :: [a] -> SList a - 29 sListFromList = SList . fromList + 29 sListFromList = SList <$> fromList 30 31 -- | DeConstruction 32 sListToList :: SList a -> [a] - 33 sListToList = toList . unSList + 33 sListToList = toList <$> unSList 34 35 -- | Types 36 type SString = SList Char @@ -61,16 +61,16 @@ 42 43 -- | Standard instances 44 instance Show a => Show (SList a) where - 45 show = show . toList + 45 show = show <$> toList 46 47 instance IsString SString where - 48 fromString = SList . L.slist + 48 fromString = SList <$> L.slist 49 50 instance IsList (SList a) where 51 type (Item (SList a)) = a 52 toList = sListToList 53 fromList = sListFromList - 54 fromListN n = SList . fromListN n + 54 fromListN n = SList <$> fromListN n 55 56 -- | MonoFoldable instances 57 type instance MT.Element (SList a) = a @@ -107,7 +107,7 @@ 88 -- | ListLike instances 89 instance LL.FoldableLL (SList a) a where 90 -- foldl = F.foldl - 91 foldl f z t = appEndo (getDual (foldMap (Dual . Endo . flip f) t)) z + 91 foldl f z t = appEndo (getDual (foldMap (Dual <$> Endo <$> flip f) t)) z 92 foldr = F.foldr 93 foldl1 = F.foldl1 94 foldr1 = F.foldr1 @@ -125,7 +125,7 @@ 106 last = sListLast 107 tail = sListTail 108 init = sListInit - 109 null = L.isEmpty . unSList + 109 null = L.isEmpty <$> unSList 110 -- length = genericLength 111 -- map = fmap 112 rigidMap = fmap @@ -134,8 +134,8 @@ 115 -- concat = fold 116 -- concatMap = foldMap 117 -- rigidConcatMap = concatMap - 118 -- any p = getAny . foldMap (Any . p) - 119 -- all p = getAll . foldMap (All . p) + 118 -- any p = getAny <$> foldMap (Any <$> p) + 119 -- all p = getAll <$> foldMap (All <$> p) 120 -- maximum = foldr1 max 121 -- minimum = foldr1 min 122 replicate = sListReplicate @@ -146,7 +146,7 @@ 127 -- dropWhile 128 -- dropWhileEnd func = foldr (\x xs -> if func x && null xs then empty else cons x xs) empty 129 -- span - 130 -- break p = span (not . p) + 130 -- break p = span (not <$> p) 131 -- group = groupBy (==) 132 -- inits 133 -- tails @@ -159,11 +159,11 @@ 140 -- notElem i = all (/= i) 141 find = sListFind 142 -- filter - 143 -- partition p xs = (filter p xs, filter (not . p) xs) + 143 -- partition p xs = (filter p xs, filter (not <$> p) xs) 144 index = sListIndex 145 -- elemIndex e l = findIndex (== e) l 146 -- elemIndices i l = findIndices (== i) l - 147 -- findIndex f = listToMaybe . findIndices f + 147 -- findIndex f = listToMaybe <$> findIndices f 148 -- findIndices 149 -- sequence 150 -- mapM @@ -186,7 +186,7 @@ 167 -- groupBy 168 sortBy = sListSortBy 169 -- insertBy - 170 genericLength = L.genericLength . unSList + 170 genericLength = L.genericLength <$> unSList 171 -- genericTake 172 -- genericDrop 173 -- genericSplitAt n l = (genericTake n l, genericDrop n l) @@ -194,55 +194,55 @@ 175 176 -- | My instances 177 instance Default a => MT.InsertDef (SList a) where - 178 insertDef i e = sListFromList. MT.insertDef i e . sListToList + 178 insertDef i e = sListFromList. MT.insertDef i e <$> sListToList 179 180 instance Default a => LL.InsertDef (SList a) a where - 181 insertDef i e = sListFromList. LL.insertDef i e . sListToList + 181 insertDef i e = sListFromList. LL.insertDef i e <$> sListToList 182 183 -- | Internals sList 184 sListCons :: a -> SList a -> SList a - 185 sListCons e = SList . L.cons e . unSList + 185 sListCons e = SList <$> L.cons e <$> unSList 186 187 sListSnoc :: LL.ListLike a (I.Item a) => a -> I.Item a -> a 188 sListSnoc l e = l <> LL.singleton e 189 190 sListHead :: SList a -> a - 191 sListHead = L.head . unSList + 191 sListHead = L.head <$> unSList 192 193 sListUncons :: SList a -> Maybe (a, SList a) - 194 sListUncons l = wrap <$> (L.uncons . unSList) l where + 194 sListUncons l = wrap <$> (L.uncons <$> unSList) l where 195 wrap :: (a , L.Slist a) -> (a , SList a) 196 wrap (a , l') = (a , SList l') 197 198 sListLast :: SList a -> a - 199 sListLast = L.last . unSList + 199 sListLast = L.last <$> unSList 200 201 sListTail :: SList a -> SList a - 202 sListTail = SList . L.tail . unSList + 202 sListTail = SList <$> L.tail <$> unSList 203 204 sListInit :: SList a -> SList a - 205 sListInit = SList . L.init . unSList + 205 sListInit = SList <$> L.init <$> unSList 206 207 sListReverse :: SList a -> SList a - 208 sListReverse = SList . L.reverse . unSList + 208 sListReverse = SList <$> L.reverse <$> unSList 209 210 sListIntersperse :: a -> SList a -> SList a - 211 sListIntersperse e = SList . L.intersperse e . unSList + 211 sListIntersperse e = SList <$> L.intersperse e <$> unSList 212 213 sListReplicate :: Int -> a -> SList a - 214 sListReplicate e = SList . L.replicate e + 214 sListReplicate e = SList <$> L.replicate e 215 216 sListFind :: (a -> Bool) -> SList a -> Maybe a - 217 sListFind e = find e . sListToList + 217 sListFind e = find e <$> sListToList 218 219 sListIndex :: SList a -> Int -> a 220 sListIndex = flip sListUnsafeAt 221 222 sListUnsafeAt :: Int -> SList a -> a - 223 sListUnsafeAt i = L.unsafeAt i . unSList + 223 sListUnsafeAt i = L.unsafeAt i <$> unSList 224 225 sListSortBy :: (a -> a -> Ordering) -> SList a -> SList a - 226 sListSortBy f = SList . L.sortBy f . unSList + 226 sListSortBy f = SList <$> L.sortBy f <$> unSList diff --git a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Containers.LLIndexSafe.hs.html b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Containers.LLIndexSafe.hs.html index e59a74c..f9295b3 100644 --- a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Containers.LLIndexSafe.hs.html +++ b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Containers.LLIndexSafe.hs.html @@ -28,7 +28,7 @@ 9 10 -- | Index 11 naturalIndexSafe :: (MonadSafe m , IndexSafe full item) => full -> Natural -> m item - 12 naturalIndexSafe l = indexSafe l . fromIntegral + 12 naturalIndexSafe l = indexSafe l <$> fromIntegral 13 14 -- | Type Class 15 class IndexSafe full item | full -> item where @@ -39,9 +39,9 @@ 20 indexSafe :: MonadSafe m => full -> Int -> m item 21 22 instance ListLike full item => IndexSafe full item where - 23 findWithDefault e i = fromMaybe e . findMaybe i + 23 findWithDefault e i = fromMaybe e <$> findMaybe i 24 findMaybe = flip indexMaybe - 25 indexMaybe l = rightToMaybe . indexSafe l + 25 indexMaybe l = rightToMaybe <$> indexSafe l 26 findSafe = flip indexSafe 27 indexSafe = indexSafeLL 28 @@ -50,7 +50,7 @@ 31 indexSafeLL l i 32 | i < 0 = liftErrorWithTupleList "LLIndexSafe.indexSafeLL: index must be >= 0" [("i" , show i)] 33 | ll <= i = liftErrorWithTupleList "LLIndexSafe.indexSafeLL: index must not found" [("i" , show i) , ("length l" , show ll)] - 34 | otherwise = (pure . index l) i + 34 | otherwise = (pure <$> index l) i 35 where ll = length l diff --git a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Containers.LLInsertDef.hs.html b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Containers.LLInsertDef.hs.html index 24f67ef..0ec2550 100644 --- a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Containers.LLInsertDef.hs.html +++ b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Containers.LLInsertDef.hs.html @@ -27,7 +27,7 @@ 8 9 -- | Insert a new element 10 naturalInsertDef :: InsertDef full item => Natural -> item -> full -> full - 11 naturalInsertDef = insertDef . fromIntegral + 11 naturalInsertDef = insertDef <$> fromIntegral 12 13 -- | Type Class 14 class InsertDef full item | full -> item where @@ -40,7 +40,7 @@ 21 insertDef i e (x:xs) = x : insertDef (i-1) e xs 22 23 instance Default a => InsertDef (Seq a) a where - 24 insertDef i e c = (check . Seq.length) c where + 24 insertDef i e c = (check <$> Seq.length) c where 25 check l 26 | i < l = Seq.update i e c 27 | otherwise = c <> Seq.replicate (i - l) def |> e diff --git a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Containers.MTInsertDef.hs.html b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Containers.MTInsertDef.hs.html index 466b86a..bd5d8f0 100644 --- a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Containers.MTInsertDef.hs.html +++ b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Containers.MTInsertDef.hs.html @@ -31,7 +31,7 @@ 12 13 -- | Insert a new element 14 naturalInsertDef :: (InsertDef seq , Num $ Index seq) => Natural -> Element seq -> seq -> seq - 15 naturalInsertDef = insertDef . fromIntegral + 15 naturalInsertDef = insertDef <$> fromIntegral 16 17 -- | Type Class 18 class InsertDef seq where @@ -44,7 +44,7 @@ 25 insertDef i e (x:xs) = x : insertDef (i-1) e xs 26 27 instance Default a => InsertDef (Seq a) where - 28 insertDef i e c = (check . Seq.length) c where + 28 insertDef i e c = (check <$> Seq.length) c where 29 check l 30 | i < l = Seq.update i e c 31 | otherwise = c <> Seq.replicate (i - l) def |> e diff --git a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Control.Business.hs.html b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Control.Business.hs.html index d590ce3..c18d85e 100644 --- a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Control.Business.hs.html +++ b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Control.Business.hs.html @@ -60,10 +60,10 @@ 41 businessTToIOWithLogs = safeWithMessagesToIOWithLogs <=< runBusinessT 42 43 businessToIO :: Business a -> IO a - 44 businessToIO = safeToIO . removeLogger + 44 businessToIO = safeToIO <$> removeLogger 45 46 runBusinessT :: BusinessT m a -> m $ SafeWithMessages a - 47 runBusinessT = runLoggerT . runSafeT + 47 runBusinessT = runLoggerT <$> runSafeT 48 49 runBusiness :: Business a -> SafeWithMessages a 50 runBusiness a = runLogger $ runSafe <$> a @@ -79,13 +79,13 @@ 60 61 -- | Constructors 62 businessT :: Monad m => m a -> BusinessT m a - 63 businessT = safeT . loggerT + 63 businessT = safeT <$> loggerT 64 65 business :: a -> Business a - 66 business = logger . pure + 66 business = logger <$> pure 67 68 safeWithMessages :: a -> SafeWithMessages a - 69 safeWithMessages = withMessages . pure + 69 safeWithMessages = withMessages <$> pure 70 71 -- | Types 72 type MonadBusiness m = (MonadLogger m , MonadSafe m) diff --git a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Control.Logger.hs.html b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Control.Logger.hs.html index bade2fa..e6dcb84 100644 --- a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Control.Logger.hs.html +++ b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Control.Logger.hs.html @@ -64,13 +64,13 @@ 45 loggerIOToIO a = loggerToIO =<< a 46 47 loggerToIO :: Logger a -> IO a - 48 loggerToIO = pure . removeLogger + 48 loggerToIO = pure <$> removeLogger 49 50 removeLoggerT :: Monad m => LoggerT m a -> m a 51 removeLoggerT a = fst <$> runWriterT a 52 53 removeLogger :: Logger a -> a - 54 removeLogger = fst . runWriter + 54 removeLogger = fst <$> runWriter 55 56 runLoggerT :: LoggerT m a -> m (a , Messages) 57 runLoggerT = runWriterT @@ -83,7 +83,7 @@ 64 logsFromLoggerT a = snd <$> runWriterT a 65 66 logsFromLogger :: Logger a -> Messages - 67 logsFromLogger = snd . runWriter + 67 logsFromLogger = snd <$> runWriter 68 69 -- | Constructors 70 loggerT :: Monad m => m a -> LoggerT m a @@ -97,23 +97,23 @@ 78 79 -- | Lift 80 liftLogger :: MonadLogger m => Logger a -> m a - 81 liftLogger = writer . runWriter + 81 liftLogger = writer <$> runWriter 82 83 -- | Append Messages 84 logMessageTupleList :: MonadLogger m => [MessageTuple] -> m () - 85 logMessageTupleList = logMessage . tupleListToMessage + 85 logMessageTupleList = logMessage <$> tupleListToMessage 86 87 logMessageTuple :: MonadLogger m => MessageTuple -> m () - 88 logMessageTuple = logMessage . logTupleToMessage + 88 logMessageTuple = logMessage <$> logTupleToMessage 89 90 logTupleToMessage :: MessageTuple -> Message 91 logTupleToMessage (k , v) = k <> ": " <> v 92 93 logData :: (MonadLogger m , Show a) => a -> m () - 94 logData = logMessage . show + 94 logData = logMessage <$> show 95 96 logMessage :: MonadLogger m => Message -> m () - 97 logMessage = logMessages . D.singleton + 97 logMessage = logMessages <$> D.singleton 98 99 logMessages :: MonadLogger m => Messages -> m () 100 logMessages = tell diff --git a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Control.Message.hs.html b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Control.Message.hs.html index 01ff10e..e5a2993 100644 --- a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Control.Message.hs.html +++ b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Control.Message.hs.html @@ -23,14 +23,14 @@ 4 5 -- | Destructors 6 errorsToText :: Messages -> Text - 7 errorsToText = unlines . D.toList + 7 errorsToText = unlines <$> D.toList 8 9 errorsToString :: Messages -> String - 10 errorsToString = toString . errorsToText + 10 errorsToString = toString <$> errorsToText 11 12 -- | Constructors 13 stringToErrors :: String -> Messages - 14 stringToErrors = D.singleton . toText + 14 stringToErrors = D.singleton <$> toText 15 16 tupleListToMessage :: [MessageTuple] -> Message 17 tupleListToMessage xs = mconcat $ tupleToMessage <$> xs diff --git a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Control.Safe.hs.html b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Control.Safe.hs.html index 7267d64..0370dd6 100644 --- a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Control.Safe.hs.html +++ b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Control.Safe.hs.html @@ -85,10 +85,10 @@ 66 safeIOToIO a = safeToIO =<< a 67 68 safeToIO :: Safe a -> IO a - 69 safeToIO = safeTToIO . liftSafe + 69 safeToIO = safeTToIO <$> liftSafe 70 71 safeTToIO :: SafeT IO a -> IO a - 72 safeTToIO = liftExceptT . withExceptT (userError . errorsToString) + 72 safeTToIO = liftExceptT <$> withExceptT (userError <$> errorsToString) 73 74 runSafeT :: SafeT m a -> m (Safe a) 75 runSafeT = runExceptT @@ -104,25 +104,25 @@ 85 safeToEitherLegacy = first errorsToString 86 87 orErrorTuple :: MessageTuple -> Safe a -> a - 88 orErrorTuple t = unsafe . appendErrorTuple t + 88 orErrorTuple t = unsafe <$> appendErrorTuple t 89 90 orError :: Show e => e -> Safe a -> a - 91 orError e = unsafe . appendError (show e) + 91 orError e = unsafe <$> appendError (show e) 92 93 unsafe :: Safe a -> a 94 unsafe (Right a) = a - 95 unsafe (Left a) = (error . errorsToText) a + 95 unsafe (Left a) = (error <$> errorsToText) a 96 97 -- | Constructors 98 99 nonEmptyFromList :: MonadSafe m => Text -> [a] -> m $ NonEmpty a - 100 nonEmptyFromList message = liftSafe . maybeToSafe message . nonEmpty + 100 nonEmptyFromList message = liftSafe <$> maybeToSafe message <$> nonEmpty 101 102 maybeOrError :: Show e => e -> Maybe a -> Safe a - 103 maybeOrError = maybeToSafe . show + 103 maybeOrError = maybeToSafe <$> show 104 105 maybeToSafe :: Message -> Maybe a -> Safe a - 106 maybeToSafe = maybeToRight . D.singleton + 106 maybeToSafe = maybeToRight <$> D.singleton 107 108 safeT :: Monad m => m a -> SafeT m a 109 safeT a = ExceptT $ pure <$> a @@ -135,43 +135,43 @@ 116 liftSafe = liftEither 117 118 liftEitherError :: MonadSafe m => EitherError a -> m a - 119 liftEitherError = liftSafe . first D.singleton + 119 liftEitherError = liftSafe <$> first D.singleton 120 121 liftEitherLegacy :: MonadSafe m => EitherLegacy a -> m a - 122 liftEitherLegacy = liftSafe . first stringToErrors + 122 liftEitherLegacy = liftSafe <$> first stringToErrors 123 124 -- | Lift from Maybe 125 liftMaybeOrErrorTupleList :: MonadSafe m => [MessageTuple] -> Maybe a -> m a - 126 liftMaybeOrErrorTupleList = liftMaybeOrError . tupleListToMessage + 126 liftMaybeOrErrorTupleList = liftMaybeOrError <$> tupleListToMessage 127 128 liftMaybeOrErrorTuple :: MonadSafe m => MessageTuple -> Maybe a -> m a - 129 liftMaybeOrErrorTuple = liftMaybeOrError . tupleToMessage + 129 liftMaybeOrErrorTuple = liftMaybeOrError <$> tupleToMessage 130 131 liftMaybeOrError :: MonadSafe m => Message -> Maybe a -> m a - 132 liftMaybeOrError e = liftSafe . maybeToRight (D.singleton e) + 132 liftMaybeOrError e = liftSafe <$> maybeToRight (D.singleton e) 133 134 -- | Lift from Message 135 liftErrorWithTupleList :: MonadSafe m => Message -> [MessageTuple] -> m a 136 liftErrorWithTupleList m l = liftError (m <> tupleListToMessage l) 137 138 liftErrorTupleList :: MonadSafe m => [MessageTuple] -> m a - 139 liftErrorTupleList = liftError . tupleListToMessage + 139 liftErrorTupleList = liftError <$> tupleListToMessage 140 141 liftErrorWithPrefix :: MonadSafe m => Message -> Message -> m a 142 liftErrorWithPrefix prefix showed = liftErrorTuple (prefix , showed) 143 144 liftErrorTuple :: MonadSafe m => MessageTuple -> m a - 145 liftErrorTuple = liftError . tupleToMessage + 145 liftErrorTuple = liftError <$> tupleToMessage 146 147 liftError :: MonadSafe m => Message -> m a - 148 liftError = throwError . D.singleton + 148 liftError = throwError <$> D.singleton 149 150 -- | Append Message 151 appendErrorTupleList :: MonadSafe m => [MessageTuple] -> m a -> m a - 152 appendErrorTupleList = appendError . tupleListToMessage + 152 appendErrorTupleList = appendError <$> tupleListToMessage 153 154 appendErrorTuple :: MonadSafe m => MessageTuple -> m a -> m a - 155 appendErrorTuple = appendError . tupleToMessage + 155 appendErrorTuple = appendError <$> tupleToMessage 156 157 appendError :: MonadSafe m => Message -> m a -> m a 158 appendError message a = catchError a appendAndThrow where appendAndThrow es = throwError (es `D.snoc` message) diff --git a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Digit.Digits.hs.html b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Digit.Digits.hs.html index 71aebab..ec16e23 100644 --- a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Digit.Digits.hs.html +++ b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Digit.Digits.hs.html @@ -46,7 +46,7 @@ 27 naturalToDigits2 = naturalToDigits 2 28 29 naturalToDigits :: Natural -> Natural -> [Natural] - 30 naturalToDigits base = LL.reverse . unfoldr (modDivMaybe base) + 30 naturalToDigits base = LL.reverse <$> unfoldr (modDivMaybe base) 31 32 modDivMaybe :: Natural -> Natural -> Maybe (Natural , Natural) 33 modDivMaybe _ 0 = Nothing diff --git a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Extra.hs.html b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Extra.hs.html index 578ebd8..5b8831a 100644 --- a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Extra.hs.html +++ b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.Extra.hs.html @@ -31,7 +31,7 @@ 12 -- | FilesExtra 13 14 readFileTextUtf8 :: MonadIO m => FilePath -> m Text - 15 readFileTextUtf8 = (pure . decodeUtf8) <=< readFileBS + 15 readFileTextUtf8 = (pure <$> decodeUtf8) <=< readFileBS 16 17 -- | TextExtra 18 @@ -44,7 +44,7 @@ 25 -- | ShowExtra 26 27 showP :: Show a => a -> Text - 28 showP = toText . pShowNoColor + 28 showP = toText <$> pShowNoColor 29 30 showToText :: (Typeable a , Show a) => a -> Text 31 showToText a = show a `fromMaybe` (cast a :: Maybe Text) @@ -52,7 +52,7 @@ 33 -- | CharExtra 34 35 genericChr :: Integral a => a -> Char - 36 genericChr = chr . fromIntegral + 36 genericChr = chr <$> fromIntegral 37 38 -- | MaybeExtra 39 @@ -81,7 +81,7 @@ 62 go (Just (b, a')) = (b : ) <$> (go <=< f) a' 63 64 --unfoldr :: (a -> Maybe (b, a)) -> a -> [b] - 65 --unfoldr f = runIdentity . unfoldrM (Identity . f) + 65 --unfoldr f = runIdentity <$> unfoldrM (Identity <$> f) 66 67 runParser :: Monad m => Parser a b m -> [a] -> m [b] 68 runParser f = go where @@ -92,7 +92,7 @@ 73 repeatedlyM = runParser 74 75 repeatedly :: ([a] -> (b, [a])) -> [a] -> [b] - 76 repeatedly f = runIdentity . repeatedlyM (Identity . f) + 76 repeatedly f = runIdentity <$> repeatedlyM (Identity <$> f) 77 78 -- | NonEmptyExtra 79 @@ -103,7 +103,7 @@ 84 85 -- | `tee` is deprecated, use `<*>` 86 tee :: (a -> b -> c) -> (a -> b) -> a -> c - 87 tee f1 f2 a = (f1 a . f2) a + 87 tee f1 f2 a = (f1 a <$> f2) a 88 89 type Act s a = s -> Either s a 90 type ActM m s a = s -> m (Either s a) diff --git a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.ListLikeExtra.hs.html b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.ListLikeExtra.hs.html index 726a35f..161556a 100644 --- a/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.ListLikeExtra.hs.html +++ b/docs/reports/helio-test/helio-0.1.2.3-inplace/HelVM.HelIO.ListLikeExtra.hs.html @@ -27,7 +27,7 @@ 8 9 -- | Construction 10 convert :: (ListLike full1 item , ListLike full2 item) => full1 -> full2 - 11 convert = fromList . toList + 11 convert = fromList <$> toList 12 13 maybeToFromList :: ListLike full item => Maybe item -> full 14 maybeToFromList (Just e) = singleton e @@ -45,10 +45,10 @@ 26 top s = appendError "Error for top" $ fst <$> unconsSafe s 27 28 unconsSafe :: (MonadSafe m , ListLike full item) => full -> m (item , full) - 29 unconsSafe = liftMaybeOrError "Empty ListLike for unconsSafe" . uncons + 29 unconsSafe = liftMaybeOrError "Empty ListLike for unconsSafe" <$> uncons 30 31 uncons2Safe :: (MonadSafe m , ListLike full item) => full -> m (item , item , full) - 32 uncons2Safe = liftMaybeOrError "Empty ListLike for uncons2Safe" . uncons2 + 32 uncons2Safe = liftMaybeOrError "Empty ListLike for uncons2Safe" <$> uncons2 33 34 uncons2 :: ListLike full item => full -> Maybe (item, item, full) 35 uncons2 = uncons2' <=< uncons where diff --git a/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Collections.MapList.hs.html b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Collections.MapList.hs.html new file mode 100644 index 0000000..6b37c5e --- /dev/null +++ b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Collections.MapList.hs.html @@ -0,0 +1,118 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelIO.Collections.MapList where
+    2 
+    3 import           HelVM.HelIO.Containers.LLIndexSafe
+    4 import           HelVM.HelIO.Containers.LLInsertDef
+    5 import           HelVM.HelIO.Control.Safe
+    6 
+    7 import           Control.Monad.Extra
+    8 
+    9 import           Data.Default
+   10 
+   11 import qualified Data.IntMap                        as IntMap
+   12 import qualified Data.List.Index                    as List
+   13 import qualified Data.ListLike                      as LL
+   14 import qualified GHC.Exts                           as I (IsList (..))
+   15 import qualified Text.Show
+   16 
+   17 -- | Construction
+   18 mapListEmpty :: MapList a
+   19 mapListEmpty = mapListFromList []
+   20 
+   21 mapListFromList :: [a] -> MapList a
+   22 mapListFromList = fromIndexedList <$> List.indexed
+   23 
+   24 fromIndexedList :: IndexedList a -> MapList a
+   25 fromIndexedList = fromIntMap <$> IntMap.fromList
+   26 
+   27 fromIntMap :: IntMap a -> MapList a
+   28 fromIntMap = MapList
+   29 
+   30 -- | DeConstruction
+   31 mapListToList :: Default a => MapList a -> [a]
+   32 mapListToList = listFromDescList <$> toDescList
+   33 
+   34 toDescList :: MapList a -> IndexedList a
+   35 toDescList = IntMap.toDescList <$> unMapList
+   36 
+   37 -- | Internal function
+   38 listFromDescList :: Default a => IndexedList a -> [a]
+   39 listFromDescList = loop act <$> ([] , ) where
+   40   act :: Default a => AccWithIndexedList a -> Either (AccWithIndexedList a) [a]
+   41   act (acc , []                        ) = Right acc
+   42   act (acc , [(i , v)]                 ) = Right $ consDef i $ v : acc
+   43   act (acc , (i1 , v1) : (i2 , v2) : l ) = Left (consDef (i1 - i2 - 1) $ v1 : acc , (i2 , v2) : l)
+   44 
+   45 consDef :: Default a => Key -> [a] -> [a]
+   46 consDef i l = (check <$> compare i) 0 where
+   47   check LT = error "MapList.consDef index is negative"
+   48   check EQ = l
+   49   check GT = consDef (i - 1) (def : l)
+   50 
+   51 -- | Types
+   52 type AccWithIndexedList a = ([a] , IndexedList a)
+   53 type Key = IntMap.Key
+   54 type IndexedList a = [(Key , a)]
+   55 type MapString = MapList Char
+   56 
+   57 newtype MapList a = MapList {unMapList :: IntMap a}
+   58   deriving stock (Eq , Ord, Read)
+   59   deriving newtype (Semigroup , Monoid)
+   60 
+   61 -- | Standard instances
+   62 instance (Default a , Show a) => Show (MapList a) where
+   63   show = show <$> I.toList
+   64 
+   65 instance IsString MapString where
+   66   fromString = mapListFromList
+   67 
+   68 instance Default a => IsList (MapList a) where
+   69   type (Item (MapList a)) = a
+   70   toList      = mapListToList
+   71   fromList    = mapListFromList
+   72   fromListN n = mapListFromList <$> fromListN n
+   73 
+   74 -- | ListLike instances
+   75 instance Default a => LL.FoldableLL (MapList a) a where
+   76   foldl f b = IntMap.foldl f b <$> unMapList
+   77   foldr f b = IntMap.foldr f b <$> unMapList
+   78 
+   79 -- | My instances
+   80 instance {-# OVERLAPPING #-} IndexSafe (MapList a) a where
+   81   findWithDefault e i = IntMap.findWithDefault e i <$> unMapList
+   82   findMaybe    = mapListFindMaybe
+   83   indexMaybe   = mapListIndexMaybe
+   84   findSafe   i = liftMaybeOrError "MapList.findSafe: index is not correct" <$> mapListFindMaybe i
+   85   indexSafe  l = liftMaybeOrError "MapList.LLIndexSafe: index is not correct" <$> mapListIndexMaybe l
+   86 
+   87 instance InsertDef (MapList a) a where
+   88   insertDef i e = fromIntMap <$> IntMap.insert i e <$> unMapList
+   89 
+   90 -- | Internal functions
+   91 mapListFindMaybe :: Key -> MapList a -> Maybe a
+   92 mapListFindMaybe  i   = IntMap.lookup i <$> unMapList
+   93 
+   94 mapListIndexMaybe :: MapList a -> Key -> Maybe a
+   95 mapListIndexMaybe l i = unMapList l IntMap.!? i
+
+
+ + diff --git a/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Collections.SList.hs.html b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Collections.SList.hs.html new file mode 100644 index 0000000..2a837a5 --- /dev/null +++ b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Collections.SList.hs.html @@ -0,0 +1,249 @@ + + + + + + +
+never executed always true always false
+
+
+    1 {-# LANGUAGE DeriveTraversable #-}
+    2 module HelVM.HelIO.Collections.SList where
+    3 
+    4 import           HelVM.HelIO.Containers.LLInsertDef as LL
+    5 import           HelVM.HelIO.Containers.MTInsertDef as MT
+    6 
+    7 import           Prelude                            hiding (reverse, uncons)
+    8 
+    9 import           Control.Type.Operator
+   10 import           Data.Default
+   11 
+   12 import qualified Data.Foldable                      as F
+   13 import qualified Data.ListLike                      as LL
+   14 import qualified Data.MonoTraversable               as MT
+   15 import qualified Data.Sequences                     as S
+   16 import qualified GHC.Exts                           as I (IsList (..))
+   17 import qualified Slist                              as L
+   18 import qualified Text.Show
+   19 
+   20 -- | Public functions
+   21 chunksOf :: Int -> SList a -> SList $ SList a
+   22 chunksOf i sl = SList $ SList <$> L.chunksOf i (unSList sl)
+   23 
+   24 -- | Construction
+   25 sListEmpty :: SList a
+   26 sListEmpty = SList mempty
+   27 
+   28 sListFromList :: [a] -> SList a
+   29 sListFromList = SList <$> fromList
+   30 
+   31 -- | DeConstruction
+   32 sListToList :: SList a -> [a]
+   33 sListToList = toList <$> unSList
+   34 
+   35 -- | Types
+   36 type SString  = SList Char
+   37 
+   38 newtype SList a = SList { unSList :: L.Slist a}
+   39   deriving stock (Eq , Ord, Read)
+   40   deriving stock (Foldable , Functor , Traversable)
+   41   deriving newtype (Semigroup , Monoid , Applicative , Monad)
+   42 
+   43 -- | Standard instances
+   44 instance Show a => Show (SList a) where
+   45   show = show <$> toList
+   46 
+   47 instance IsString SString where
+   48   fromString = SList <$> L.slist
+   49 
+   50 instance IsList (SList a) where
+   51   type (Item (SList a)) = a
+   52   toList      = sListToList
+   53   fromList    = sListFromList
+   54   fromListN n = SList <$> fromListN n
+   55 
+   56 -- | MonoFoldable instances
+   57 type instance MT.Element (SList a) = a
+   58 
+   59 instance MT.MonoFoldable (SList a) where
+   60   headEx = sListHead
+   61   lastEx = sListLast
+   62 
+   63 -- | SemiSequence instances
+   64 instance MT.GrowingAppend (SList a) where
+   65 
+   66 instance S.SemiSequence (SList a) where
+   67   type Index (SList a) = Int
+   68   cons          = sListCons
+   69   snoc          = sListSnoc
+   70   reverse       = sListReverse
+   71   sortBy        = sListSortBy
+   72   intersperse   = sListIntersperse
+   73   find          = sListFind
+   74 
+   75 -- | IsSequence instances
+   76 instance MT.MonoPointed (SList a) where
+   77 
+   78 instance MT.MonoFunctor (SList a) where
+   79 
+   80 instance MT.MonoTraversable (SList a) where
+   81 
+   82 instance S.IsSequence (SList a) where
+   83   tailEx        = sListTail
+   84   initEx        = sListTail
+   85   replicate     = sListReplicate
+   86   uncons        = sListUncons
+   87 
+   88 -- | ListLike instances
+   89 instance LL.FoldableLL (SList a) a where
+   90 --  foldl  = F.foldl
+   91   foldl f z t = appEndo (getDual (foldMap (Dual <$> Endo <$> flip f) t)) z
+   92   foldr  = F.foldr
+   93   foldl1 = F.foldl1
+   94   foldr1 = F.foldr1
+   95   foldl' = F.foldl'
+   96   foldr' = F.foldr'
+   97 
+   98 instance LL.ListLike (SList a) a where
+   99   empty         = mempty
+  100   singleton     = pure
+  101   cons          = sListCons
+  102   snoc          = sListSnoc
+  103   append        = (<>)
+  104   head          = sListHead
+  105   uncons        = sListUncons
+  106   last          = sListLast
+  107   tail          = sListTail
+  108   init          = sListInit
+  109   null          = L.isEmpty <$> unSList
+  110 --  length = genericLength
+  111 --  map           = fmap
+  112   rigidMap = fmap
+  113   reverse       = sListReverse
+  114   intersperse   = sListIntersperse
+  115 --  concat = fold
+  116 --  concatMap = foldMap
+  117 --  rigidConcatMap = concatMap
+  118 --  any p = getAny <$> foldMap (Any <$> p)
+  119 --  all p = getAll <$> foldMap (All <$> p)
+  120 --  maximum = foldr1 max
+  121 --  minimum = foldr1 min
+  122   replicate     = sListReplicate
+  123 --  take = genericTake
+  124 --  drop = genericDrop
+  125 --  splitAt = genericSplitAt
+  126 --  takeWhile
+  127 --  dropWhile
+  128 --  dropWhileEnd func = foldr (\x xs -> if func x && null xs then empty else cons x xs) empty
+  129 --  span
+  130 --  break p = span (not <$> p)
+  131 --  group = groupBy (==)
+  132 --  inits
+  133 --  tails
+  134 --  isPrefixOf
+  135 --  isSuffixOf needle haystack = isPrefixOf (reverse needle) (reverse haystack)
+  136 --  isInfixOf
+  137 --  stripPrefix
+  138 --  stripSuffix
+  139 --  elem i = any (== i)
+  140 --  notElem i = all (/= i)
+  141   find          = sListFind
+  142 --  filter
+  143 --  partition p xs = (filter p xs, filter (not <$> p) xs)
+  144   index         = sListIndex
+  145 --  elemIndex e l = findIndex (== e) l
+  146 --  elemIndices i l = findIndices (== i) l
+  147 --  findIndex f = listToMaybe <$> findIndices f
+  148 --  findIndices
+  149 --  sequence
+  150 --  mapM
+  151 --  rigidMapM = mapM
+  152 --  nub = nubBy (==)
+  153 --  delete = deleteBy (==)
+  154 --  deleteFirsts = foldl (flip delete)
+  155 --  union = unionBy (==)
+  156 --  intersect = intersectBy (==)
+  157 --  sort = sortBy compare
+  158 --  insert = insertBy compare
+  159 --  toList'      = sListToList
+  160 --  fromList'    = sListFromList
+  161 --  fromListLike = map id
+  162 --  nubBy
+  163 --  deleteBy
+  164 --  deleteFirstsBy func = foldl (flip (deleteBy func))
+  165 --  unionBy func x y = append x $ foldl (flip (deleteBy func)) (nubBy func y) x
+  166 --  intersectBy func xs ys = filter (\x -> any (func x) ys) xs
+  167 --  groupBy
+  168   sortBy        = sListSortBy
+  169 --  insertBy
+  170   genericLength = L.genericLength <$> unSList
+  171 --  genericTake
+  172 --  genericDrop
+  173 --  genericSplitAt n l = (genericTake n l, genericDrop n l)
+  174 --  genericReplicate
+  175 
+  176 -- | My instances
+  177 instance Default a => MT.InsertDef (SList a) where
+  178   insertDef i e = sListFromList. MT.insertDef i e <$> sListToList
+  179 
+  180 instance Default a => LL.InsertDef (SList a) a where
+  181   insertDef i e = sListFromList. LL.insertDef i e <$> sListToList
+  182 
+  183 -- | Internals sList
+  184 sListCons :: a -> SList a -> SList a
+  185 sListCons e = SList <$> L.cons e <$> unSList
+  186 
+  187 sListSnoc :: LL.ListLike a (I.Item a) => a -> I.Item a -> a
+  188 sListSnoc l e = l <> LL.singleton e
+  189 
+  190 sListHead :: SList a -> a
+  191 sListHead = L.head <$> unSList
+  192 
+  193 sListUncons :: SList a -> Maybe (a, SList a)
+  194 sListUncons l = wrap <$> (L.uncons <$> unSList) l where
+  195   wrap :: (a , L.Slist a) -> (a , SList a)
+  196   wrap (a , l') = (a , SList l')
+  197 
+  198 sListLast :: SList a -> a
+  199 sListLast = L.last <$> unSList
+  200 
+  201 sListTail :: SList a -> SList a
+  202 sListTail = SList <$> L.tail <$> unSList
+  203 
+  204 sListInit :: SList a -> SList a
+  205 sListInit = SList <$> L.init <$> unSList
+  206 
+  207 sListReverse :: SList a -> SList a
+  208 sListReverse = SList <$> L.reverse <$> unSList
+  209 
+  210 sListIntersperse :: a -> SList a -> SList a
+  211 sListIntersperse e = SList <$> L.intersperse e <$> unSList
+  212 
+  213 sListReplicate :: Int -> a -> SList a
+  214 sListReplicate e = SList <$> L.replicate e
+  215 
+  216 sListFind :: (a -> Bool) -> SList a -> Maybe a
+  217 sListFind e = find e <$> sListToList
+  218 
+  219 sListIndex :: SList a -> Int -> a
+  220 sListIndex = flip sListUnsafeAt
+  221 
+  222 sListUnsafeAt :: Int -> SList a -> a
+  223 sListUnsafeAt i = L.unsafeAt i <$> unSList
+  224 
+  225 sListSortBy :: (a -> a -> Ordering) -> SList a -> SList a
+  226 sListSortBy f = SList <$> L.sortBy f <$> unSList
+
+
+ + diff --git a/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Containers.LLIndexSafe.hs.html b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Containers.LLIndexSafe.hs.html new file mode 100644 index 0000000..f9295b3 --- /dev/null +++ b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Containers.LLIndexSafe.hs.html @@ -0,0 +1,58 @@ + + + + + + +
+never executed always true always false
+
+
+    1 {-# LANGUAGE UndecidableInstances #-}
+    2 module HelVM.HelIO.Containers.LLIndexSafe where
+    3 
+    4 import           HelVM.HelIO.Control.Safe
+    5 
+    6 import           Data.ListLike            hiding (show)
+    7 
+    8 import           Prelude                  hiding (break, divMod, drop, fromList, length, splitAt, swap, uncons)
+    9 
+   10 -- | Index
+   11 naturalIndexSafe :: (MonadSafe m , IndexSafe full item) => full -> Natural -> m item
+   12 naturalIndexSafe l =  indexSafe l <$> fromIntegral
+   13 
+   14 -- | Type Class
+   15 class IndexSafe full item | full -> item where
+   16   findWithDefault :: item -> Int -> full -> item
+   17   findMaybe  :: Int -> full -> Maybe item
+   18   indexMaybe :: full -> Int -> Maybe item
+   19   findSafe   :: MonadSafe m => Int -> full -> m item
+   20   indexSafe  :: MonadSafe m => full -> Int -> m item
+   21 
+   22 instance ListLike full item => IndexSafe full item where
+   23   findWithDefault e i = fromMaybe e <$> findMaybe i
+   24   findMaybe           = flip indexMaybe
+   25   indexMaybe      l   = rightToMaybe <$> indexSafe l
+   26   findSafe            = flip indexSafe
+   27   indexSafe           = indexSafeLL
+   28 
+   29 -- | Internal functions
+   30 indexSafeLL :: (MonadSafe m , ListLike full item) => full -> Int -> m item
+   31 indexSafeLL l i
+   32   | i < 0     = liftErrorWithTupleList "LLIndexSafe.indexSafeLL: index must be >= 0" [("i" , show i)]
+   33   | ll <= i   = liftErrorWithTupleList "LLIndexSafe.indexSafeLL: index must not found" [("i" , show i) , ("length l" , show ll)]
+   34   | otherwise = (pure <$> index l) i
+   35     where ll = length l
+
+
+ + diff --git a/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Containers.LLInsertDef.hs.html b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Containers.LLInsertDef.hs.html new file mode 100644 index 0000000..0ec2550 --- /dev/null +++ b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Containers.LLInsertDef.hs.html @@ -0,0 +1,53 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelIO.Containers.LLInsertDef where
+    2 
+    3 import           Data.Default
+    4 import           Data.Sequence ((|>))
+    5 
+    6 import qualified Data.IntMap   as IntMap
+    7 import qualified Data.Sequence as Seq
+    8 
+    9 -- | Insert a new element
+   10 naturalInsertDef :: InsertDef full item => Natural -> item -> full -> full
+   11 naturalInsertDef = insertDef <$> fromIntegral
+   12 
+   13 -- | Type Class
+   14 class InsertDef full item | full -> item where
+   15   insertDef :: Int -> item -> full -> full
+   16 
+   17 instance Default a => InsertDef [a] a where
+   18   insertDef 0 e []     = [e]
+   19   insertDef 0 e (_:xs) = e   : xs
+   20   insertDef i e []     = def : insertDef (i-1) e []
+   21   insertDef i e (x:xs) = x   : insertDef (i-1) e xs
+   22 
+   23 instance Default a => InsertDef (Seq a) a where
+   24   insertDef i e c = (check <$> Seq.length) c where
+   25     check l
+   26       | i < l       = Seq.update i e c
+   27       | otherwise   = c <> Seq.replicate (i - l) def |> e
+   28 
+   29 instance InsertDef (IntMap a) a where
+   30   insertDef = IntMap.insert
+
+
+ + diff --git a/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Containers.MTInsertDef.hs.html b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Containers.MTInsertDef.hs.html new file mode 100644 index 0000000..bd5d8f0 --- /dev/null +++ b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Containers.MTInsertDef.hs.html @@ -0,0 +1,57 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelIO.Containers.MTInsertDef where
+    2 
+    3 import           Control.Type.Operator
+    4 
+    5 import           Data.Default
+    6 import           Data.MonoTraversable
+    7 import           Data.Sequence         ((|>))
+    8 import           Data.Sequences
+    9 
+   10 import qualified Data.IntMap           as IntMap
+   11 import qualified Data.Sequence         as Seq
+   12 
+   13 -- | Insert a new element
+   14 naturalInsertDef :: (InsertDef seq , Num $ Index seq) => Natural -> Element seq -> seq -> seq
+   15 naturalInsertDef = insertDef <$> fromIntegral
+   16 
+   17 -- | Type Class
+   18 class InsertDef seq where
+   19   insertDef :: Index seq -> Element seq -> seq -> seq
+   20 
+   21 instance Default a => InsertDef [a] where
+   22   insertDef 0 e []     = [e]
+   23   insertDef 0 e (_:xs) = e   : xs
+   24   insertDef i e []     = def : insertDef (i-1) e []
+   25   insertDef i e (x:xs) = x   : insertDef (i-1) e xs
+   26 
+   27 instance Default a => InsertDef (Seq a) where
+   28   insertDef i e c = (check <$> Seq.length) c where
+   29     check l
+   30       | i < l       = Seq.update i e c
+   31       | otherwise   = c <> Seq.replicate (i - l) def |> e
+   32 
+   33 instance Index (IntMap a) ~ Int => InsertDef (IntMap a) where
+   34   insertDef = IntMap.insert
+
+
+ + diff --git a/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Control.Business.hs.html b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Control.Business.hs.html new file mode 100644 index 0000000..c18d85e --- /dev/null +++ b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Control.Business.hs.html @@ -0,0 +1,103 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelIO.Control.Business (
+    2   businessTToIO,
+    3   businessTToIOWithoutLogs,
+    4   businessTToIOWithLogs,
+    5   businessToIO,
+    6 
+    7   runBusinessT,
+    8   runBusiness,
+    9 
+   10   safeWithMessagesToText,
+   11 
+   12   businessT,
+   13   business,
+   14 
+   15   safeWithMessages,
+   16 
+   17   MonadBusiness,
+   18   BusinessT,
+   19   Business,
+   20 
+   21   UnitSafeWithMessages,
+   22   SafeWithMessages
+   23 ) where
+   24 
+   25 import           HelVM.HelIO.Control.Logger
+   26 import           HelVM.HelIO.Control.Message
+   27 import           HelVM.HelIO.Control.Safe
+   28 
+   29 import           Control.Type.Operator
+   30 
+   31 import qualified System.IO                   as IO
+   32 
+   33 businessTToIO :: Bool -> BusinessT IO a -> IO a
+   34 businessTToIO False = businessTToIOWithoutLogs
+   35 businessTToIO True  = businessTToIOWithLogs
+   36 
+   37 businessTToIOWithoutLogs :: BusinessT IO a -> IO a
+   38 businessTToIOWithoutLogs = safeWithMessagesToIOWithoutLogs <=< runBusinessT
+   39 
+   40 businessTToIOWithLogs :: BusinessT IO a -> IO a
+   41 businessTToIOWithLogs = safeWithMessagesToIOWithLogs <=< runBusinessT
+   42 
+   43 businessToIO :: Business a -> IO a
+   44 businessToIO = safeToIO <$> removeLogger
+   45 
+   46 runBusinessT :: BusinessT m a -> m $ SafeWithMessages a
+   47 runBusinessT = runLoggerT <$> runSafeT
+   48 
+   49 runBusiness :: Business a -> SafeWithMessages a
+   50 runBusiness a = runLogger $ runSafe <$> a
+   51 
+   52 safeWithMessagesToIOWithoutLogs :: SafeWithMessages a -> IO a
+   53 safeWithMessagesToIOWithoutLogs (safe , _) = safeToIO safe
+   54 
+   55 safeWithMessagesToIOWithLogs :: SafeWithMessages a -> IO a
+   56 safeWithMessagesToIOWithLogs (safe , logs) = safeToIO safe <* IO.hPutStr stderr (errorsToString logs)
+   57 
+   58 safeWithMessagesToText :: SafeWithMessages a -> Text
+   59 safeWithMessagesToText (safe , messages) = errorsToText messages <> safeToText safe
+   60 
+   61 -- | Constructors
+   62 businessT :: Monad m => m a -> BusinessT m a
+   63 businessT = safeT <$> loggerT
+   64 
+   65 business :: a -> Business a
+   66 business = logger <$> pure
+   67 
+   68 safeWithMessages :: a -> SafeWithMessages a
+   69 safeWithMessages = withMessages <$> pure
+   70 
+   71 -- | Types
+   72 type MonadBusiness m = (MonadLogger m , MonadSafe m)
+   73 
+   74 type BusinessT m = SafeT (LoggerT m)
+   75 
+   76 type Business a = Logger $ Safe a
+   77 
+   78 type UnitSafeWithMessages = SafeWithMessages ()
+   79 
+   80 type SafeWithMessages a = WithMessages (Safe a)
+
+
+ + diff --git a/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Control.Logger.hs.html b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Control.Logger.hs.html new file mode 100644 index 0000000..e6dcb84 --- /dev/null +++ b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Control.Logger.hs.html @@ -0,0 +1,132 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelIO.Control.Logger (
+    2   loggerIOToPTextIO,
+    3   loggerIOToIO,
+    4   loggerToIO,
+    5   removeLoggerT,
+    6   removeLogger,
+    7   runLoggerT,
+    8   runLogger,
+    9 
+   10   logsFromLoggerT,
+   11   logsFromLogger,
+   12 
+   13   loggerT,
+   14   logger,
+   15   withMessages,
+   16 
+   17   liftLogger,
+   18 
+   19   logMessageTupleList,
+   20   logMessageTuple,
+   21 
+   22   logData,
+   23   logMessage,
+   24   logMessages,
+   25 
+   26   MonadLogger,
+   27   LoggerT,
+   28   Logger,
+   29   WithMessages,
+   30 ) where
+   31 
+   32 import           HelVM.HelIO.Control.Message
+   33 
+   34 import           Control.Monad.Writer.Lazy
+   35 
+   36 import           HelVM.HelIO.Extra
+   37 
+   38 import qualified Data.DList                  as D
+   39 
+   40 -- | DeConstructors
+   41 loggerIOToPTextIO :: Show a => IO (Logger a) -> IO Text
+   42 loggerIOToPTextIO a = showP <$> loggerIOToIO a
+   43 
+   44 loggerIOToIO :: IO (Logger a) -> IO a
+   45 loggerIOToIO a = loggerToIO =<< a
+   46 
+   47 loggerToIO :: Logger a -> IO a
+   48 loggerToIO = pure <$> removeLogger
+   49 
+   50 removeLoggerT :: Monad m => LoggerT m a -> m a
+   51 removeLoggerT a = fst <$> runWriterT a
+   52 
+   53 removeLogger :: Logger a -> a
+   54 removeLogger = fst <$> runWriter
+   55 
+   56 runLoggerT :: LoggerT m a -> m (a , Messages)
+   57 runLoggerT = runWriterT
+   58 
+   59 runLogger :: Logger a -> (a , Messages)
+   60 runLogger = runWriter
+   61 
+   62 -- | Logs
+   63 logsFromLoggerT :: Monad m => LoggerT m a -> m Messages
+   64 logsFromLoggerT a = snd <$> runWriterT a
+   65 
+   66 logsFromLogger :: Logger a -> Messages
+   67 logsFromLogger = snd <$> runWriter
+   68 
+   69 -- | Constructors
+   70 loggerT :: Monad m => m a -> LoggerT m a
+   71 loggerT a = WriterT $ withMessages <$> a
+   72 
+   73 logger :: a -> Logger a
+   74 logger a = WriterT  $ Identity $ withMessages a
+   75 
+   76 withMessages :: a -> WithMessages a
+   77 withMessages a = (a , D.empty)
+   78 
+   79 -- | Lift
+   80 liftLogger :: MonadLogger m => Logger a -> m a
+   81 liftLogger = writer <$> runWriter
+   82 
+   83 -- | Append Messages
+   84 logMessageTupleList :: MonadLogger m => [MessageTuple] -> m ()
+   85 logMessageTupleList = logMessage <$> tupleListToMessage
+   86 
+   87 logMessageTuple :: MonadLogger m => MessageTuple -> m ()
+   88 logMessageTuple = logMessage <$> logTupleToMessage
+   89 
+   90 logTupleToMessage :: MessageTuple -> Message
+   91 logTupleToMessage (k , v) = k <> ": " <> v
+   92 
+   93 logData :: (MonadLogger m , Show a) => a -> m ()
+   94 logData = logMessage <$> show
+   95 
+   96 logMessage :: MonadLogger m => Message -> m ()
+   97 logMessage = logMessages <$> D.singleton
+   98 
+   99 logMessages :: MonadLogger m => Messages -> m ()
+  100 logMessages = tell
+  101 
+  102 -- | Types
+  103 type MonadLogger m = MonadWriter Messages m
+  104 
+  105 type LoggerT m = WriterT Messages m
+  106 
+  107 type Logger = Writer Messages
+  108 
+  109 type WithMessages a = (a , Messages)
+
+
+ + diff --git a/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Control.Message.hs.html b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Control.Message.hs.html new file mode 100644 index 0000000..e5a2993 --- /dev/null +++ b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Control.Message.hs.html @@ -0,0 +1,52 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelIO.Control.Message where
+    2 
+    3 import qualified Data.DList as D
+    4 
+    5 -- | Destructors
+    6 errorsToText :: Messages -> Text
+    7 errorsToText = unlines <$> D.toList
+    8 
+    9 errorsToString :: Messages -> String
+   10 errorsToString = toString <$> errorsToText
+   11 
+   12 -- | Constructors
+   13 stringToErrors :: String -> Messages
+   14 stringToErrors = D.singleton <$> toText
+   15 
+   16 tupleListToMessage :: [MessageTuple] -> Message
+   17 tupleListToMessage xs = mconcat $ tupleToMessage <$> xs
+   18 
+   19 tupleToMessage :: MessageTuple -> Message
+   20 tupleToMessage (prefix , showed) = " [" <> format prefix <> showed <> "]" where
+   21   format "" = ""
+   22   format _  = prefix <> " "
+   23 
+   24 -- | Types
+   25 type MessageTuple = (Message , Message)
+   26 
+   27 type Messages = D.DList Text
+   28 
+   29 type Message = Text
+
+
+ + diff --git a/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Control.Safe.hs.html b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Control.Safe.hs.html new file mode 100644 index 0000000..0370dd6 --- /dev/null +++ b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Control.Safe.hs.html @@ -0,0 +1,196 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelIO.Control.Safe (
+    2   safeIOToPTextIO,
+    3 
+    4   safeIOToIO,
+    5   safeToIO,
+    6   safeTToIO,
+    7   runSafeT,
+    8   runSafe,
+    9 
+   10   safeToText,
+   11   safeToEitherLegacy,
+   12 
+   13   orErrorTuple,
+   14   orError,
+   15   unsafe,
+   16 
+   17   nonEmptyFromList,
+   18   maybeOrError,
+   19   maybeToSafe,
+   20   safeT,
+   21 
+   22   liftExceptT,
+   23   liftSafe,
+   24   liftEitherError,
+   25   liftEitherLegacy,
+   26 
+   27   liftMaybeOrErrorTupleList,
+   28   liftMaybeOrErrorTuple,
+   29   liftMaybeOrError,
+   30 
+   31   liftErrorWithTupleList,
+   32   liftErrorTupleList,
+   33   liftErrorWithPrefix,
+   34   liftErrorTuple,
+   35   liftError,
+   36 
+   37   appendErrorTupleList,
+   38   appendErrorTuple,
+   39   appendError,
+   40   (<?>),
+   41 
+   42   MonadSafe,
+   43   SafeT,
+   44   EitherLegacy,
+   45   EitherError,
+   46   Safe,
+   47 ) where
+   48 
+   49 import           HelVM.HelIO.Control.Message
+   50 
+   51 import           HelVM.HelIO.Extra
+   52 
+   53 import           Control.Monad.Except        hiding (ExceptT, runExceptT)
+   54 
+   55 import           Control.Type.Operator
+   56 
+   57 import           System.IO.Error
+   58 
+   59 import qualified Data.DList                  as D
+   60 
+   61 -- | DeConstructors
+   62 safeIOToPTextIO :: Show a => IO (Safe a) -> IO Text
+   63 safeIOToPTextIO a = showP <$> safeIOToIO a
+   64 
+   65 safeIOToIO :: IO (Safe a) -> IO a
+   66 safeIOToIO a = safeToIO =<< a
+   67 
+   68 safeToIO :: Safe a -> IO a
+   69 safeToIO = safeTToIO <$> liftSafe
+   70 
+   71 safeTToIO :: SafeT IO a -> IO a
+   72 safeTToIO = liftExceptT <$> withExceptT (userError <$> errorsToString)
+   73 
+   74 runSafeT :: SafeT m a -> m (Safe a)
+   75 runSafeT = runExceptT
+   76 
+   77 runSafe :: Safe a -> Safe a
+   78 runSafe = id
+   79 
+   80 safeToText :: Safe a -> Text
+   81 safeToText (Left messages) = errorsToText messages
+   82 safeToText (Right       _) = ""
+   83 
+   84 safeToEitherLegacy :: Safe a -> EitherLegacy a
+   85 safeToEitherLegacy = first errorsToString
+   86 
+   87 orErrorTuple :: MessageTuple -> Safe a -> a
+   88 orErrorTuple t = unsafe <$> appendErrorTuple t
+   89 
+   90 orError :: Show e => e -> Safe a -> a
+   91 orError e = unsafe <$> appendError (show e)
+   92 
+   93 unsafe :: Safe a -> a
+   94 unsafe (Right a) = a
+   95 unsafe (Left  a) = (error <$> errorsToText) a
+   96 
+   97 -- | Constructors
+   98 
+   99 nonEmptyFromList :: MonadSafe m => Text -> [a] -> m $ NonEmpty a
+  100 nonEmptyFromList message = liftSafe <$> maybeToSafe message <$> nonEmpty
+  101 
+  102 maybeOrError :: Show e => e -> Maybe a -> Safe a
+  103 maybeOrError = maybeToSafe <$> show
+  104 
+  105 maybeToSafe :: Message -> Maybe a -> Safe a
+  106 maybeToSafe = maybeToRight <$> D.singleton
+  107 
+  108 safeT :: Monad m => m a -> SafeT m a
+  109 safeT a = ExceptT $ pure <$> a
+  110 
+  111 -- | Lift
+  112 liftExceptT :: MonadError e m => ExceptT e m a -> m a
+  113 liftExceptT = liftEither <=< runExceptT
+  114 
+  115 liftSafe :: MonadSafe m => Safe a -> m a
+  116 liftSafe = liftEither
+  117 
+  118 liftEitherError :: MonadSafe m => EitherError a -> m a
+  119 liftEitherError = liftSafe <$> first D.singleton
+  120 
+  121 liftEitherLegacy :: MonadSafe m => EitherLegacy a -> m a
+  122 liftEitherLegacy = liftSafe <$> first stringToErrors
+  123 
+  124 -- | Lift from Maybe
+  125 liftMaybeOrErrorTupleList :: MonadSafe m => [MessageTuple] -> Maybe a -> m a
+  126 liftMaybeOrErrorTupleList = liftMaybeOrError <$> tupleListToMessage
+  127 
+  128 liftMaybeOrErrorTuple :: MonadSafe m => MessageTuple -> Maybe a -> m a
+  129 liftMaybeOrErrorTuple = liftMaybeOrError <$> tupleToMessage
+  130 
+  131 liftMaybeOrError :: MonadSafe m => Message -> Maybe a -> m a
+  132 liftMaybeOrError e = liftSafe <$> maybeToRight (D.singleton e)
+  133 
+  134 -- | Lift from Message
+  135 liftErrorWithTupleList :: MonadSafe m => Message -> [MessageTuple] -> m a
+  136 liftErrorWithTupleList m l = liftError (m <> tupleListToMessage l)
+  137 
+  138 liftErrorTupleList :: MonadSafe m => [MessageTuple] -> m a
+  139 liftErrorTupleList = liftError <$> tupleListToMessage
+  140 
+  141 liftErrorWithPrefix :: MonadSafe m => Message -> Message -> m a
+  142 liftErrorWithPrefix prefix showed = liftErrorTuple (prefix , showed)
+  143 
+  144 liftErrorTuple :: MonadSafe m => MessageTuple -> m a
+  145 liftErrorTuple = liftError <$> tupleToMessage
+  146 
+  147 liftError :: MonadSafe m => Message -> m a
+  148 liftError = throwError <$> D.singleton
+  149 
+  150 -- | Append Message
+  151 appendErrorTupleList :: MonadSafe m => [MessageTuple] -> m a -> m a
+  152 appendErrorTupleList = appendError <$> tupleListToMessage
+  153 
+  154 appendErrorTuple :: MonadSafe m => MessageTuple -> m a -> m a
+  155 appendErrorTuple = appendError <$> tupleToMessage
+  156 
+  157 appendError :: MonadSafe m => Message -> m a -> m a
+  158 appendError message a = catchError a appendAndThrow where appendAndThrow es = throwError (es `D.snoc` message)
+  159 
+  160 infix  0 <?>
+  161 (<?>) :: MonadSafe m => m a -> Message -> m a
+  162 (<?>) a message = appendError message a
+  163 
+  164 -- | Types
+  165 type MonadSafe m = MonadError Messages m
+  166 
+  167 type SafeT m = ExceptT Messages m
+  168 
+  169 type Safe = Either Messages
+  170 
+  171 type EitherError = Either Text
+  172 
+  173 type EitherLegacy = Either String
+
+
+ + diff --git a/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Digit.Digits.hs.html b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Digit.Digits.hs.html new file mode 100644 index 0000000..ec16e23 --- /dev/null +++ b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Digit.Digits.hs.html @@ -0,0 +1,57 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelIO.Digit.Digits (
+    2   digitsToIntegral,
+    3   naturalToDigits7,
+    4   naturalToDigits2,
+    5   naturalToDigits,
+    6 ) where
+    7 
+    8 import qualified Data.ListLike                 as LL
+    9 import           HelVM.HelIO.Collections.SList
+   10 import           HelVM.HelIO.Control.Safe
+   11 
+   12 digitsToIntegral :: (MonadSafe m , Integral a) => a -> SList (m a) -> m a
+   13 digitsToIntegral base = foldr (liftedMulAndAdd base) (pure 0)
+   14 
+   15 liftedMulAndAdd :: (MonadSafe m , Integral a)  => a -> m a -> m a -> m a
+   16 liftedMulAndAdd base = liftA2 (mulAndAdd base)
+   17 
+   18 mulAndAdd :: Integral a => a -> a -> a -> a
+   19 mulAndAdd base digit acc = acc * base + digit
+   20 
+   21 ----
+   22 
+   23 naturalToDigits7 :: Natural -> [Natural]
+   24 naturalToDigits7 = naturalToDigits 7
+   25 
+   26 naturalToDigits2 :: Natural -> [Natural]
+   27 naturalToDigits2 = naturalToDigits 2
+   28 
+   29 naturalToDigits :: Natural -> Natural -> [Natural]
+   30 naturalToDigits base = LL.reverse <$> unfoldr (modDivMaybe base)
+   31 
+   32 modDivMaybe :: Natural -> Natural -> Maybe (Natural , Natural)
+   33 modDivMaybe _    0     = Nothing
+   34 modDivMaybe base value = Just (swap $ value `divMod` base)
+
+
+ + diff --git a/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Extra.hs.html b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Extra.hs.html new file mode 100644 index 0000000..5b8831a --- /dev/null +++ b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.Extra.hs.html @@ -0,0 +1,114 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelIO.Extra where
+    2 
+    3 import           Control.Type.Operator
+    4 
+    5 import           Data.Char             hiding (chr)
+    6 import           Data.Default
+    7 import           Data.Typeable
+    8 import           Text.Pretty.Simple
+    9 
+   10 import qualified Data.Text             as Text
+   11 
+   12 -- | FilesExtra
+   13 
+   14 readFileTextUtf8 :: MonadIO m => FilePath -> m Text
+   15 readFileTextUtf8 = (pure <$> decodeUtf8) <=< readFileBS
+   16 
+   17 -- | TextExtra
+   18 
+   19 toUppers :: Text -> Text
+   20 toUppers = Text.map toUpper
+   21 
+   22 splitOneOf :: String -> Text -> [Text]
+   23 splitOneOf s = Text.split contains where contains c = c `elem` s
+   24 
+   25 -- | ShowExtra
+   26 
+   27 showP :: Show a => a -> Text
+   28 showP = toText <$> pShowNoColor
+   29 
+   30 showToText :: (Typeable a , Show a) => a -> Text
+   31 showToText a = show a `fromMaybe` (cast a :: Maybe Text)
+   32 
+   33 -- | CharExtra
+   34 
+   35 genericChr :: Integral a => a -> Char
+   36 genericChr = chr <$> fromIntegral
+   37 
+   38 -- | MaybeExtra
+   39 
+   40 infixr 0 ???
+   41 (???) :: Maybe a -> a -> a
+   42 (???) = flip fromMaybe
+   43 
+   44 fromMaybeOrDef :: Default a => Maybe a -> a
+   45 fromMaybeOrDef = fromMaybe def
+   46 
+   47 headMaybe :: [a] -> Maybe a
+   48 headMaybe = viaNonEmpty head
+   49 
+   50 fromJustWith :: Show e => e -> Maybe a -> a
+   51 fromJustWith e = fromJustWithText (show e)
+   52 
+   53 fromJustWithText :: Text -> Maybe a -> a
+   54 fromJustWithText t Nothing  = error t
+   55 fromJustWithText _ (Just a) = a
+   56 
+   57 -- | ListExtra
+   58 
+   59 unfoldrM :: Monad m => (a -> m (Maybe (b, a))) -> a -> m [b]
+   60 unfoldrM f = go <=< f where
+   61   go  Nothing       = pure []
+   62   go (Just (b, a')) = (b : ) <$> (go <=< f) a'
+   63 
+   64 --unfoldr :: (a ->  Maybe (b, a)) -> a -> [b]
+   65 --unfoldr f = runIdentity <$> unfoldrM (Identity <$> f)
+   66 
+   67 runParser :: Monad m => Parser a b m -> [a] -> m [b]
+   68 runParser f = go where
+   69   go [] = pure []
+   70   go a  = (build <=< f) a where build (b, a') = (b : ) <$> go a'
+   71 
+   72 repeatedlyM :: Monad m => Parser a b m -> [a] -> m [b]
+   73 repeatedlyM = runParser
+   74 
+   75 repeatedly :: ([a] -> (b, [a])) -> [a] -> [b]
+   76 repeatedly f = runIdentity <$> repeatedlyM (Identity <$> f)
+   77 
+   78 -- | NonEmptyExtra
+   79 
+   80 many1' :: (Monad f, Alternative f) => f a -> f $ NonEmpty a
+   81 many1' p = liftA2 (:|) p $ many p
+   82 
+   83 -- | Extra
+   84 
+   85 -- | `tee` is deprecated, use `<*>`
+   86 tee :: (a -> b -> c) -> (a -> b) -> a -> c
+   87 tee f1 f2 a = (f1 a <$> f2) a
+   88 
+   89 type Act s a = s -> Either s a
+   90 type ActM m s a = s -> m (Either s a)
+   91 type Parser a b m = [a] -> m (b, [a])
+
+
+ + diff --git a/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.ListLikeExtra.hs.html b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.ListLikeExtra.hs.html new file mode 100644 index 0000000..161556a --- /dev/null +++ b/docs/reports/helio-test/helio-0.1.2.4-inplace/HelVM.HelIO.ListLikeExtra.hs.html @@ -0,0 +1,60 @@ + + + + + + +
+never executed always true always false
+
+
+    1 module HelVM.HelIO.ListLikeExtra where
+    2 
+    3 import           HelVM.HelIO.Control.Safe
+    4 
+    5 import           Data.ListLike
+    6 
+    7 import           Prelude                  hiding (break, divMod, drop, fromList, length, splitAt, swap, toList, uncons)
+    8 
+    9 -- | Construction
+   10 convert :: (ListLike full1 item , ListLike full2 item) => full1 -> full2
+   11 convert = fromList <$> toList
+   12 
+   13 maybeToFromList :: ListLike full item => Maybe item -> full
+   14 maybeToFromList (Just e) = singleton e
+   15 maybeToFromList Nothing  = mempty
+   16 
+   17 -- | Split
+   18 splitBy :: (Eq item , ListLike full item) => item -> full -> (full , full)
+   19 splitBy separator l =  (acc , drop 1 l') where (acc , l') = break (== separator) l
+   20 
+   21 -- | Pop
+   22 discard :: (MonadSafe m , ListLike full item) => full -> m full
+   23 discard l = appendError "Error for discard" $ snd <$> unconsSafe l
+   24 
+   25 top :: (MonadSafe m , ListLike full item) => full -> m item
+   26 top s = appendError "Error for top" $ fst <$> unconsSafe s
+   27 
+   28 unconsSafe :: (MonadSafe m , ListLike full item) => full -> m (item , full)
+   29 unconsSafe = liftMaybeOrError "Empty ListLike for unconsSafe" <$> uncons
+   30 
+   31 uncons2Safe :: (MonadSafe m , ListLike full item) => full -> m (item , item , full)
+   32 uncons2Safe = liftMaybeOrError "Empty ListLike for uncons2Safe" <$> uncons2
+   33 
+   34 uncons2 :: ListLike full item => full -> Maybe (item, item, full)
+   35 uncons2 = uncons2' <=< uncons where
+   36   uncons2' (e , l') = uncons2'' <$> uncons l' where
+   37     uncons2'' (e' , l'') = (e , e' , l'')
+
+
+ + diff --git a/docs/reports/helio-test/hpc_index.html b/docs/reports/helio-test/hpc_index.html index 9c1cbc5..ccf68e3 100644 --- a/docs/reports/helio-test/hpc_index.html +++ b/docs/reports/helio-test/hpc_index.html @@ -7,40 +7,40 @@ - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/docs/reports/helio-test/hpc_index_alt.html b/docs/reports/helio-test/hpc_index_alt.html index 94eab14..38f4968 100644 --- a/docs/reports/helio-test/hpc_index_alt.html +++ b/docs/reports/helio-test/hpc_index_alt.html @@ -7,40 +7,40 @@
moduleTop Level DefinitionsAlternativesExpressions
%covered / total%covered / total%covered / total
  module helio-0.1.2.3-inplace/HelVM.HelIO.Collections.MapList  module helio-0.1.2.4-inplace/HelVM.HelIO.Collections.MapList 25%10/39
66%4/6
51%59/115
  module helio-0.1.2.3-inplace/HelVM.HelIO.Collections.SList  module helio-0.1.2.4-inplace/HelVM.HelIO.Collections.SList 0%0/92
0/0 0%0/161
  module helio-0.1.2.3-inplace/HelVM.HelIO.Containers.LLIndexSafe  module helio-0.1.2.4-inplace/HelVM.HelIO.Containers.LLIndexSafe 0%0/7
0%0/3
0%0/50
  module helio-0.1.2.3-inplace/HelVM.HelIO.Containers.LLInsertDef  module helio-0.1.2.4-inplace/HelVM.HelIO.Containers.LLInsertDef 0%0/4
0%0/6
0%0/46
  module helio-0.1.2.3-inplace/HelVM.HelIO.Containers.MTInsertDef  module helio-0.1.2.4-inplace/HelVM.HelIO.Containers.MTInsertDef 0%0/4
0%0/6
0%0/46
  module helio-0.1.2.3-inplace/HelVM.HelIO.Control.Business  module helio-0.1.2.4-inplace/HelVM.HelIO.Control.Business 0%0/12
0%0/2
0%0/42
  module helio-0.1.2.3-inplace/HelVM.HelIO.Control.Logger  module helio-0.1.2.4-inplace/HelVM.HelIO.Control.Logger 31%6/19
0/0 27%17/61
  module helio-0.1.2.3-inplace/HelVM.HelIO.Control.Message  module helio-0.1.2.4-inplace/HelVM.HelIO.Control.Message 0%0/5
0%0/2
0%0/26
  module helio-0.1.2.3-inplace/HelVM.HelIO.Control.Safe  module helio-0.1.2.4-inplace/HelVM.HelIO.Control.Safe 0%0/31
0%0/4
0%0/111
  module helio-0.1.2.3-inplace/HelVM.HelIO.Digit.Digits  module helio-0.1.2.4-inplace/HelVM.HelIO.Digit.Digits 57%4/7
100%2/2
55%16/29
  module helio-0.1.2.3-inplace/HelVM.HelIO.Extra  module helio-0.1.2.4-inplace/HelVM.HelIO.Extra 0%0/17
0%0/6
0%0/77
  module helio-0.1.2.3-inplace/HelVM.HelIO.ListLikeExtra  module helio-0.1.2.4-inplace/HelVM.HelIO.ListLikeExtra 12%1/8
0%0/2
18%9/48
  Program Coverage Total
- + - + - + - + - + - + - + - + - + - + - + - + diff --git a/docs/reports/helio-test/hpc_index_exp.html b/docs/reports/helio-test/hpc_index_exp.html index 54eaf83..111ce94 100644 --- a/docs/reports/helio-test/hpc_index_exp.html +++ b/docs/reports/helio-test/hpc_index_exp.html @@ -7,40 +7,40 @@
moduleTop Level DefinitionsAlternativesExpressions
%covered / total%covered / total%covered / total
  module helio-0.1.2.3-inplace/HelVM.HelIO.Digit.Digits  module helio-0.1.2.4-inplace/HelVM.HelIO.Digit.Digits 57%4/7
100%2/2
55%16/29
  module helio-0.1.2.3-inplace/HelVM.HelIO.Collections.MapList  module helio-0.1.2.4-inplace/HelVM.HelIO.Collections.MapList 25%10/39
66%4/6
51%59/115
  module helio-0.1.2.3-inplace/HelVM.HelIO.Containers.MTInsertDef  module helio-0.1.2.4-inplace/HelVM.HelIO.Containers.MTInsertDef 0%0/4
0%0/6
0%0/46
  module helio-0.1.2.3-inplace/HelVM.HelIO.Containers.LLInsertDef  module helio-0.1.2.4-inplace/HelVM.HelIO.Containers.LLInsertDef 0%0/4
0%0/6
0%0/46
  module helio-0.1.2.3-inplace/HelVM.HelIO.Control.Safe  module helio-0.1.2.4-inplace/HelVM.HelIO.Control.Safe 0%0/31
0%0/4
0%0/111
  module helio-0.1.2.3-inplace/HelVM.HelIO.Control.Message  module helio-0.1.2.4-inplace/HelVM.HelIO.Control.Message 0%0/5
0%0/2
0%0/26
  module helio-0.1.2.3-inplace/HelVM.HelIO.Control.Business  module helio-0.1.2.4-inplace/HelVM.HelIO.Control.Business 0%0/12
0%0/2
0%0/42
  module helio-0.1.2.3-inplace/HelVM.HelIO.Containers.LLIndexSafe  module helio-0.1.2.4-inplace/HelVM.HelIO.Containers.LLIndexSafe 0%0/7
0%0/3
0%0/50
  module helio-0.1.2.3-inplace/HelVM.HelIO.Extra  module helio-0.1.2.4-inplace/HelVM.HelIO.Extra 0%0/17
0%0/6
0%0/77
  module helio-0.1.2.3-inplace/HelVM.HelIO.ListLikeExtra  module helio-0.1.2.4-inplace/HelVM.HelIO.ListLikeExtra 12%1/8
0%0/2
18%9/48
  module helio-0.1.2.3-inplace/HelVM.HelIO.Collections.SList  module helio-0.1.2.4-inplace/HelVM.HelIO.Collections.SList 0%0/92
0/0 0%0/161
  module helio-0.1.2.3-inplace/HelVM.HelIO.Control.Logger  module helio-0.1.2.4-inplace/HelVM.HelIO.Control.Logger 31%6/19
0/0 27%17/61
  Program Coverage Total
- + - + - + - + - + - + - + - + - + - + - + - + diff --git a/docs/reports/helio-test/hpc_index_fun.html b/docs/reports/helio-test/hpc_index_fun.html index 427ee2c..7f5aa3b 100644 --- a/docs/reports/helio-test/hpc_index_fun.html +++ b/docs/reports/helio-test/hpc_index_fun.html @@ -7,40 +7,40 @@
moduleTop Level DefinitionsAlternativesExpressions
%covered / total%covered / total%covered / total
  module helio-0.1.2.3-inplace/HelVM.HelIO.Digit.Digits  module helio-0.1.2.4-inplace/HelVM.HelIO.Digit.Digits 57%4/7
100%2/2
55%16/29
  module helio-0.1.2.3-inplace/HelVM.HelIO.Collections.MapList  module helio-0.1.2.4-inplace/HelVM.HelIO.Collections.MapList 25%10/39
66%4/6
51%59/115
  module helio-0.1.2.3-inplace/HelVM.HelIO.Control.Logger  module helio-0.1.2.4-inplace/HelVM.HelIO.Control.Logger 31%6/19
0/0 27%17/61
  module helio-0.1.2.3-inplace/HelVM.HelIO.ListLikeExtra  module helio-0.1.2.4-inplace/HelVM.HelIO.ListLikeExtra 12%1/8
0%0/2
18%9/48
  module helio-0.1.2.3-inplace/HelVM.HelIO.Containers.MTInsertDef  module helio-0.1.2.4-inplace/HelVM.HelIO.Containers.MTInsertDef 0%0/4
0%0/6
0%0/46
  module helio-0.1.2.3-inplace/HelVM.HelIO.Containers.LLInsertDef  module helio-0.1.2.4-inplace/HelVM.HelIO.Containers.LLInsertDef 0%0/4
0%0/6
0%0/46
  module helio-0.1.2.3-inplace/HelVM.HelIO.Collections.SList  module helio-0.1.2.4-inplace/HelVM.HelIO.Collections.SList 0%0/92
0/0 0%0/161
  module helio-0.1.2.3-inplace/HelVM.HelIO.Control.Safe  module helio-0.1.2.4-inplace/HelVM.HelIO.Control.Safe 0%0/31
0%0/4
0%0/111
  module helio-0.1.2.3-inplace/HelVM.HelIO.Control.Message  module helio-0.1.2.4-inplace/HelVM.HelIO.Control.Message 0%0/5
0%0/2
0%0/26
  module helio-0.1.2.3-inplace/HelVM.HelIO.Control.Business  module helio-0.1.2.4-inplace/HelVM.HelIO.Control.Business 0%0/12
0%0/2
0%0/42
  module helio-0.1.2.3-inplace/HelVM.HelIO.Containers.LLIndexSafe  module helio-0.1.2.4-inplace/HelVM.HelIO.Containers.LLIndexSafe 0%0/7
0%0/3
0%0/50
  module helio-0.1.2.3-inplace/HelVM.HelIO.Extra  module helio-0.1.2.4-inplace/HelVM.HelIO.Extra 0%0/17
0%0/6
0%0/77
  Program Coverage Total
- + - + - + - + - + - + - + - + - + - + - + - + diff --git a/docs/reports/helio/HelVM-HelIO-CartesianProduct.html b/docs/reports/helio/HelVM-HelIO-CartesianProduct.html index ccff645..0be7b2f 100644 --- a/docs/reports/helio/HelVM-HelIO-CartesianProduct.html +++ b/docs/reports/helio/HelVM-HelIO-CartesianProduct.html @@ -1 +1 @@ -HelVM.HelIO.CartesianProduct
helio-0.1.2.3: HelIO - HelVM Common Library
moduleTop Level DefinitionsAlternativesExpressions
%covered / total%covered / total%covered / total
  module helio-0.1.2.3-inplace/HelVM.HelIO.Digit.Digits  module helio-0.1.2.4-inplace/HelVM.HelIO.Digit.Digits 57%4/7
100%2/2
55%16/29
  module helio-0.1.2.3-inplace/HelVM.HelIO.Control.Logger  module helio-0.1.2.4-inplace/HelVM.HelIO.Control.Logger 31%6/19
0/0 27%17/61
  module helio-0.1.2.3-inplace/HelVM.HelIO.Collections.MapList  module helio-0.1.2.4-inplace/HelVM.HelIO.Collections.MapList 25%10/39
66%4/6
51%59/115
  module helio-0.1.2.3-inplace/HelVM.HelIO.ListLikeExtra  module helio-0.1.2.4-inplace/HelVM.HelIO.ListLikeExtra 12%1/8
0%0/2
18%9/48
  module helio-0.1.2.3-inplace/HelVM.HelIO.Containers.MTInsertDef  module helio-0.1.2.4-inplace/HelVM.HelIO.Containers.MTInsertDef 0%0/4
0%0/6
0%0/46
  module helio-0.1.2.3-inplace/HelVM.HelIO.Containers.LLInsertDef  module helio-0.1.2.4-inplace/HelVM.HelIO.Containers.LLInsertDef 0%0/4
0%0/6
0%0/46
  module helio-0.1.2.3-inplace/HelVM.HelIO.Collections.SList  module helio-0.1.2.4-inplace/HelVM.HelIO.Collections.SList 0%0/92
0/0 0%0/161
  module helio-0.1.2.3-inplace/HelVM.HelIO.Control.Safe  module helio-0.1.2.4-inplace/HelVM.HelIO.Control.Safe 0%0/31
0%0/4
0%0/111
  module helio-0.1.2.3-inplace/HelVM.HelIO.Control.Message  module helio-0.1.2.4-inplace/HelVM.HelIO.Control.Message 0%0/5
0%0/2
0%0/26
  module helio-0.1.2.3-inplace/HelVM.HelIO.Control.Business  module helio-0.1.2.4-inplace/HelVM.HelIO.Control.Business 0%0/12
0%0/2
0%0/42
  module helio-0.1.2.3-inplace/HelVM.HelIO.Containers.LLIndexSafe  module helio-0.1.2.4-inplace/HelVM.HelIO.Containers.LLIndexSafe 0%0/7
0%0/3
0%0/50
  module helio-0.1.2.3-inplace/HelVM.HelIO.Extra  module helio-0.1.2.4-inplace/HelVM.HelIO.Extra 0%0/17
0%0/6
0%0/77
  Program Coverage Total
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.CartesianProduct

Documentation

(>*<) :: Applicative f => f a1 -> f b1 -> f (a1, b1) infixr 9 #

(>>*<) :: Applicative f => f (a1, a2) -> f b1 -> f (a1, a2, b1) infixr 9 #

(>*<<) :: Applicative f => f a1 -> f (b1, b2) -> f (a1, b1, b2) infixr 9 #

(>><) :: (a1, a2) -> b1 -> (a1, a2, b1) infixr 9 #

(><<) :: a1 -> (b1, b2) -> (a1, b1, b2) infixr 9 #

\ No newline at end of file +HelVM.HelIO.CartesianProduct
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.CartesianProduct

Documentation

(>*<) :: Applicative f => f a1 -> f b1 -> f (a1, b1) infixr 9 #

(>>*<) :: Applicative f => f (a1, a2) -> f b1 -> f (a1, a2, b1) infixr 9 #

(>*<<) :: Applicative f => f a1 -> f (b1, b2) -> f (a1, b1, b2) infixr 9 #

(>><) :: (a1, a2) -> b1 -> (a1, a2, b1) infixr 9 #

(><<) :: a1 -> (b1, b2) -> (a1, b1, b2) infixr 9 #

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-Collections-MapList.html b/docs/reports/helio/HelVM-HelIO-Collections-MapList.html index 385c7b8..fc987b3 100644 --- a/docs/reports/helio/HelVM-HelIO-Collections-MapList.html +++ b/docs/reports/helio/HelVM-HelIO-Collections-MapList.html @@ -1 +1 @@ -HelVM.HelIO.Collections.MapList
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Collections.MapList

Synopsis

Documentation

mapListEmpty :: MapList a #

Construction

mapListToList :: Default a => MapList a -> [a] #

DeConstruction

listFromDescList :: Default a => IndexedList a -> [a] #

Internal function

consDef :: Default a => Key -> [a] -> [a] #

type AccWithIndexedList a = ([a], IndexedList a) #

Types

type Key = Key #

type IndexedList a = [(Key, a)] #

newtype MapList a #

Constructors

MapList 

Fields

Instances

Instances details
IsString MapString # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

Default a => IsList (MapList a) # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

Associated Types

type Item (MapList a) #

Methods

fromList :: [Item (MapList a)] -> MapList a #

fromListN :: Int -> [Item (MapList a)] -> MapList a #

toList :: MapList a -> [Item (MapList a)] #

Eq a => Eq (MapList a) # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

(==) :: MapList a -> MapList a -> Bool #

(/=) :: MapList a -> MapList a -> Bool #

Ord a => Ord (MapList a) # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

compare :: MapList a -> MapList a -> Ordering #

(<) :: MapList a -> MapList a -> Bool #

(<=) :: MapList a -> MapList a -> Bool #

(>) :: MapList a -> MapList a -> Bool #

(>=) :: MapList a -> MapList a -> Bool #

max :: MapList a -> MapList a -> MapList a #

min :: MapList a -> MapList a -> MapList a #

Read a => Read (MapList a) # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

(Default a, Show a) => Show (MapList a) #

Standard instances

Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

showsPrec :: Int -> MapList a -> ShowS #

show :: MapList a -> String #

showList :: [MapList a] -> ShowS #

Semigroup (MapList a) # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

(<>) :: MapList a -> MapList a -> MapList a #

sconcat :: NonEmpty (MapList a) -> MapList a #

stimes :: Integral b => b -> MapList a -> MapList a #

Monoid (MapList a) # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

mempty :: MapList a #

mappend :: MapList a -> MapList a -> MapList a #

mconcat :: [MapList a] -> MapList a #

InsertDef (MapList a) a # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

insertDef :: Int -> a -> MapList a -> MapList a #

Default a => FoldableLL (MapList a) a #

ListLike instances

Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

foldl :: (a0 -> a -> a0) -> a0 -> MapList a -> a0

foldl' :: (a0 -> a -> a0) -> a0 -> MapList a -> a0

foldl1 :: (a -> a -> a) -> MapList a -> a

foldr :: (a -> b -> b) -> b -> MapList a -> b

foldr' :: (a -> b -> b) -> b -> MapList a -> b

foldr1 :: (a -> a -> a) -> MapList a -> a

IndexSafe (MapList a) a #

My instances

Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

findWithDefault :: a -> Int -> MapList a -> a #

findMaybe :: Int -> MapList a -> Maybe a #

indexMaybe :: MapList a -> Int -> Maybe a #

findSafe :: MonadSafe m => Int -> MapList a -> m a #

indexSafe :: MonadSafe m => MapList a -> Int -> m a #

type Item (MapList a) # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

type Item (MapList a) = a

mapListFindMaybe :: Key -> MapList a -> Maybe a #

Internal functions

\ No newline at end of file +HelVM.HelIO.Collections.MapList
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Collections.MapList

Synopsis

Documentation

mapListEmpty :: MapList a #

Construction

mapListToList :: Default a => MapList a -> [a] #

DeConstruction

listFromDescList :: Default a => IndexedList a -> [a] #

Internal function

consDef :: Default a => Key -> [a] -> [a] #

type AccWithIndexedList a = ([a], IndexedList a) #

Types

type Key = Key #

type IndexedList a = [(Key, a)] #

newtype MapList a #

Constructors

MapList 

Fields

Instances

Instances details
IsString MapString # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

Default a => IsList (MapList a) # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

Associated Types

type Item (MapList a) #

Methods

fromList :: [Item (MapList a)] -> MapList a #

fromListN :: Int -> [Item (MapList a)] -> MapList a #

toList :: MapList a -> [Item (MapList a)] #

Eq a => Eq (MapList a) # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

(==) :: MapList a -> MapList a -> Bool #

(/=) :: MapList a -> MapList a -> Bool #

Ord a => Ord (MapList a) # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

compare :: MapList a -> MapList a -> Ordering #

(<) :: MapList a -> MapList a -> Bool #

(<=) :: MapList a -> MapList a -> Bool #

(>) :: MapList a -> MapList a -> Bool #

(>=) :: MapList a -> MapList a -> Bool #

max :: MapList a -> MapList a -> MapList a #

min :: MapList a -> MapList a -> MapList a #

Read a => Read (MapList a) # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

(Default a, Show a) => Show (MapList a) #

Standard instances

Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

showsPrec :: Int -> MapList a -> ShowS #

show :: MapList a -> String #

showList :: [MapList a] -> ShowS #

Semigroup (MapList a) # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

(<>) :: MapList a -> MapList a -> MapList a #

sconcat :: NonEmpty (MapList a) -> MapList a #

stimes :: Integral b => b -> MapList a -> MapList a #

Monoid (MapList a) # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

mempty :: MapList a #

mappend :: MapList a -> MapList a -> MapList a #

mconcat :: [MapList a] -> MapList a #

InsertDef (MapList a) a # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

insertDef :: Int -> a -> MapList a -> MapList a #

Default a => FoldableLL (MapList a) a #

ListLike instances

Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

foldl :: (a0 -> a -> a0) -> a0 -> MapList a -> a0

foldl' :: (a0 -> a -> a0) -> a0 -> MapList a -> a0

foldl1 :: (a -> a -> a) -> MapList a -> a

foldr :: (a -> b -> b) -> b -> MapList a -> b

foldr' :: (a -> b -> b) -> b -> MapList a -> b

foldr1 :: (a -> a -> a) -> MapList a -> a

IndexSafe (MapList a) a #

My instances

Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

findWithDefault :: a -> Int -> MapList a -> a #

findMaybe :: Int -> MapList a -> Maybe a #

indexMaybe :: MapList a -> Int -> Maybe a #

findSafe :: MonadSafe m => Int -> MapList a -> m a #

indexSafe :: MonadSafe m => MapList a -> Int -> m a #

type Item (MapList a) # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

type Item (MapList a) = a

mapListFindMaybe :: Key -> MapList a -> Maybe a #

Internal functions

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-Collections-SList.html b/docs/reports/helio/HelVM-HelIO-Collections-SList.html index 0fe2c3a..53ba804 100644 --- a/docs/reports/helio/HelVM-HelIO-Collections-SList.html +++ b/docs/reports/helio/HelVM-HelIO-Collections-SList.html @@ -1 +1 @@ -HelVM.HelIO.Collections.SList
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Collections.SList

Synopsis

Documentation

chunksOf :: Int -> SList a -> SList $ SList a #

Public functions

sListEmpty :: SList a #

Construction

sListFromList :: [a] -> SList a #

sListToList :: SList a -> [a] #

DeConstruction

type SString = SList Char #

Types

newtype SList a #

Constructors

SList 

Fields

Instances

Instances details
Monad SList # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

(>>=) :: SList a -> (a -> SList b) -> SList b #

(>>) :: SList a -> SList b -> SList b #

return :: a -> SList a #

Functor SList # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

fmap :: (a -> b) -> SList a -> SList b #

(<$) :: a -> SList b -> SList a #

IsString SString # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

fromString :: String -> SString #

Applicative SList # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

pure :: a -> SList a #

(<*>) :: SList (a -> b) -> SList a -> SList b #

liftA2 :: (a -> b -> c) -> SList a -> SList b -> SList c #

(*>) :: SList a -> SList b -> SList b #

(<*) :: SList a -> SList b -> SList a #

Foldable SList # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

fold :: Monoid m => SList m -> m #

foldMap :: Monoid m => (a -> m) -> SList a -> m #

foldMap' :: Monoid m => (a -> m) -> SList a -> m #

foldr :: (a -> b -> b) -> b -> SList a -> b #

foldr' :: (a -> b -> b) -> b -> SList a -> b #

foldl :: (b -> a -> b) -> b -> SList a -> b #

foldl' :: (b -> a -> b) -> b -> SList a -> b #

foldr1 :: (a -> a -> a) -> SList a -> a #

foldl1 :: (a -> a -> a) -> SList a -> a #

toList :: SList a -> [a] #

null :: SList a -> Bool #

length :: SList a -> Int #

elem :: Eq a => a -> SList a -> Bool #

maximum :: Ord a => SList a -> a #

minimum :: Ord a => SList a -> a #

sum :: Num a => SList a -> a #

product :: Num a => SList a -> a #

Traversable SList # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

traverse :: Applicative f => (a -> f b) -> SList a -> f (SList b) #

sequenceA :: Applicative f => SList (f a) -> f (SList a) #

mapM :: Monad m => (a -> m b) -> SList a -> m (SList b) #

sequence :: Monad m => SList (m a) -> m (SList a) #

IsList (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Associated Types

type Item (SList a) #

Methods

fromList :: [Item (SList a)] -> SList a #

fromListN :: Int -> [Item (SList a)] -> SList a #

toList :: SList a -> [Item (SList a)] #

Eq a => Eq (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

(==) :: SList a -> SList a -> Bool #

(/=) :: SList a -> SList a -> Bool #

Ord a => Ord (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

compare :: SList a -> SList a -> Ordering #

(<) :: SList a -> SList a -> Bool #

(<=) :: SList a -> SList a -> Bool #

(>) :: SList a -> SList a -> Bool #

(>=) :: SList a -> SList a -> Bool #

max :: SList a -> SList a -> SList a #

min :: SList a -> SList a -> SList a #

Read a => Read (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Show a => Show (SList a) #

Standard instances

Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

showsPrec :: Int -> SList a -> ShowS #

show :: SList a -> String #

showList :: [SList a] -> ShowS #

Semigroup (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

(<>) :: SList a -> SList a -> SList a #

sconcat :: NonEmpty (SList a) -> SList a #

stimes :: Integral b => b -> SList a -> SList a #

Monoid (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

mempty :: SList a #

mappend :: SList a -> SList a -> SList a #

mconcat :: [SList a] -> SList a #

GrowingAppend (SList a) #

SemiSequence instances

Instance details

Defined in HelVM.HelIO.Collections.SList

MonoFoldable (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

ofoldMap :: Monoid m => (Element (SList a) -> m) -> SList a -> m

ofoldr :: (Element (SList a) -> b -> b) -> b -> SList a -> b

ofoldl' :: (a0 -> Element (SList a) -> a0) -> a0 -> SList a -> a0

otoList :: SList a -> [Element (SList a)]

oall :: (Element (SList a) -> Bool) -> SList a -> Bool

oany :: (Element (SList a) -> Bool) -> SList a -> Bool

onull :: SList a -> Bool

olength :: SList a -> Int

olength64 :: SList a -> Int64

ocompareLength :: Integral i => SList a -> i -> Ordering

otraverse_ :: Applicative f => (Element (SList a) -> f b) -> SList a -> f ()

ofor_ :: Applicative f => SList a -> (Element (SList a) -> f b) -> f ()

omapM_ :: Applicative m => (Element (SList a) -> m ()) -> SList a -> m ()

oforM_ :: Applicative m => SList a -> (Element (SList a) -> m ()) -> m ()

ofoldlM :: Monad m => (a0 -> Element (SList a) -> m a0) -> a0 -> SList a -> m a0

ofoldMap1Ex :: Semigroup m => (Element (SList a) -> m) -> SList a -> m

ofoldr1Ex :: (Element (SList a) -> Element (SList a) -> Element (SList a)) -> SList a -> Element (SList a)

ofoldl1Ex' :: (Element (SList a) -> Element (SList a) -> Element (SList a)) -> SList a -> Element (SList a)

headEx :: SList a -> Element (SList a)

lastEx :: SList a -> Element (SList a)

unsafeHead :: SList a -> Element (SList a)

unsafeLast :: SList a -> Element (SList a)

maximumByEx :: (Element (SList a) -> Element (SList a) -> Ordering) -> SList a -> Element (SList a)

minimumByEx :: (Element (SList a) -> Element (SList a) -> Ordering) -> SList a -> Element (SList a)

oelem :: Element (SList a) -> SList a -> Bool

onotElem :: Element (SList a) -> SList a -> Bool

MonoFunctor (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

omap :: (Element (SList a) -> Element (SList a)) -> SList a -> SList a

MonoPointed (SList a) #

IsSequence instances

Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

opoint :: Element (SList a) -> SList a

MonoTraversable (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

otraverse :: Applicative f => (Element (SList a) -> f (Element (SList a))) -> SList a -> f (SList a)

omapM :: Applicative m => (Element (SList a) -> m (Element (SList a))) -> SList a -> m (SList a)

IsSequence (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

fromList :: [Element (SList a)] -> SList a

lengthIndex :: SList a -> Index (SList a)

break :: (Element (SList a) -> Bool) -> SList a -> (SList a, SList a)

span :: (Element (SList a) -> Bool) -> SList a -> (SList a, SList a)

dropWhile :: (Element (SList a) -> Bool) -> SList a -> SList a

takeWhile :: (Element (SList a) -> Bool) -> SList a -> SList a

splitAt :: Index (SList a) -> SList a -> (SList a, SList a)

unsafeSplitAt :: Index (SList a) -> SList a -> (SList a, SList a)

take :: Index (SList a) -> SList a -> SList a

unsafeTake :: Index (SList a) -> SList a -> SList a

drop :: Index (SList a) -> SList a -> SList a

unsafeDrop :: Index (SList a) -> SList a -> SList a

dropEnd :: Index (SList a) -> SList a -> SList a

partition :: (Element (SList a) -> Bool) -> SList a -> (SList a, SList a)

uncons :: SList a -> Maybe (Element (SList a), SList a)

unsnoc :: SList a -> Maybe (SList a, Element (SList a))

filter :: (Element (SList a) -> Bool) -> SList a -> SList a

filterM :: Monad m => (Element (SList a) -> m Bool) -> SList a -> m (SList a)

replicate :: Index (SList a) -> Element (SList a) -> SList a

replicateM :: Monad m => Index (SList a) -> m (Element (SList a)) -> m (SList a)

groupBy :: (Element (SList a) -> Element (SList a) -> Bool) -> SList a -> [SList a]

groupAllOn :: Eq b => (Element (SList a) -> b) -> SList a -> [SList a]

subsequences :: SList a -> [SList a]

permutations :: SList a -> [SList a]

tailEx :: SList a -> SList a

tailMay :: SList a -> Maybe (SList a)

initEx :: SList a -> SList a

initMay :: SList a -> Maybe (SList a)

unsafeTail :: SList a -> SList a

unsafeInit :: SList a -> SList a

index :: SList a -> Index (SList a) -> Maybe (Element (SList a))

indexEx :: SList a -> Index (SList a) -> Element (SList a)

unsafeIndex :: SList a -> Index (SList a) -> Element (SList a)

splitWhen :: (Element (SList a) -> Bool) -> SList a -> [SList a]

SemiSequence (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Associated Types

type Index (SList a)

Methods

intersperse :: Element (SList a) -> SList a -> SList a

reverse :: SList a -> SList a

find :: (Element (SList a) -> Bool) -> SList a -> Maybe (Element (SList a))

sortBy :: (Element (SList a) -> Element (SList a) -> Ordering) -> SList a -> SList a

cons :: Element (SList a) -> SList a -> SList a

snoc :: SList a -> Element (SList a) -> SList a

Default a => InsertDef (SList a) #

My instances

Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

insertDef :: Index (SList a) -> Element (SList a) -> SList a -> SList a #

Default a => InsertDef (SList a) a # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

insertDef :: Int -> a -> SList a -> SList a #

ListLike (SList a) a # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

empty :: SList a

singleton :: a -> SList a

cons :: a -> SList a -> SList a

snoc :: SList a -> a -> SList a

append :: SList a -> SList a -> SList a

head :: SList a -> a

uncons :: SList a -> Maybe (a, SList a)

last :: SList a -> a

tail :: SList a -> SList a

init :: SList a -> SList a

null :: SList a -> Bool

length :: SList a -> Int

map :: ListLike full' item' => (a -> item') -> SList a -> full'

rigidMap :: (a -> a) -> SList a -> SList a

reverse :: SList a -> SList a

intersperse :: a -> SList a -> SList a

concat :: ListLike full' (SList a) => full' -> SList a

concatMap :: ListLike full' item' => (a -> full') -> SList a -> full'

rigidConcatMap :: (a -> SList a) -> SList a -> SList a

any :: (a -> Bool) -> SList a -> Bool

all :: (a -> Bool) -> SList a -> Bool

maximum :: SList a -> a

minimum :: SList a -> a

replicate :: Int -> a -> SList a

take :: Int -> SList a -> SList a

drop :: Int -> SList a -> SList a

splitAt :: Int -> SList a -> (SList a, SList a)

takeWhile :: (a -> Bool) -> SList a -> SList a

dropWhile :: (a -> Bool) -> SList a -> SList a

dropWhileEnd :: (a -> Bool) -> SList a -> SList a

span :: (a -> Bool) -> SList a -> (SList a, SList a)

break :: (a -> Bool) -> SList a -> (SList a, SList a)

group :: (ListLike full' (SList a), Eq a) => SList a -> full'

inits :: ListLike full' (SList a) => SList a -> full'

tails :: ListLike full' (SList a) => SList a -> full'

isPrefixOf :: SList a -> SList a -> Bool

isSuffixOf :: SList a -> SList a -> Bool

isInfixOf :: SList a -> SList a -> Bool

stripPrefix :: SList a -> SList a -> Maybe (SList a)

stripSuffix :: SList a -> SList a -> Maybe (SList a)

elem :: a -> SList a -> Bool

notElem :: a -> SList a -> Bool

find :: (a -> Bool) -> SList a -> Maybe a

filter :: (a -> Bool) -> SList a -> SList a

partition :: (a -> Bool) -> SList a -> (SList a, SList a)

index :: SList a -> Int -> a

elemIndex :: a -> SList a -> Maybe Int

elemIndices :: (Eq a, ListLike result Int) => a -> SList a -> result

findIndex :: (a -> Bool) -> SList a -> Maybe Int

findIndices :: ListLike result Int => (a -> Bool) -> SList a -> result

sequence :: (Applicative m, ListLike fullinp (m a)) => fullinp -> m (SList a)

mapM :: (Applicative m, ListLike full' item') => (a -> m item') -> SList a -> m full'

rigidMapM :: Monad m => (a -> m a) -> SList a -> m (SList a)

nub :: SList a -> SList a

delete :: a -> SList a -> SList a

deleteFirsts :: SList a -> SList a -> SList a

union :: SList a -> SList a -> SList a

intersect :: SList a -> SList a -> SList a

sort :: SList a -> SList a

insert :: a -> SList a -> SList a

toList' :: SList a -> [a]

fromList' :: [a] -> SList a

fromListLike :: ListLike full' a => SList a -> full'

nubBy :: (a -> a -> Bool) -> SList a -> SList a

deleteBy :: (a -> a -> Bool) -> a -> SList a -> SList a

deleteFirstsBy :: (a -> a -> Bool) -> SList a -> SList a -> SList a

unionBy :: (a -> a -> Bool) -> SList a -> SList a -> SList a

intersectBy :: (a -> a -> Bool) -> SList a -> SList a -> SList a

groupBy :: (ListLike full' (SList a), Eq a) => (a -> a -> Bool) -> SList a -> full'

sortBy :: (a -> a -> Ordering) -> SList a -> SList a

insertBy :: (a -> a -> Ordering) -> a -> SList a -> SList a

genericLength :: Num a0 => SList a -> a0

genericTake :: Integral a0 => a0 -> SList a -> SList a

genericDrop :: Integral a0 => a0 -> SList a -> SList a

genericSplitAt :: Integral a0 => a0 -> SList a -> (SList a, SList a)

genericReplicate :: Integral a0 => a0 -> a -> SList a

FoldableLL (SList a) a #

ListLike instances

Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

foldl :: (a0 -> a -> a0) -> a0 -> SList a -> a0

foldl' :: (a0 -> a -> a0) -> a0 -> SList a -> a0

foldl1 :: (a -> a -> a) -> SList a -> a

foldr :: (a -> b -> b) -> b -> SList a -> b

foldr' :: (a -> b -> b) -> b -> SList a -> b

foldr1 :: (a -> a -> a) -> SList a -> a

type Item (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

type Item (SList a) = a
type Element (SList a) #

MonoFoldable instances

Instance details

Defined in HelVM.HelIO.Collections.SList

type Element (SList a) = a
type Index (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

type Index (SList a) = Int

sListCons :: a -> SList a -> SList a #

Internals sList

sListSnoc :: ListLike a (Item a) => a -> Item a -> a #

sListHead :: SList a -> a #

sListUncons :: SList a -> Maybe (a, SList a) #

sListLast :: SList a -> a #

sListIntersperse :: a -> SList a -> SList a #

sListReplicate :: Int -> a -> SList a #

sListFind :: (a -> Bool) -> SList a -> Maybe a #

sListIndex :: SList a -> Int -> a #

sListUnsafeAt :: Int -> SList a -> a #

sListSortBy :: (a -> a -> Ordering) -> SList a -> SList a #

\ No newline at end of file +HelVM.HelIO.Collections.SList
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Collections.SList

Synopsis

Documentation

chunksOf :: Int -> SList a -> SList $ SList a #

Public functions

sListEmpty :: SList a #

Construction

sListFromList :: [a] -> SList a #

sListToList :: SList a -> [a] #

DeConstruction

type SString = SList Char #

Types

newtype SList a #

Constructors

SList 

Fields

Instances

Instances details
Monad SList # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

(>>=) :: SList a -> (a -> SList b) -> SList b #

(>>) :: SList a -> SList b -> SList b #

return :: a -> SList a #

Functor SList # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

fmap :: (a -> b) -> SList a -> SList b #

(<$) :: a -> SList b -> SList a #

IsString SString # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

fromString :: String -> SString #

Applicative SList # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

pure :: a -> SList a #

(<*>) :: SList (a -> b) -> SList a -> SList b #

liftA2 :: (a -> b -> c) -> SList a -> SList b -> SList c #

(*>) :: SList a -> SList b -> SList b #

(<*) :: SList a -> SList b -> SList a #

Foldable SList # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

fold :: Monoid m => SList m -> m #

foldMap :: Monoid m => (a -> m) -> SList a -> m #

foldMap' :: Monoid m => (a -> m) -> SList a -> m #

foldr :: (a -> b -> b) -> b -> SList a -> b #

foldr' :: (a -> b -> b) -> b -> SList a -> b #

foldl :: (b -> a -> b) -> b -> SList a -> b #

foldl' :: (b -> a -> b) -> b -> SList a -> b #

foldr1 :: (a -> a -> a) -> SList a -> a #

foldl1 :: (a -> a -> a) -> SList a -> a #

toList :: SList a -> [a] #

null :: SList a -> Bool #

length :: SList a -> Int #

elem :: Eq a => a -> SList a -> Bool #

maximum :: Ord a => SList a -> a #

minimum :: Ord a => SList a -> a #

sum :: Num a => SList a -> a #

product :: Num a => SList a -> a #

Traversable SList # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

traverse :: Applicative f => (a -> f b) -> SList a -> f (SList b) #

sequenceA :: Applicative f => SList (f a) -> f (SList a) #

mapM :: Monad m => (a -> m b) -> SList a -> m (SList b) #

sequence :: Monad m => SList (m a) -> m (SList a) #

IsList (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Associated Types

type Item (SList a) #

Methods

fromList :: [Item (SList a)] -> SList a #

fromListN :: Int -> [Item (SList a)] -> SList a #

toList :: SList a -> [Item (SList a)] #

Eq a => Eq (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

(==) :: SList a -> SList a -> Bool #

(/=) :: SList a -> SList a -> Bool #

Ord a => Ord (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

compare :: SList a -> SList a -> Ordering #

(<) :: SList a -> SList a -> Bool #

(<=) :: SList a -> SList a -> Bool #

(>) :: SList a -> SList a -> Bool #

(>=) :: SList a -> SList a -> Bool #

max :: SList a -> SList a -> SList a #

min :: SList a -> SList a -> SList a #

Read a => Read (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Show a => Show (SList a) #

Standard instances

Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

showsPrec :: Int -> SList a -> ShowS #

show :: SList a -> String #

showList :: [SList a] -> ShowS #

Semigroup (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

(<>) :: SList a -> SList a -> SList a #

sconcat :: NonEmpty (SList a) -> SList a #

stimes :: Integral b => b -> SList a -> SList a #

Monoid (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

mempty :: SList a #

mappend :: SList a -> SList a -> SList a #

mconcat :: [SList a] -> SList a #

GrowingAppend (SList a) #

SemiSequence instances

Instance details

Defined in HelVM.HelIO.Collections.SList

MonoFoldable (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

ofoldMap :: Monoid m => (Element (SList a) -> m) -> SList a -> m

ofoldr :: (Element (SList a) -> b -> b) -> b -> SList a -> b

ofoldl' :: (a0 -> Element (SList a) -> a0) -> a0 -> SList a -> a0

otoList :: SList a -> [Element (SList a)]

oall :: (Element (SList a) -> Bool) -> SList a -> Bool

oany :: (Element (SList a) -> Bool) -> SList a -> Bool

onull :: SList a -> Bool

olength :: SList a -> Int

olength64 :: SList a -> Int64

ocompareLength :: Integral i => SList a -> i -> Ordering

otraverse_ :: Applicative f => (Element (SList a) -> f b) -> SList a -> f ()

ofor_ :: Applicative f => SList a -> (Element (SList a) -> f b) -> f ()

omapM_ :: Applicative m => (Element (SList a) -> m ()) -> SList a -> m ()

oforM_ :: Applicative m => SList a -> (Element (SList a) -> m ()) -> m ()

ofoldlM :: Monad m => (a0 -> Element (SList a) -> m a0) -> a0 -> SList a -> m a0

ofoldMap1Ex :: Semigroup m => (Element (SList a) -> m) -> SList a -> m

ofoldr1Ex :: (Element (SList a) -> Element (SList a) -> Element (SList a)) -> SList a -> Element (SList a)

ofoldl1Ex' :: (Element (SList a) -> Element (SList a) -> Element (SList a)) -> SList a -> Element (SList a)

headEx :: SList a -> Element (SList a)

lastEx :: SList a -> Element (SList a)

unsafeHead :: SList a -> Element (SList a)

unsafeLast :: SList a -> Element (SList a)

maximumByEx :: (Element (SList a) -> Element (SList a) -> Ordering) -> SList a -> Element (SList a)

minimumByEx :: (Element (SList a) -> Element (SList a) -> Ordering) -> SList a -> Element (SList a)

oelem :: Element (SList a) -> SList a -> Bool

onotElem :: Element (SList a) -> SList a -> Bool

MonoFunctor (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

omap :: (Element (SList a) -> Element (SList a)) -> SList a -> SList a

MonoPointed (SList a) #

IsSequence instances

Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

opoint :: Element (SList a) -> SList a

MonoTraversable (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

otraverse :: Applicative f => (Element (SList a) -> f (Element (SList a))) -> SList a -> f (SList a)

omapM :: Applicative m => (Element (SList a) -> m (Element (SList a))) -> SList a -> m (SList a)

IsSequence (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

fromList :: [Element (SList a)] -> SList a

lengthIndex :: SList a -> Index (SList a)

break :: (Element (SList a) -> Bool) -> SList a -> (SList a, SList a)

span :: (Element (SList a) -> Bool) -> SList a -> (SList a, SList a)

dropWhile :: (Element (SList a) -> Bool) -> SList a -> SList a

takeWhile :: (Element (SList a) -> Bool) -> SList a -> SList a

splitAt :: Index (SList a) -> SList a -> (SList a, SList a)

unsafeSplitAt :: Index (SList a) -> SList a -> (SList a, SList a)

take :: Index (SList a) -> SList a -> SList a

unsafeTake :: Index (SList a) -> SList a -> SList a

drop :: Index (SList a) -> SList a -> SList a

unsafeDrop :: Index (SList a) -> SList a -> SList a

dropEnd :: Index (SList a) -> SList a -> SList a

partition :: (Element (SList a) -> Bool) -> SList a -> (SList a, SList a)

uncons :: SList a -> Maybe (Element (SList a), SList a)

unsnoc :: SList a -> Maybe (SList a, Element (SList a))

filter :: (Element (SList a) -> Bool) -> SList a -> SList a

filterM :: Monad m => (Element (SList a) -> m Bool) -> SList a -> m (SList a)

replicate :: Index (SList a) -> Element (SList a) -> SList a

replicateM :: Monad m => Index (SList a) -> m (Element (SList a)) -> m (SList a)

groupBy :: (Element (SList a) -> Element (SList a) -> Bool) -> SList a -> [SList a]

groupAllOn :: Eq b => (Element (SList a) -> b) -> SList a -> [SList a]

subsequences :: SList a -> [SList a]

permutations :: SList a -> [SList a]

tailEx :: SList a -> SList a

tailMay :: SList a -> Maybe (SList a)

initEx :: SList a -> SList a

initMay :: SList a -> Maybe (SList a)

unsafeTail :: SList a -> SList a

unsafeInit :: SList a -> SList a

index :: SList a -> Index (SList a) -> Maybe (Element (SList a))

indexEx :: SList a -> Index (SList a) -> Element (SList a)

unsafeIndex :: SList a -> Index (SList a) -> Element (SList a)

splitWhen :: (Element (SList a) -> Bool) -> SList a -> [SList a]

tails :: SList a -> [SList a]

inits :: SList a -> [SList a]

initTails :: SList a -> [(SList a, SList a)]

SemiSequence (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Associated Types

type Index (SList a)

Methods

intersperse :: Element (SList a) -> SList a -> SList a

reverse :: SList a -> SList a

find :: (Element (SList a) -> Bool) -> SList a -> Maybe (Element (SList a))

sortBy :: (Element (SList a) -> Element (SList a) -> Ordering) -> SList a -> SList a

cons :: Element (SList a) -> SList a -> SList a

snoc :: SList a -> Element (SList a) -> SList a

Default a => InsertDef (SList a) #

My instances

Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

insertDef :: Index (SList a) -> Element (SList a) -> SList a -> SList a #

Default a => InsertDef (SList a) a # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

insertDef :: Int -> a -> SList a -> SList a #

ListLike (SList a) a # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

empty :: SList a

singleton :: a -> SList a

cons :: a -> SList a -> SList a

snoc :: SList a -> a -> SList a

append :: SList a -> SList a -> SList a

head :: SList a -> a

uncons :: SList a -> Maybe (a, SList a)

last :: SList a -> a

tail :: SList a -> SList a

init :: SList a -> SList a

null :: SList a -> Bool

length :: SList a -> Int

map :: ListLike full' item' => (a -> item') -> SList a -> full'

rigidMap :: (a -> a) -> SList a -> SList a

reverse :: SList a -> SList a

intersperse :: a -> SList a -> SList a

concat :: ListLike full' (SList a) => full' -> SList a

concatMap :: ListLike full' item' => (a -> full') -> SList a -> full'

rigidConcatMap :: (a -> SList a) -> SList a -> SList a

any :: (a -> Bool) -> SList a -> Bool

all :: (a -> Bool) -> SList a -> Bool

maximum :: SList a -> a

minimum :: SList a -> a

replicate :: Int -> a -> SList a

take :: Int -> SList a -> SList a

drop :: Int -> SList a -> SList a

splitAt :: Int -> SList a -> (SList a, SList a)

takeWhile :: (a -> Bool) -> SList a -> SList a

dropWhile :: (a -> Bool) -> SList a -> SList a

dropWhileEnd :: (a -> Bool) -> SList a -> SList a

span :: (a -> Bool) -> SList a -> (SList a, SList a)

break :: (a -> Bool) -> SList a -> (SList a, SList a)

group :: (ListLike full' (SList a), Eq a) => SList a -> full'

inits :: ListLike full' (SList a) => SList a -> full'

tails :: ListLike full' (SList a) => SList a -> full'

isPrefixOf :: SList a -> SList a -> Bool

isSuffixOf :: SList a -> SList a -> Bool

isInfixOf :: SList a -> SList a -> Bool

stripPrefix :: SList a -> SList a -> Maybe (SList a)

stripSuffix :: SList a -> SList a -> Maybe (SList a)

elem :: a -> SList a -> Bool

notElem :: a -> SList a -> Bool

find :: (a -> Bool) -> SList a -> Maybe a

filter :: (a -> Bool) -> SList a -> SList a

partition :: (a -> Bool) -> SList a -> (SList a, SList a)

index :: SList a -> Int -> a

elemIndex :: a -> SList a -> Maybe Int

elemIndices :: (Eq a, ListLike result Int) => a -> SList a -> result

findIndex :: (a -> Bool) -> SList a -> Maybe Int

findIndices :: ListLike result Int => (a -> Bool) -> SList a -> result

sequence :: (Applicative m, ListLike fullinp (m a)) => fullinp -> m (SList a)

mapM :: (Applicative m, ListLike full' item') => (a -> m item') -> SList a -> m full'

rigidMapM :: Monad m => (a -> m a) -> SList a -> m (SList a)

nub :: SList a -> SList a

delete :: a -> SList a -> SList a

deleteFirsts :: SList a -> SList a -> SList a

union :: SList a -> SList a -> SList a

intersect :: SList a -> SList a -> SList a

sort :: SList a -> SList a

insert :: a -> SList a -> SList a

toList' :: SList a -> [a]

fromList' :: [a] -> SList a

fromListLike :: ListLike full' a => SList a -> full'

nubBy :: (a -> a -> Bool) -> SList a -> SList a

deleteBy :: (a -> a -> Bool) -> a -> SList a -> SList a

deleteFirstsBy :: (a -> a -> Bool) -> SList a -> SList a -> SList a

unionBy :: (a -> a -> Bool) -> SList a -> SList a -> SList a

intersectBy :: (a -> a -> Bool) -> SList a -> SList a -> SList a

groupBy :: (ListLike full' (SList a), Eq a) => (a -> a -> Bool) -> SList a -> full'

sortBy :: (a -> a -> Ordering) -> SList a -> SList a

insertBy :: (a -> a -> Ordering) -> a -> SList a -> SList a

genericLength :: Num a0 => SList a -> a0

genericTake :: Integral a0 => a0 -> SList a -> SList a

genericDrop :: Integral a0 => a0 -> SList a -> SList a

genericSplitAt :: Integral a0 => a0 -> SList a -> (SList a, SList a)

genericReplicate :: Integral a0 => a0 -> a -> SList a

FoldableLL (SList a) a #

ListLike instances

Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

foldl :: (a0 -> a -> a0) -> a0 -> SList a -> a0

foldl' :: (a0 -> a -> a0) -> a0 -> SList a -> a0

foldl1 :: (a -> a -> a) -> SList a -> a

foldr :: (a -> b -> b) -> b -> SList a -> b

foldr' :: (a -> b -> b) -> b -> SList a -> b

foldr1 :: (a -> a -> a) -> SList a -> a

type Item (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

type Item (SList a) = a
type Element (SList a) #

MonoFoldable instances

Instance details

Defined in HelVM.HelIO.Collections.SList

type Element (SList a) = a
type Index (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

type Index (SList a) = Int

sListCons :: a -> SList a -> SList a #

Internals sList

sListSnoc :: ListLike a (Item a) => a -> Item a -> a #

sListHead :: SList a -> a #

sListUncons :: SList a -> Maybe (a, SList a) #

sListLast :: SList a -> a #

sListIntersperse :: a -> SList a -> SList a #

sListReplicate :: Int -> a -> SList a #

sListFind :: (a -> Bool) -> SList a -> Maybe a #

sListIndex :: SList a -> Int -> a #

sListUnsafeAt :: Int -> SList a -> a #

sListSortBy :: (a -> a -> Ordering) -> SList a -> SList a #

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-Containers-Extra.html b/docs/reports/helio/HelVM-HelIO-Containers-Extra.html index c469771..4f90905 100644 --- a/docs/reports/helio/HelVM-HelIO-Containers-Extra.html +++ b/docs/reports/helio/HelVM-HelIO-Containers-Extra.html @@ -1 +1 @@ -HelVM.HelIO.Containers.Extra
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Containers.Extra

Documentation

indexSafeByKey :: (MonadSafe m, Show k, Ord k, Show v) => k -> Map k v -> m v #

showFoldable :: (Foldable c, Functor c, Show e) => c e -> Text #

fmconcat :: (Foldable c, Monoid e) => c e -> e #

\ No newline at end of file +HelVM.HelIO.Containers.Extra
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Containers.Extra

Documentation

indexSafeByKey :: (MonadSafe m, Show k, Ord k, Show v) => k -> Map k v -> m v #

showFoldable :: (Foldable c, Functor c, Show e) => c e -> Text #

fmconcat :: (Foldable c, Monoid e) => c e -> e #

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-Containers-LLIndexSafe.html b/docs/reports/helio/HelVM-HelIO-Containers-LLIndexSafe.html index 82e7280..869c591 100644 --- a/docs/reports/helio/HelVM-HelIO-Containers-LLIndexSafe.html +++ b/docs/reports/helio/HelVM-HelIO-Containers-LLIndexSafe.html @@ -1 +1 @@ -HelVM.HelIO.Containers.LLIndexSafe
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Containers.LLIndexSafe

Synopsis

Documentation

naturalIndexSafe :: (MonadSafe m, IndexSafe full item) => full -> Natural -> m item #

Index

class IndexSafe full item | full -> item where #

Type Class

Methods

findWithDefault :: item -> Int -> full -> item #

findMaybe :: Int -> full -> Maybe item #

indexMaybe :: full -> Int -> Maybe item #

findSafe :: MonadSafe m => Int -> full -> m item #

indexSafe :: MonadSafe m => full -> Int -> m item #

Instances

Instances details
ListLike full item => IndexSafe full item # 
Instance details

Defined in HelVM.HelIO.Containers.LLIndexSafe

Methods

findWithDefault :: item -> Int -> full -> item #

findMaybe :: Int -> full -> Maybe item #

indexMaybe :: full -> Int -> Maybe item #

findSafe :: MonadSafe m => Int -> full -> m item #

indexSafe :: MonadSafe m => full -> Int -> m item #

IndexSafe (MapList a) a #

My instances

Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

findWithDefault :: a -> Int -> MapList a -> a #

findMaybe :: Int -> MapList a -> Maybe a #

indexMaybe :: MapList a -> Int -> Maybe a #

findSafe :: MonadSafe m => Int -> MapList a -> m a #

indexSafe :: MonadSafe m => MapList a -> Int -> m a #

indexSafeLL :: (MonadSafe m, ListLike full item) => full -> Int -> m item #

Internal functions

\ No newline at end of file +HelVM.HelIO.Containers.LLIndexSafe
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Containers.LLIndexSafe

Synopsis

Documentation

naturalIndexSafe :: (MonadSafe m, IndexSafe full item) => full -> Natural -> m item #

Index

class IndexSafe full item | full -> item where #

Type Class

Methods

findWithDefault :: item -> Int -> full -> item #

findMaybe :: Int -> full -> Maybe item #

indexMaybe :: full -> Int -> Maybe item #

findSafe :: MonadSafe m => Int -> full -> m item #

indexSafe :: MonadSafe m => full -> Int -> m item #

Instances

Instances details
ListLike full item => IndexSafe full item # 
Instance details

Defined in HelVM.HelIO.Containers.LLIndexSafe

Methods

findWithDefault :: item -> Int -> full -> item #

findMaybe :: Int -> full -> Maybe item #

indexMaybe :: full -> Int -> Maybe item #

findSafe :: MonadSafe m => Int -> full -> m item #

indexSafe :: MonadSafe m => full -> Int -> m item #

IndexSafe (MapList a) a #

My instances

Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

findWithDefault :: a -> Int -> MapList a -> a #

findMaybe :: Int -> MapList a -> Maybe a #

indexMaybe :: MapList a -> Int -> Maybe a #

findSafe :: MonadSafe m => Int -> MapList a -> m a #

indexSafe :: MonadSafe m => MapList a -> Int -> m a #

indexSafeLL :: (MonadSafe m, ListLike full item) => full -> Int -> m item #

Internal functions

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-Containers-LLInsertDef.html b/docs/reports/helio/HelVM-HelIO-Containers-LLInsertDef.html index ffcc2c1..eb987d3 100644 --- a/docs/reports/helio/HelVM-HelIO-Containers-LLInsertDef.html +++ b/docs/reports/helio/HelVM-HelIO-Containers-LLInsertDef.html @@ -1 +1 @@ -HelVM.HelIO.Containers.LLInsertDef
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Containers.LLInsertDef

Synopsis

Documentation

naturalInsertDef :: InsertDef full item => Natural -> item -> full -> full #

Insert a new element

class InsertDef full item | full -> item where #

Type Class

Methods

insertDef :: Int -> item -> full -> full #

Instances

Instances details
Default a => InsertDef [a] a # 
Instance details

Defined in HelVM.HelIO.Containers.LLInsertDef

Methods

insertDef :: Int -> a -> [a] -> [a] #

InsertDef (IntMap a) a # 
Instance details

Defined in HelVM.HelIO.Containers.LLInsertDef

Methods

insertDef :: Int -> a -> IntMap a -> IntMap a #

Default a => InsertDef (Seq a) a # 
Instance details

Defined in HelVM.HelIO.Containers.LLInsertDef

Methods

insertDef :: Int -> a -> Seq a -> Seq a #

Default a => InsertDef (SList a) a # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

insertDef :: Int -> a -> SList a -> SList a #

InsertDef (MapList a) a # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

insertDef :: Int -> a -> MapList a -> MapList a #

\ No newline at end of file +HelVM.HelIO.Containers.LLInsertDef
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Containers.LLInsertDef

Synopsis

Documentation

naturalInsertDef :: InsertDef full item => Natural -> item -> full -> full #

Insert a new element

class InsertDef full item | full -> item where #

Type Class

Methods

insertDef :: Int -> item -> full -> full #

Instances

Instances details
Default a => InsertDef [a] a # 
Instance details

Defined in HelVM.HelIO.Containers.LLInsertDef

Methods

insertDef :: Int -> a -> [a] -> [a] #

InsertDef (IntMap a) a # 
Instance details

Defined in HelVM.HelIO.Containers.LLInsertDef

Methods

insertDef :: Int -> a -> IntMap a -> IntMap a #

Default a => InsertDef (Seq a) a # 
Instance details

Defined in HelVM.HelIO.Containers.LLInsertDef

Methods

insertDef :: Int -> a -> Seq a -> Seq a #

Default a => InsertDef (SList a) a # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

insertDef :: Int -> a -> SList a -> SList a #

InsertDef (MapList a) a # 
Instance details

Defined in HelVM.HelIO.Collections.MapList

Methods

insertDef :: Int -> a -> MapList a -> MapList a #

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-Containers-MTIndexSafe.html b/docs/reports/helio/HelVM-HelIO-Containers-MTIndexSafe.html index 5707513..9fb9e89 100644 --- a/docs/reports/helio/HelVM-HelIO-Containers-MTIndexSafe.html +++ b/docs/reports/helio/HelVM-HelIO-Containers-MTIndexSafe.html @@ -1 +1 @@ -HelVM.HelIO.Containers.MTIndexSafe
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Containers.MTIndexSafe

Synopsis

Documentation

naturalIndexSafe :: (MonadSafe m, IndexSafe seq, Num $ Index seq) => seq -> Natural -> m $ Element seq #

Index

class IndexSafe seq where #

Type Class

Methods

findWithDefault :: Element seq -> Index seq -> seq -> Element seq #

findMaybe :: Index seq -> seq -> Maybe $ Element seq #

indexMaybe :: seq -> Index seq -> Maybe $ Element seq #

findSafe :: MonadSafe m => Index seq -> seq -> m $ Element seq #

indexSafe :: MonadSafe m => seq -> Index seq -> m $ Element seq #

Instances

Instances details
IsSequence seq => IndexSafe seq # 
Instance details

Defined in HelVM.HelIO.Containers.MTIndexSafe

Methods

findWithDefault :: Element seq -> Index seq -> seq -> Element seq #

findMaybe :: Index seq -> seq -> Maybe $ Element seq #

indexMaybe :: seq -> Index seq -> Maybe $ Element seq #

findSafe :: MonadSafe m => Index seq -> seq -> m $ Element seq #

indexSafe :: MonadSafe m => seq -> Index seq -> m $ Element seq #

\ No newline at end of file +HelVM.HelIO.Containers.MTIndexSafe
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Containers.MTIndexSafe

Synopsis

Documentation

naturalIndexSafe :: (MonadSafe m, IndexSafe seq, Num $ Index seq) => seq -> Natural -> m $ Element seq #

Index

class IndexSafe seq where #

Type Class

Methods

findWithDefault :: Element seq -> Index seq -> seq -> Element seq #

findMaybe :: Index seq -> seq -> Maybe $ Element seq #

indexMaybe :: seq -> Index seq -> Maybe $ Element seq #

findSafe :: MonadSafe m => Index seq -> seq -> m $ Element seq #

indexSafe :: MonadSafe m => seq -> Index seq -> m $ Element seq #

Instances

Instances details
IsSequence seq => IndexSafe seq # 
Instance details

Defined in HelVM.HelIO.Containers.MTIndexSafe

Methods

findWithDefault :: Element seq -> Index seq -> seq -> Element seq #

findMaybe :: Index seq -> seq -> Maybe $ Element seq #

indexMaybe :: seq -> Index seq -> Maybe $ Element seq #

findSafe :: MonadSafe m => Index seq -> seq -> m $ Element seq #

indexSafe :: MonadSafe m => seq -> Index seq -> m $ Element seq #

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-Containers-MTInsertDef.html b/docs/reports/helio/HelVM-HelIO-Containers-MTInsertDef.html index f42a49d..8e92004 100644 --- a/docs/reports/helio/HelVM-HelIO-Containers-MTInsertDef.html +++ b/docs/reports/helio/HelVM-HelIO-Containers-MTInsertDef.html @@ -1 +1 @@ -HelVM.HelIO.Containers.MTInsertDef
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Containers.MTInsertDef

Synopsis

Documentation

naturalInsertDef :: (InsertDef seq, Num $ Index seq) => Natural -> Element seq -> seq -> seq #

Insert a new element

class InsertDef seq where #

Type Class

Methods

insertDef :: Index seq -> Element seq -> seq -> seq #

Instances

Instances details
Default a => InsertDef [a] # 
Instance details

Defined in HelVM.HelIO.Containers.MTInsertDef

Methods

insertDef :: Index [a] -> Element [a] -> [a] -> [a] #

Index (IntMap a) ~ Int => InsertDef (IntMap a) # 
Instance details

Defined in HelVM.HelIO.Containers.MTInsertDef

Methods

insertDef :: Index (IntMap a) -> Element (IntMap a) -> IntMap a -> IntMap a #

Default a => InsertDef (Seq a) # 
Instance details

Defined in HelVM.HelIO.Containers.MTInsertDef

Methods

insertDef :: Index (Seq a) -> Element (Seq a) -> Seq a -> Seq a #

Default a => InsertDef (SList a) #

My instances

Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

insertDef :: Index (SList a) -> Element (SList a) -> SList a -> SList a #

\ No newline at end of file +HelVM.HelIO.Containers.MTInsertDef
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Containers.MTInsertDef

Synopsis

Documentation

naturalInsertDef :: (InsertDef seq, Num $ Index seq) => Natural -> Element seq -> seq -> seq #

Insert a new element

class InsertDef seq where #

Type Class

Methods

insertDef :: Index seq -> Element seq -> seq -> seq #

Instances

Instances details
Default a => InsertDef [a] # 
Instance details

Defined in HelVM.HelIO.Containers.MTInsertDef

Methods

insertDef :: Index [a] -> Element [a] -> [a] -> [a] #

Index (IntMap a) ~ Int => InsertDef (IntMap a) # 
Instance details

Defined in HelVM.HelIO.Containers.MTInsertDef

Methods

insertDef :: Index (IntMap a) -> Element (IntMap a) -> IntMap a -> IntMap a #

Default a => InsertDef (Seq a) # 
Instance details

Defined in HelVM.HelIO.Containers.MTInsertDef

Methods

insertDef :: Index (Seq a) -> Element (Seq a) -> Seq a -> Seq a #

Default a => InsertDef (SList a) #

My instances

Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

insertDef :: Index (SList a) -> Element (SList a) -> SList a -> SList a #

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-Control-Business.html b/docs/reports/helio/HelVM-HelIO-Control-Business.html index 77a085b..63259fb 100644 --- a/docs/reports/helio/HelVM-HelIO-Control-Business.html +++ b/docs/reports/helio/HelVM-HelIO-Control-Business.html @@ -1 +1 @@ -HelVM.HelIO.Control.Business
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +HelVM.HelIO.Control.Business
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-Control-Control.html b/docs/reports/helio/HelVM-HelIO-Control-Control.html index e23e30a..5c88115 100644 --- a/docs/reports/helio/HelVM-HelIO-Control-Control.html +++ b/docs/reports/helio/HelVM-HelIO-Control-Control.html @@ -1 +1 @@ -HelVM.HelIO.Control.Control
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +HelVM.HelIO.Control.Control
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-Control-Logger.html b/docs/reports/helio/HelVM-HelIO-Control-Logger.html index dbabdab..56d6745 100644 --- a/docs/reports/helio/HelVM-HelIO-Control-Logger.html +++ b/docs/reports/helio/HelVM-HelIO-Control-Logger.html @@ -1 +1 @@ -HelVM.HelIO.Control.Logger
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Control.Logger

Documentation

loggerIOToPTextIO :: Show a => IO (Logger a) -> IO Text #

DeConstructors

loggerIOToIO :: IO (Logger a) -> IO a #

loggerToIO :: Logger a -> IO a #

removeLoggerT :: Monad m => LoggerT m a -> m a #

runLoggerT :: LoggerT m a -> m (a, Messages) #

runLogger :: Logger a -> (a, Messages) #

logsFromLoggerT :: Monad m => LoggerT m a -> m Messages #

Logs

loggerT :: Monad m => m a -> LoggerT m a #

Constructors

logger :: a -> Logger a #

liftLogger :: MonadLogger m => Logger a -> m a #

Lift

logMessageTupleList :: MonadLogger m => [MessageTuple] -> m () #

Append Messages

logData :: (MonadLogger m, Show a) => a -> m () #

type WithMessages a = (a, Messages) #

\ No newline at end of file +HelVM.HelIO.Control.Logger
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Control.Logger

Documentation

loggerIOToPTextIO :: Show a => IO (Logger a) -> IO Text #

DeConstructors

loggerIOToIO :: IO (Logger a) -> IO a #

loggerToIO :: Logger a -> IO a #

removeLoggerT :: Monad m => LoggerT m a -> m a #

runLoggerT :: LoggerT m a -> m (a, Messages) #

runLogger :: Logger a -> (a, Messages) #

logsFromLoggerT :: Monad m => LoggerT m a -> m Messages #

Logs

loggerT :: Monad m => m a -> LoggerT m a #

Constructors

logger :: a -> Logger a #

liftLogger :: MonadLogger m => Logger a -> m a #

Lift

logMessageTupleList :: MonadLogger m => [MessageTuple] -> m () #

Append Messages

logData :: (MonadLogger m, Show a) => a -> m () #

type WithMessages a = (a, Messages) #

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-Control-Message.html b/docs/reports/helio/HelVM-HelIO-Control-Message.html index f40d253..39b9710 100644 --- a/docs/reports/helio/HelVM-HelIO-Control-Message.html +++ b/docs/reports/helio/HelVM-HelIO-Control-Message.html @@ -1 +1 @@ -HelVM.HelIO.Control.Message
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Control.Message

\ No newline at end of file +HelVM.HelIO.Control.Message
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Control.Message

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-Control-Safe.html b/docs/reports/helio/HelVM-HelIO-Control-Safe.html index 57d5095..7d2eca6 100644 --- a/docs/reports/helio/HelVM-HelIO-Control-Safe.html +++ b/docs/reports/helio/HelVM-HelIO-Control-Safe.html @@ -1 +1 @@ -HelVM.HelIO.Control.Safe
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Control.Safe

Synopsis

Documentation

safeIOToPTextIO :: Show a => IO (Safe a) -> IO Text #

DeConstructors

safeIOToIO :: IO (Safe a) -> IO a #

safeToIO :: Safe a -> IO a #

safeTToIO :: SafeT IO a -> IO a #

runSafeT :: SafeT m a -> m (Safe a) #

runSafe :: Safe a -> Safe a #

orError :: Show e => e -> Safe a -> a #

unsafe :: Safe a -> a #

nonEmptyFromList :: MonadSafe m => Text -> [a] -> m $ NonEmpty a #

Constructors

maybeOrError :: Show e => e -> Maybe a -> Safe a #

safeT :: Monad m => m a -> SafeT m a #

liftExceptT :: MonadError e m => ExceptT e m a -> m a #

Lift

liftSafe :: MonadSafe m => Safe a -> m a #

liftMaybeOrErrorTupleList :: MonadSafe m => [MessageTuple] -> Maybe a -> m a #

Lift from Maybe

liftErrorWithTupleList :: MonadSafe m => Message -> [MessageTuple] -> m a #

Lift from Message

liftError :: MonadSafe m => Message -> m a #

appendErrorTupleList :: MonadSafe m => [MessageTuple] -> m a -> m a #

Append Message

appendError :: MonadSafe m => Message -> m a -> m a #

(<?>) :: MonadSafe m => m a -> Message -> m a infix 0 #

type MonadSafe m = MonadError Messages m #

Types

type SafeT m = ExceptT Messages m #

\ No newline at end of file +HelVM.HelIO.Control.Safe
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Control.Safe

Synopsis

Documentation

safeIOToPTextIO :: Show a => IO (Safe a) -> IO Text #

DeConstructors

safeIOToIO :: IO (Safe a) -> IO a #

safeToIO :: Safe a -> IO a #

safeTToIO :: SafeT IO a -> IO a #

runSafeT :: SafeT m a -> m (Safe a) #

runSafe :: Safe a -> Safe a #

orError :: Show e => e -> Safe a -> a #

unsafe :: Safe a -> a #

nonEmptyFromList :: MonadSafe m => Text -> [a] -> m $ NonEmpty a #

Constructors

maybeOrError :: Show e => e -> Maybe a -> Safe a #

safeT :: Monad m => m a -> SafeT m a #

liftExceptT :: MonadError e m => ExceptT e m a -> m a #

Lift

liftSafe :: MonadSafe m => Safe a -> m a #

liftMaybeOrErrorTupleList :: MonadSafe m => [MessageTuple] -> Maybe a -> m a #

Lift from Maybe

liftErrorWithTupleList :: MonadSafe m => Message -> [MessageTuple] -> m a #

Lift from Message

liftError :: MonadSafe m => Message -> m a #

appendErrorTupleList :: MonadSafe m => [MessageTuple] -> m a -> m a #

Append Message

appendError :: MonadSafe m => Message -> m a -> m a #

(<?>) :: MonadSafe m => m a -> Message -> m a infix 0 #

type MonadSafe m = MonadError Messages m #

Types

type SafeT m = ExceptT Messages m #

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-Digit-Digitable.html b/docs/reports/helio/HelVM-HelIO-Digit-Digitable.html index a9dacd2..0fbab4c 100644 --- a/docs/reports/helio/HelVM-HelIO-Digit-Digitable.html +++ b/docs/reports/helio/HelVM-HelIO-Digit-Digitable.html @@ -1 +1 @@ -HelVM.HelIO.Digit.Digitable
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Digit.Digitable

Synopsis

Documentation

naturalToDL :: (MonadSafe m, Digitable a) => Natural -> m [a] #

Public functions

textToDL :: (MonadSafe m, Digitable a) => Text -> m [a] #

stringToDL :: (MonadSafe m, Digitable a) => String -> m [a] #

charToDL :: (MonadSafe m, Digitable a) => Char -> m [a] #

class ToDigit t => Digitable t where #

Type Classes

Methods

fromDigit :: (MonadSafe m, Show a, Integral a) => a -> m t #

toBits8 :: Int -> [Natural] #

Internal functions

\ No newline at end of file +HelVM.HelIO.Digit.Digitable
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Digit.Digitable

Synopsis

Documentation

naturalToDL :: (MonadSafe m, Digitable a) => Natural -> m [a] #

Public functions

textToDL :: (MonadSafe m, Digitable a) => Text -> m [a] #

stringToDL :: (MonadSafe m, Digitable a) => String -> m [a] #

charToDL :: (MonadSafe m, Digitable a) => Char -> m [a] #

class ToDigit t => Digitable t where #

Type Classes

Methods

fromDigit :: (MonadSafe m, Show a, Integral a) => a -> m t #

toBits8 :: Int -> [Natural] #

Internal functions

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-Digit-Digits.html b/docs/reports/helio/HelVM-HelIO-Digit-Digits.html index 09586e5..7070b29 100644 --- a/docs/reports/helio/HelVM-HelIO-Digit-Digits.html +++ b/docs/reports/helio/HelVM-HelIO-Digit-Digits.html @@ -1 +1 @@ -HelVM.HelIO.Digit.Digits
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Digit.Digits

\ No newline at end of file +HelVM.HelIO.Digit.Digits
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Digit.Digits

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-Digit-ToDigit.html b/docs/reports/helio/HelVM-HelIO-Digit-ToDigit.html index 0b0d8b6..4e4bdbf 100644 --- a/docs/reports/helio/HelVM-HelIO-Digit-ToDigit.html +++ b/docs/reports/helio/HelVM-HelIO-Digit-ToDigit.html @@ -1 +1 @@ -HelVM.HelIO.Digit.ToDigit
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Digit.ToDigit

Documentation

makeIntegral7FromList :: (MonadSafe m, ToDigit a, Integral b) => [a] -> m b #

makeIntegral7 :: (MonadSafe m, ToDigit a, Integral b) => SList a -> m b #

makeIntegral2FromList :: (MonadSafe m, ToDigit a, Integral b) => [a] -> m b #

makeIntegral2 :: (MonadSafe m, ToDigit a, Integral b) => SList a -> m b #

makeIntegral :: (MonadSafe m, ToDigit a, Integral b) => b -> SList a -> m b #

wrongToken :: (MonadSafe m, Show t) => t -> m a #

class ToDigit t #

Minimal complete definition

toDigit

toDigit :: (ToDigit t, MonadSafe m, Integral a) => t -> m a #

\ No newline at end of file +HelVM.HelIO.Digit.ToDigit
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Digit.ToDigit

Documentation

makeIntegral7FromList :: (MonadSafe m, ToDigit a, Integral b) => [a] -> m b #

makeIntegral7 :: (MonadSafe m, ToDigit a, Integral b) => SList a -> m b #

makeIntegral2FromList :: (MonadSafe m, ToDigit a, Integral b) => [a] -> m b #

makeIntegral2 :: (MonadSafe m, ToDigit a, Integral b) => SList a -> m b #

makeIntegral :: (MonadSafe m, ToDigit a, Integral b) => b -> SList a -> m b #

wrongToken :: (MonadSafe m, Show t) => t -> m a #

class ToDigit t #

Minimal complete definition

toDigit

toDigit :: (ToDigit t, MonadSafe m, Integral a) => t -> m a #

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-Extra.html b/docs/reports/helio/HelVM-HelIO-Extra.html index 121182d..6326bd2 100644 --- a/docs/reports/helio/HelVM-HelIO-Extra.html +++ b/docs/reports/helio/HelVM-HelIO-Extra.html @@ -1 +1 @@ -HelVM.HelIO.Extra
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Extra

Synopsis

Documentation

readFileTextUtf8 :: MonadIO m => FilePath -> m Text #

FilesExtra

toUppers :: Text -> Text #

TextExtra

showP :: Show a => a -> Text #

ShowExtra

showToText :: (Typeable a, Show a) => a -> Text #

genericChr :: Integral a => a -> Char #

CharExtra

(???) :: Maybe a -> a -> a infixr 0 #

MaybeExtra

fromMaybeOrDef :: Default a => Maybe a -> a #

headMaybe :: [a] -> Maybe a #

fromJustWith :: Show e => e -> Maybe a -> a #

unfoldrM :: Monad m => (a -> m (Maybe (b, a))) -> a -> m [b] #

ListExtra

runParser :: Monad m => Parser a b m -> [a] -> m [b] #

repeatedlyM :: Monad m => Parser a b m -> [a] -> m [b] #

repeatedly :: ([a] -> (b, [a])) -> [a] -> [b] #

many1' :: (Monad f, Alternative f) => f a -> f $ NonEmpty a #

NonEmptyExtra

tee :: (a -> b -> c) -> (a -> b) -> a -> c #

Extra

tee is deprecated, use <*>

type Act s a = s -> Either s a #

type ActM m s a = s -> m (Either s a) #

type Parser a b m = [a] -> m (b, [a]) #

\ No newline at end of file +HelVM.HelIO.Extra
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Extra

Synopsis

Documentation

readFileTextUtf8 :: MonadIO m => FilePath -> m Text #

FilesExtra

toUppers :: Text -> Text #

TextExtra

showP :: Show a => a -> Text #

ShowExtra

showToText :: (Typeable a, Show a) => a -> Text #

genericChr :: Integral a => a -> Char #

CharExtra

(???) :: Maybe a -> a -> a infixr 0 #

MaybeExtra

fromMaybeOrDef :: Default a => Maybe a -> a #

headMaybe :: [a] -> Maybe a #

fromJustWith :: Show e => e -> Maybe a -> a #

unfoldrM :: Monad m => (a -> m (Maybe (b, a))) -> a -> m [b] #

ListExtra

runParser :: Monad m => Parser a b m -> [a] -> m [b] #

repeatedlyM :: Monad m => Parser a b m -> [a] -> m [b] #

repeatedly :: ([a] -> (b, [a])) -> [a] -> [b] #

many1' :: (Monad f, Alternative f) => f a -> f $ NonEmpty a #

NonEmptyExtra

tee :: (a -> b -> c) -> (a -> b) -> a -> c #

Extra

tee is deprecated, use <*>

type Act s a = s -> Either s a #

type ActM m s a = s -> m (Either s a) #

type Parser a b m = [a] -> m (b, [a]) #

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-IO-BIO.html b/docs/reports/helio/HelVM-HelIO-IO-BIO.html index 916327a..4c2ff9d 100644 --- a/docs/reports/helio/HelVM-HelIO-IO-BIO.html +++ b/docs/reports/helio/HelVM-HelIO-IO-BIO.html @@ -1 +1 @@ -HelVM.HelIO.IO.BIO
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.IO.BIO

Documentation

\ No newline at end of file +HelVM.HelIO.IO.BIO
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.IO.BIO

Documentation

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-IO-Console.html b/docs/reports/helio/HelVM-HelIO-IO-Console.html index 1fe2cc5..9d42b8f 100644 --- a/docs/reports/helio/HelVM-HelIO-IO-Console.html +++ b/docs/reports/helio/HelVM-HelIO-IO-Console.html @@ -1 +1 @@ -HelVM.HelIO.IO.Console
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.IO.Console

Documentation

type Element e = (ReadShow e, Integral e, Default e) #

class Monad m => ConsoleIO m #

Instances

Instances details
ConsoleIO IO # 
Instance details

Defined in HelVM.HelIO.IO.Console

ConsoleIO MockIO # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

ConsoleIO (SafeT IO) # 
Instance details

Defined in HelVM.HelIO.IO.Console

ConsoleIO (SafeT MockIO) # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

ConsoleIO (BusinessT IO) # 
Instance details

Defined in HelVM.HelIO.IO.Console

ConsoleIO (BusinessT MockIO) # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

ConsoleIO (ExceptT String IO) # 
Instance details

Defined in HelVM.HelIO.IO.Console

wPutAsChar :: (ConsoleIO m, Integral v) => v -> m () #

wPutAsDec :: (ConsoleIO m, Integral v) => v -> m () #

wGetCharAs :: (ConsoleIO m, Integral v) => m v #

wGetDecAs :: (ConsoleIO m, Integral v) => m v #

wPutChar :: ConsoleIO m => Char -> m () #

wPutStr :: ConsoleIO m => Text -> m () #

wPutStrLn :: ConsoleIO m => Text -> m () #

wFlush :: ConsoleIO m => m () #

wLogStr :: ConsoleIO m => Text -> m () #

wLogStrLn :: ConsoleIO m => Text -> m () #

wLogShow :: (ConsoleIO m, Show s) => s -> m () #

logStr :: Text -> IO () #

flush :: IO () #

\ No newline at end of file +HelVM.HelIO.IO.Console
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.IO.Console

Documentation

type Element e = (ReadShow e, Integral e, Default e) #

class Monad m => ConsoleIO m #

Instances

Instances details
ConsoleIO IO # 
Instance details

Defined in HelVM.HelIO.IO.Console

ConsoleIO MockIO # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

ConsoleIO (SafeT IO) # 
Instance details

Defined in HelVM.HelIO.IO.Console

ConsoleIO (SafeT MockIO) # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

ConsoleIO (BusinessT IO) # 
Instance details

Defined in HelVM.HelIO.IO.Console

ConsoleIO (BusinessT MockIO) # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

ConsoleIO (ExceptT String IO) # 
Instance details

Defined in HelVM.HelIO.IO.Console

wPutAsChar :: (ConsoleIO m, Integral v) => v -> m () #

wPutAsDec :: (ConsoleIO m, Integral v) => v -> m () #

wGetCharAs :: (ConsoleIO m, Integral v) => m v #

wGetDecAs :: (ConsoleIO m, Integral v) => m v #

wPutChar :: ConsoleIO m => Char -> m () #

wPutStr :: ConsoleIO m => Text -> m () #

wPutStrLn :: ConsoleIO m => Text -> m () #

wFlush :: ConsoleIO m => m () #

wLogStr :: ConsoleIO m => Text -> m () #

wLogStrLn :: ConsoleIO m => Text -> m () #

wLogShow :: (ConsoleIO m, Show s) => s -> m () #

logStr :: Text -> IO () #

flush :: IO () #

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-IO-FileReader.html b/docs/reports/helio/HelVM-HelIO-IO-FileReader.html index 91ff2d6..9d698b3 100644 --- a/docs/reports/helio/HelVM-HelIO-IO-FileReader.html +++ b/docs/reports/helio/HelVM-HelIO-IO-FileReader.html @@ -1 +1 @@ -HelVM.HelIO.IO.FileReader
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.IO.FileReader

Documentation

class Monad m => FileReaderIO m #

Minimal complete definition

wReadFile

Instances

Instances details
FileReaderIO IO # 
Instance details

Defined in HelVM.HelIO.IO.FileReader

Methods

wReadFile :: FilePath -> IO Text #

FileReaderIO (SafeT IO) # 
Instance details

Defined in HelVM.HelIO.IO.FileReader

FileReaderIO (LoggerT IO) # 
Instance details

Defined in HelVM.HelIO.IO.FileReader

FileReaderIO (BusinessT IO) # 
Instance details

Defined in HelVM.HelIO.IO.FileReader

FileReaderIO (BusinessT MockIO) # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

\ No newline at end of file +HelVM.HelIO.IO.FileReader
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.IO.FileReader

Documentation

class Monad m => FileReaderIO m #

Minimal complete definition

wReadFile

Instances

Instances details
FileReaderIO IO # 
Instance details

Defined in HelVM.HelIO.IO.FileReader

Methods

wReadFile :: FilePath -> IO Text #

FileReaderIO (SafeT IO) # 
Instance details

Defined in HelVM.HelIO.IO.FileReader

FileReaderIO (LoggerT IO) # 
Instance details

Defined in HelVM.HelIO.IO.FileReader

FileReaderIO (BusinessT IO) # 
Instance details

Defined in HelVM.HelIO.IO.FileReader

FileReaderIO (BusinessT MockIO) # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-IO-MockIO.html b/docs/reports/helio/HelVM-HelIO-IO-MockIO.html index 798bb27..ad9370b 100644 --- a/docs/reports/helio/HelVM-HelIO-IO-MockIO.html +++ b/docs/reports/helio/HelVM-HelIO-IO-MockIO.html @@ -1 +1 @@ -HelVM.HelIO.IO.MockIO
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.IO.MockIO

Documentation

data MockIOData #

Instances

Instances details
Eq MockIOData # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

Read MockIOData # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

Show MockIOData # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

ConsoleIO MockIO # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

FileReaderIO (BusinessT MockIO) # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

ConsoleIO (SafeT MockIO) # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

ConsoleIO (BusinessT MockIO) # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

\ No newline at end of file +HelVM.HelIO.IO.MockIO
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.IO.MockIO

Documentation

data MockIOData #

Instances

Instances details
Eq MockIOData # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

Read MockIOData # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

Show MockIOData # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

ConsoleIO MockIO # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

FileReaderIO (BusinessT MockIO) # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

ConsoleIO (SafeT MockIO) # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

ConsoleIO (BusinessT MockIO) # 
Instance details

Defined in HelVM.HelIO.IO.MockIO

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-ListLikeExtra.html b/docs/reports/helio/HelVM-HelIO-ListLikeExtra.html index c5d5d31..31c0d41 100644 --- a/docs/reports/helio/HelVM-HelIO-ListLikeExtra.html +++ b/docs/reports/helio/HelVM-HelIO-ListLikeExtra.html @@ -1 +1 @@ -HelVM.HelIO.ListLikeExtra
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.ListLikeExtra

Synopsis

Documentation

convert :: (ListLike full1 item, ListLike full2 item) => full1 -> full2 #

Construction

maybeToFromList :: ListLike full item => Maybe item -> full #

splitBy :: (Eq item, ListLike full item) => item -> full -> (full, full) #

Split

discard :: (MonadSafe m, ListLike full item) => full -> m full #

Pop

top :: (MonadSafe m, ListLike full item) => full -> m item #

unconsSafe :: (MonadSafe m, ListLike full item) => full -> m (item, full) #

uncons2Safe :: (MonadSafe m, ListLike full item) => full -> m (item, item, full) #

uncons2 :: ListLike full item => full -> Maybe (item, item, full) #

\ No newline at end of file +HelVM.HelIO.ListLikeExtra
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.ListLikeExtra

Synopsis

Documentation

convert :: (ListLike full1 item, ListLike full2 item) => full1 -> full2 #

Construction

maybeToFromList :: ListLike full item => Maybe item -> full #

splitBy :: (Eq item, ListLike full item) => item -> full -> (full, full) #

Split

discard :: (MonadSafe m, ListLike full item) => full -> m full #

Pop

top :: (MonadSafe m, ListLike full item) => full -> m item #

unconsSafe :: (MonadSafe m, ListLike full item) => full -> m (item, full) #

uncons2Safe :: (MonadSafe m, ListLike full item) => full -> m (item, item, full) #

uncons2 :: ListLike full item => full -> Maybe (item, item, full) #

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-NamedValue.html b/docs/reports/helio/HelVM-HelIO-NamedValue.html index 1a69c18..76d2113 100644 --- a/docs/reports/helio/HelVM-HelIO-NamedValue.html +++ b/docs/reports/helio/HelVM-HelIO-NamedValue.html @@ -1 +1 @@ -HelVM.HelIO.NamedValue
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.NamedValue

Documentation

data NamedValue a #

Constructors

NamedValue 

Fields

\ No newline at end of file +HelVM.HelIO.NamedValue
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.NamedValue

Documentation

data NamedValue a #

Constructors

NamedValue 

Fields

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-ReadText.html b/docs/reports/helio/HelVM-HelIO-ReadText.html index 5826b0b..c748d22 100644 --- a/docs/reports/helio/HelVM-HelIO-ReadText.html +++ b/docs/reports/helio/HelVM-HelIO-ReadText.html @@ -1 +1 @@ -HelVM.HelIO.ReadText
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.ReadText

Documentation

readTextUnsafe :: Read a => Text -> a #

readTextSafe :: (MonadSafe m, Read a) => Text -> m a #

readUnsafe :: Read a => String -> a #

readSafe :: (MonadSafe m, Read a) => String -> m a #

\ No newline at end of file +HelVM.HelIO.ReadText
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.ReadText

Documentation

readTextUnsafe :: Read a => Text -> a #

readTextSafe :: (MonadSafe m, Read a) => Text -> m a #

readUnsafe :: Read a => String -> a #

readSafe :: (MonadSafe m, Read a) => String -> m a #

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-SequencesExtra.html b/docs/reports/helio/HelVM-HelIO-SequencesExtra.html index 3fe23e7..3369827 100644 --- a/docs/reports/helio/HelVM-HelIO-SequencesExtra.html +++ b/docs/reports/helio/HelVM-HelIO-SequencesExtra.html @@ -1 +1 @@ -HelVM.HelIO.SequencesExtra
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.SequencesExtra

Synopsis

Documentation

maybeToFromList :: (MonoPointed p, Monoid p) => Maybe (Element p) -> p #

Construct a sequence

naturalIndexSafe :: (MonadSafe m, Show seq, Show (Index seq), IsSequence seq) => seq -> Natural -> m (Element seq) #

Index

indexSafe :: (MonadSafe m, Show seq, Show (Index seq), IsSequence seq) => seq -> Index seq -> m (Element seq) #

lookup :: (MonadSafe m, Show seq, Show (Index seq), IsSequence seq) => Index seq -> seq -> m (Element seq) #

splitBy :: (Eq (Element seq), IsSequence seq) => Element seq -> seq -> (seq, seq) #

Split a sequence

discard :: (MonadSafe m, IsSequence seq) => seq -> m seq #

Pop

top :: (MonadSafe m, IsSequence seq) => seq -> m $ Element seq #

unconsSafe :: (MonadSafe m, IsSequence seq) => seq -> m (Element seq, seq) #

uncons2Safe :: (MonadSafe m, IsSequence seq) => seq -> m (Element seq, Element seq, seq) #

uncons2 :: IsSequence seq => seq -> Maybe (Element seq, Element seq, seq) #

class (Integral (Index seq), SemiSequence seq) => InsertDef seq where #

Insert a new element

Methods

insertDef :: Index seq -> Element seq -> seq -> seq #

Instances

Instances details
Default a => InsertDef [a] # 
Instance details

Defined in HelVM.HelIO.SequencesExtra

Methods

insertDef :: Index [a] -> Element [a] -> [a] -> [a] #

Default a => InsertDef (Seq a) # 
Instance details

Defined in HelVM.HelIO.SequencesExtra

Methods

insertDef :: Index (Seq a) -> Element (Seq a) -> Seq a -> Seq a #

\ No newline at end of file +HelVM.HelIO.SequencesExtra
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.SequencesExtra

Synopsis

Documentation

maybeToFromList :: (MonoPointed p, Monoid p) => Maybe (Element p) -> p #

Construct a sequence

naturalIndexSafe :: (MonadSafe m, Show seq, Show (Index seq), IsSequence seq) => seq -> Natural -> m (Element seq) #

Index

indexSafe :: (MonadSafe m, Show seq, Show (Index seq), IsSequence seq) => seq -> Index seq -> m (Element seq) #

lookup :: (MonadSafe m, Show seq, Show (Index seq), IsSequence seq) => Index seq -> seq -> m (Element seq) #

splitBy :: (Eq (Element seq), IsSequence seq) => Element seq -> seq -> (seq, seq) #

Split a sequence

discard :: (MonadSafe m, IsSequence seq) => seq -> m seq #

Pop

top :: (MonadSafe m, IsSequence seq) => seq -> m $ Element seq #

unconsSafe :: (MonadSafe m, IsSequence seq) => seq -> m (Element seq, seq) #

uncons2Safe :: (MonadSafe m, IsSequence seq) => seq -> m (Element seq, Element seq, seq) #

uncons2 :: IsSequence seq => seq -> Maybe (Element seq, Element seq, seq) #

class (Integral (Index seq), SemiSequence seq) => InsertDef seq where #

Insert a new element

Methods

insertDef :: Index seq -> Element seq -> seq -> seq #

Instances

Instances details
Default a => InsertDef [a] # 
Instance details

Defined in HelVM.HelIO.SequencesExtra

Methods

insertDef :: Index [a] -> Element [a] -> [a] -> [a] #

Default a => InsertDef (Seq a) # 
Instance details

Defined in HelVM.HelIO.SequencesExtra

Methods

insertDef :: Index (Seq a) -> Element (Seq a) -> Seq a -> Seq a #

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-SwitchEnum.html b/docs/reports/helio/HelVM-HelIO-SwitchEnum.html index c13f811..3e957f2 100644 --- a/docs/reports/helio/HelVM-HelIO-SwitchEnum.html +++ b/docs/reports/helio/HelVM-HelIO-SwitchEnum.html @@ -1 +1 @@ -HelVM.HelIO.SwitchEnum
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.SwitchEnum

Documentation

bothEnums :: (Bounded e, Enum e) => [e] #

enumFromBool :: (Bounded e, Enum e) => Bool -> e #

generateEnums :: (Bounded e, Enum e) => Int -> [e] #

defaultEnum :: (Bounded e, Enum e) => e #

unsafeEnum :: (Bounded e, Enum e) => Int -> e #

\ No newline at end of file +HelVM.HelIO.SwitchEnum
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.SwitchEnum

Documentation

bothEnums :: (Bounded e, Enum e) => [e] #

enumFromBool :: (Bounded e, Enum e) => Bool -> e #

generateEnums :: (Bounded e, Enum e) => Int -> [e] #

defaultEnum :: (Bounded e, Enum e) => e #

unsafeEnum :: (Bounded e, Enum e) => Int -> e #

\ No newline at end of file diff --git a/docs/reports/helio/HelVM-HelIO-ZipA.html b/docs/reports/helio/HelVM-HelIO-ZipA.html index 1b5b4f1..2eb0044 100644 --- a/docs/reports/helio/HelVM-HelIO-ZipA.html +++ b/docs/reports/helio/HelVM-HelIO-ZipA.html @@ -1 +1 @@ -HelVM.HelIO.ZipA
helio-0.1.2.3: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.ZipA

Synopsis

Documentation

(|><|) :: Applicative f => f a1 -> f b1 -> f (a1, b1) infixr 9 #

Deprecated, use HelVM.HelIO.CartesianProduct

(>><|) :: Applicative f => f (a1, a2) -> f b1 -> f (a1, a2, b1) infixr 9 #

(|><<) :: Applicative f => f a1 -> f (b1, b2) -> f (a1, b1, b2) infixr 9 #

(>*<) :: Applicative f => f a1 -> f b1 -> f (a1, b1) infixr 9 #

(>>*<) :: Applicative f => f (a1, a2) -> f b1 -> f (a1, a2, b1) infixr 9 #

(>*<<) :: Applicative f => f a1 -> f (b1, b2) -> f (a1, b1, b2) infixr 9 #

(>><) :: (a1, a2) -> b1 -> (a1, a2, b1) infixr 9 #

(><<) :: a1 -> (b1, b2) -> (a1, b1, b2) infixr 9 #

\ No newline at end of file +HelVM.HelIO.ZipA
helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.ZipA

Synopsis

Documentation

(|><|) :: Applicative f => f a1 -> f b1 -> f (a1, b1) infixr 9 #

Deprecated, use HelVM.HelIO.CartesianProduct

(>><|) :: Applicative f => f (a1, a2) -> f b1 -> f (a1, a2, b1) infixr 9 #

(|><<) :: Applicative f => f a1 -> f (b1, b2) -> f (a1, b1, b2) infixr 9 #

(>*<) :: Applicative f => f a1 -> f b1 -> f (a1, b1) infixr 9 #

(>>*<) :: Applicative f => f (a1, a2) -> f b1 -> f (a1, a2, b1) infixr 9 #

(>*<<) :: Applicative f => f a1 -> f (b1, b2) -> f (a1, b1, b2) infixr 9 #

(>><) :: (a1, a2) -> b1 -> (a1, a2, b1) infixr 9 #

(><<) :: a1 -> (b1, b2) -> (a1, b1, b2) infixr 9 #

\ No newline at end of file diff --git a/docs/reports/helio/doc-index-124.html b/docs/reports/helio/doc-index-124.html index 7779130..05547ce 100644 --- a/docs/reports/helio/doc-index-124.html +++ b/docs/reports/helio/doc-index-124.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - |)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - |)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-60.html b/docs/reports/helio/doc-index-60.html index 51715f3..a0a4981 100644 --- a/docs/reports/helio/doc-index-60.html +++ b/docs/reports/helio/doc-index-60.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - <)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - <)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-62.html b/docs/reports/helio/doc-index-62.html index cc4cfc8..aec8bb1 100644 --- a/docs/reports/helio/doc-index-62.html +++ b/docs/reports/helio/doc-index-62.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - >)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - >)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-63.html b/docs/reports/helio/doc-index-63.html index 2f0572e..6c20a05 100644 --- a/docs/reports/helio/doc-index-63.html +++ b/docs/reports/helio/doc-index-63.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - ?)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - ?)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-A.html b/docs/reports/helio/doc-index-A.html index 50a005d..a65662c 100644 --- a/docs/reports/helio/doc-index-A.html +++ b/docs/reports/helio/doc-index-A.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - A)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - A)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-All.html b/docs/reports/helio/doc-index-All.html index 5b986d3..650f850 100644 --- a/docs/reports/helio/doc-index-All.html +++ b/docs/reports/helio/doc-index-All.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index)
helio-0.1.2.3: HelIO - HelVM Common Library

Index

<?>HelVM.HelIO.Control.Safe
>*< 
1 (Function)HelVM.HelIO.CartesianProduct
2 (Function)HelVM.HelIO.ZipA
>*<< 
1 (Function)HelVM.HelIO.CartesianProduct
2 (Function)HelVM.HelIO.ZipA
><< 
1 (Function)HelVM.HelIO.CartesianProduct
2 (Function)HelVM.HelIO.ZipA
>>*< 
1 (Function)HelVM.HelIO.CartesianProduct
2 (Function)HelVM.HelIO.ZipA
>>< 
1 (Function)HelVM.HelIO.CartesianProduct
2 (Function)HelVM.HelIO.ZipA
>><|HelVM.HelIO.ZipA
???HelVM.HelIO.Extra
AccWithIndexedListHelVM.HelIO.Collections.MapList
ActHelVM.HelIO.Extra
ActMHelVM.HelIO.Extra
appendErrorHelVM.HelIO.Control.Safe
appendErrorTupleHelVM.HelIO.Control.Safe
appendErrorTupleListHelVM.HelIO.Control.Safe
BIOHelVM.HelIO.IO.BIO
bothEnumsHelVM.HelIO.SwitchEnum
BusinessHelVM.HelIO.Control.Business
businessHelVM.HelIO.Control.Business
BusinessTHelVM.HelIO.Control.Business
businessTHelVM.HelIO.Control.Business
businessToIOHelVM.HelIO.Control.Business
businessTToIOHelVM.HelIO.Control.Business
businessTToIOWithLogsHelVM.HelIO.Control.Business
businessTToIOWithoutLogsHelVM.HelIO.Control.Business
calculateLoggedHelVM.HelIO.IO.MockIO
calculateOutputHelVM.HelIO.IO.MockIO
charToDLHelVM.HelIO.Digit.Digitable
chunksOfHelVM.HelIO.Collections.SList
consDefHelVM.HelIO.Collections.MapList
ConsoleIOHelVM.HelIO.IO.Console
ControlHelVM.HelIO.Control.Control
controlHelVM.HelIO.Control.Control
ControlTHelVM.HelIO.Control.Control
controlTHelVM.HelIO.Control.Control
controlToIOHelVM.HelIO.Control.Control
controlTToIOHelVM.HelIO.Control.Control
controlTToIOWithLogsHelVM.HelIO.Control.Control
controlTToIOWithoutLogsHelVM.HelIO.Control.Control
convertHelVM.HelIO.ListLikeExtra
createMockIOHelVM.HelIO.IO.MockIO
defaultEnumHelVM.HelIO.SwitchEnum
DigitableHelVM.HelIO.Digit.Digitable
digitsToIntegralHelVM.HelIO.Digit.Digits
discard 
1 (Function)HelVM.HelIO.ListLikeExtra
2 (Function)HelVM.HelIO.SequencesExtra
EitherErrorHelVM.HelIO.Control.Safe
EitherLegacyHelVM.HelIO.Control.Safe
ElementHelVM.HelIO.IO.Console
enumFromBoolHelVM.HelIO.SwitchEnum
errorsToStringHelVM.HelIO.Control.Message
errorsToTextHelVM.HelIO.Control.Message
execMockIOBatchHelVM.HelIO.IO.MockIO
execMockIOWithInputHelVM.HelIO.IO.MockIO
FileReaderIOHelVM.HelIO.IO.FileReader
findMaybe 
1 (Function)HelVM.HelIO.Containers.MTIndexSafe
2 (Function)HelVM.HelIO.Containers.LLIndexSafe
findSafe 
1 (Function)HelVM.HelIO.Containers.MTIndexSafe
2 (Function)HelVM.HelIO.Containers.LLIndexSafe
findWithDefault 
1 (Function)HelVM.HelIO.Containers.MTIndexSafe
2 (Function)HelVM.HelIO.Containers.LLIndexSafe
flushHelVM.HelIO.IO.Console
fmconcatHelVM.HelIO.Containers.Extra
fromDigitHelVM.HelIO.Digit.Digitable
fromIndexedListHelVM.HelIO.Collections.MapList
fromIntMapHelVM.HelIO.Collections.MapList
fromJustWithHelVM.HelIO.Extra
fromJustWithTextHelVM.HelIO.Extra
fromMaybeOrDefHelVM.HelIO.Extra
generateEnumsHelVM.HelIO.SwitchEnum
genericChrHelVM.HelIO.Extra
headMaybeHelVM.HelIO.Extra
IndexedListHelVM.HelIO.Collections.MapList
indexMaybe 
1 (Function)HelVM.HelIO.Containers.MTIndexSafe
2 (Function)HelVM.HelIO.Containers.LLIndexSafe
IndexSafe 
1 (Type/Class)HelVM.HelIO.Containers.MTIndexSafe
2 (Type/Class)HelVM.HelIO.Containers.LLIndexSafe
indexSafe 
1 (Function)HelVM.HelIO.Containers.MTIndexSafe
2 (Function)HelVM.HelIO.Containers.LLIndexSafe
3 (Function)HelVM.HelIO.SequencesExtra
indexSafeByKeyHelVM.HelIO.Containers.Extra
indexSafeLLHelVM.HelIO.Containers.LLIndexSafe
InsertDef 
1 (Type/Class)HelVM.HelIO.Containers.LLInsertDef
2 (Type/Class)HelVM.HelIO.Containers.MTInsertDef
3 (Type/Class)HelVM.HelIO.SequencesExtra
insertDef 
1 (Function)HelVM.HelIO.Containers.LLInsertDef
2 (Function)HelVM.HelIO.Containers.MTInsertDef
3 (Function)HelVM.HelIO.SequencesExtra
ioExecMockIOBatchHelVM.HelIO.IO.MockIO
ioExecMockIOWithInputHelVM.HelIO.IO.MockIO
KeyHelVM.HelIO.Collections.MapList
liftEitherErrorHelVM.HelIO.Control.Safe
liftEitherLegacyHelVM.HelIO.Control.Safe
liftErrorHelVM.HelIO.Control.Safe
liftErrorTupleHelVM.HelIO.Control.Safe
liftErrorTupleListHelVM.HelIO.Control.Safe
liftErrorWithPrefixHelVM.HelIO.Control.Safe
liftErrorWithTupleListHelVM.HelIO.Control.Safe
liftExceptTHelVM.HelIO.Control.Safe
liftLoggerHelVM.HelIO.Control.Logger
liftMaybeOrErrorHelVM.HelIO.Control.Safe
liftMaybeOrErrorTupleHelVM.HelIO.Control.Safe
liftMaybeOrErrorTupleListHelVM.HelIO.Control.Safe
liftSafeHelVM.HelIO.Control.Safe
listFromDescListHelVM.HelIO.Collections.MapList
logDataHelVM.HelIO.Control.Logger
LoggerHelVM.HelIO.Control.Logger
loggerHelVM.HelIO.Control.Logger
loggerIOToIOHelVM.HelIO.Control.Logger
loggerIOToPTextIOHelVM.HelIO.Control.Logger
LoggerTHelVM.HelIO.Control.Logger
loggerTHelVM.HelIO.Control.Logger
loggerToIOHelVM.HelIO.Control.Logger
logMessageHelVM.HelIO.Control.Logger
logMessagesHelVM.HelIO.Control.Logger
logMessageTupleHelVM.HelIO.Control.Logger
logMessageTupleListHelVM.HelIO.Control.Logger
logsFromLoggerHelVM.HelIO.Control.Logger
logsFromLoggerTHelVM.HelIO.Control.Logger
logStrHelVM.HelIO.IO.Console
lookupHelVM.HelIO.SequencesExtra
makeAsciiStringHelVM.HelIO.Digit.ToDigit
makeAsciiString28HelVM.HelIO.Digit.ToDigit
makeAsciiString28FromListHelVM.HelIO.Digit.ToDigit
makeAsciiText28HelVM.HelIO.Digit.ToDigit
makeAsciiText28FromListHelVM.HelIO.Digit.ToDigit
makeDigitStringHelVM.HelIO.Digit.ToDigit
makeDigitStringFromListHelVM.HelIO.Digit.ToDigit
makeIntegralHelVM.HelIO.Digit.ToDigit
makeIntegral2HelVM.HelIO.Digit.ToDigit
makeIntegral2FromListHelVM.HelIO.Digit.ToDigit
makeIntegral7HelVM.HelIO.Digit.ToDigit
makeIntegral7FromListHelVM.HelIO.Digit.ToDigit
many1'HelVM.HelIO.Extra
MapList 
1 (Type/Class)HelVM.HelIO.Collections.MapList
2 (Data Constructor)HelVM.HelIO.Collections.MapList
mapListEmptyHelVM.HelIO.Collections.MapList
mapListFindMaybeHelVM.HelIO.Collections.MapList
mapListFromListHelVM.HelIO.Collections.MapList
mapListIndexMaybeHelVM.HelIO.Collections.MapList
mapListToListHelVM.HelIO.Collections.MapList
MapStringHelVM.HelIO.Collections.MapList
maybeOrErrorHelVM.HelIO.Control.Safe
maybeToFromList 
1 (Function)HelVM.HelIO.ListLikeExtra
2 (Function)HelVM.HelIO.SequencesExtra
maybeToSafeHelVM.HelIO.Control.Safe
MessageHelVM.HelIO.Control.Message
MessagesHelVM.HelIO.Control.Message
MessageTupleHelVM.HelIO.Control.Message
MockIOHelVM.HelIO.IO.MockIO
MockIODataHelVM.HelIO.IO.MockIO
MonadBusinessHelVM.HelIO.Control.Business
MonadControlHelVM.HelIO.Control.Control
MonadLoggerHelVM.HelIO.Control.Logger
MonadSafeHelVM.HelIO.Control.Safe
nameHelVM.HelIO.NamedValue
NamedValue 
1 (Type/Class)HelVM.HelIO.NamedValue
2 (Data Constructor)HelVM.HelIO.NamedValue
naturalIndexSafe 
1 (Function)HelVM.HelIO.Containers.MTIndexSafe
2 (Function)HelVM.HelIO.Containers.LLIndexSafe
3 (Function)HelVM.HelIO.SequencesExtra
naturalInsertDef 
1 (Function)HelVM.HelIO.Containers.LLInsertDef
2 (Function)HelVM.HelIO.Containers.MTInsertDef
naturalToDigitsHelVM.HelIO.Digit.Digits
naturalToDigits2HelVM.HelIO.Digit.Digits
naturalToDigits7HelVM.HelIO.Digit.Digits
naturalToDLHelVM.HelIO.Digit.Digitable
nonEmptyFromListHelVM.HelIO.Control.Safe
orErrorHelVM.HelIO.Control.Safe
orErrorTupleHelVM.HelIO.Control.Safe
ParserHelVM.HelIO.Extra
readFileTextUtf8HelVM.HelIO.Extra
readSafeHelVM.HelIO.ReadText
readTextMaybeHelVM.HelIO.ReadText
readTextSafeHelVM.HelIO.ReadText
readTextUnsafeHelVM.HelIO.ReadText
readUnsafeHelVM.HelIO.ReadText
removeLoggerHelVM.HelIO.Control.Logger
removeLoggerTHelVM.HelIO.Control.Logger
repeatedlyHelVM.HelIO.Extra
repeatedlyMHelVM.HelIO.Extra
runBusinessHelVM.HelIO.Control.Business
runBusinessTHelVM.HelIO.Control.Business
runControlHelVM.HelIO.Control.Control
runControlTHelVM.HelIO.Control.Control
runLoggerHelVM.HelIO.Control.Logger
runLoggerTHelVM.HelIO.Control.Logger
runMockIOHelVM.HelIO.IO.MockIO
runParserHelVM.HelIO.Extra
runSafeHelVM.HelIO.Control.Safe
runSafeTHelVM.HelIO.Control.Safe
SafeHelVM.HelIO.Control.Safe
safeExecMockIOBatchHelVM.HelIO.IO.MockIO
safeExecMockIOWithInputHelVM.HelIO.IO.MockIO
safeIOToIOHelVM.HelIO.Control.Safe
safeIOToPTextIOHelVM.HelIO.Control.Safe
SafeTHelVM.HelIO.Control.Safe
safeTHelVM.HelIO.Control.Safe
safeToEitherLegacyHelVM.HelIO.Control.Safe
safeToIOHelVM.HelIO.Control.Safe
safeToTextHelVM.HelIO.Control.Safe
safeTToIOHelVM.HelIO.Control.Safe
SafeWithMessages 
1 (Type/Class)HelVM.HelIO.Control.Control
2 (Type/Class)HelVM.HelIO.Control.Business
safeWithMessages 
1 (Function)HelVM.HelIO.Control.Control
2 (Function)HelVM.HelIO.Control.Business
safeWithMessagesToText 
1 (Function)HelVM.HelIO.Control.Control
2 (Function)HelVM.HelIO.Control.Business
showFoldableHelVM.HelIO.Containers.Extra
showPHelVM.HelIO.Extra
showToTextHelVM.HelIO.Extra
SList 
1 (Type/Class)HelVM.HelIO.Collections.SList
2 (Data Constructor)HelVM.HelIO.Collections.SList
sListConsHelVM.HelIO.Collections.SList
sListEmptyHelVM.HelIO.Collections.SList
sListFindHelVM.HelIO.Collections.SList
sListFromListHelVM.HelIO.Collections.SList
sListHeadHelVM.HelIO.Collections.SList
sListIndexHelVM.HelIO.Collections.SList
sListInitHelVM.HelIO.Collections.SList
sListIntersperseHelVM.HelIO.Collections.SList
sListLastHelVM.HelIO.Collections.SList
sListReplicateHelVM.HelIO.Collections.SList
sListReverseHelVM.HelIO.Collections.SList
sListSnocHelVM.HelIO.Collections.SList
sListSortByHelVM.HelIO.Collections.SList
sListTailHelVM.HelIO.Collections.SList
sListToListHelVM.HelIO.Collections.SList
sListUnconsHelVM.HelIO.Collections.SList
sListUnsafeAtHelVM.HelIO.Collections.SList
splitBy 
1 (Function)HelVM.HelIO.ListLikeExtra
2 (Function)HelVM.HelIO.SequencesExtra
splitOneOfHelVM.HelIO.Extra
SStringHelVM.HelIO.Collections.SList
stringToDLHelVM.HelIO.Digit.Digitable
stringToErrorsHelVM.HelIO.Control.Message
teeHelVM.HelIO.Extra
textToDLHelVM.HelIO.Digit.Digitable
toBits8HelVM.HelIO.Digit.Digitable
toBitsBySizeHelVM.HelIO.Digit.Digitable
toDescListHelVM.HelIO.Collections.MapList
ToDigitHelVM.HelIO.Digit.ToDigit
toDigitHelVM.HelIO.Digit.ToDigit
top 
1 (Function)HelVM.HelIO.ListLikeExtra
2 (Function)HelVM.HelIO.SequencesExtra
toUppersHelVM.HelIO.Extra
tupleListToMessageHelVM.HelIO.Control.Message
tupleToMessageHelVM.HelIO.Control.Message
uncons2 
1 (Function)HelVM.HelIO.ListLikeExtra
2 (Function)HelVM.HelIO.SequencesExtra
uncons2Safe 
1 (Function)HelVM.HelIO.ListLikeExtra
2 (Function)HelVM.HelIO.SequencesExtra
unconsSafe 
1 (Function)HelVM.HelIO.ListLikeExtra
2 (Function)HelVM.HelIO.SequencesExtra
unfoldrMHelVM.HelIO.Extra
UnitSafeWithMessages 
1 (Type/Class)HelVM.HelIO.Control.Control
2 (Type/Class)HelVM.HelIO.Control.Business
unMapListHelVM.HelIO.Collections.MapList
unsafeHelVM.HelIO.Control.Safe
unsafeEnumHelVM.HelIO.SwitchEnum
unSListHelVM.HelIO.Collections.SList
valueHelVM.HelIO.NamedValue
wFlushHelVM.HelIO.IO.Console
wGetCharHelVM.HelIO.IO.Console
wGetCharAsHelVM.HelIO.IO.Console
wGetContentsHelVM.HelIO.IO.Console
wGetContentsBSHelVM.HelIO.IO.Console
wGetContentsTextHelVM.HelIO.IO.Console
wGetDecAsHelVM.HelIO.IO.Console
wGetLineHelVM.HelIO.IO.Console
WithMessagesHelVM.HelIO.Control.Logger
withMessagesHelVM.HelIO.Control.Logger
wLogShowHelVM.HelIO.IO.Console
wLogStrHelVM.HelIO.IO.Console
wLogStrLnHelVM.HelIO.IO.Console
wPutAsCharHelVM.HelIO.IO.Console
wPutAsDecHelVM.HelIO.IO.Console
wPutCharHelVM.HelIO.IO.Console
wPutStrHelVM.HelIO.IO.Console
wPutStrLnHelVM.HelIO.IO.Console
wReadFileHelVM.HelIO.IO.FileReader
wrongTokenHelVM.HelIO.Digit.ToDigit
|><<HelVM.HelIO.ZipA
|><|HelVM.HelIO.ZipA
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index)
helio-0.1.2.4: HelIO - HelVM Common Library

Index

<?>HelVM.HelIO.Control.Safe
>*< 
1 (Function)HelVM.HelIO.CartesianProduct
2 (Function)HelVM.HelIO.ZipA
>*<< 
1 (Function)HelVM.HelIO.CartesianProduct
2 (Function)HelVM.HelIO.ZipA
><< 
1 (Function)HelVM.HelIO.CartesianProduct
2 (Function)HelVM.HelIO.ZipA
>>*< 
1 (Function)HelVM.HelIO.CartesianProduct
2 (Function)HelVM.HelIO.ZipA
>>< 
1 (Function)HelVM.HelIO.CartesianProduct
2 (Function)HelVM.HelIO.ZipA
>><|HelVM.HelIO.ZipA
???HelVM.HelIO.Extra
AccWithIndexedListHelVM.HelIO.Collections.MapList
ActHelVM.HelIO.Extra
ActMHelVM.HelIO.Extra
appendErrorHelVM.HelIO.Control.Safe
appendErrorTupleHelVM.HelIO.Control.Safe
appendErrorTupleListHelVM.HelIO.Control.Safe
BIOHelVM.HelIO.IO.BIO
bothEnumsHelVM.HelIO.SwitchEnum
BusinessHelVM.HelIO.Control.Business
businessHelVM.HelIO.Control.Business
BusinessTHelVM.HelIO.Control.Business
businessTHelVM.HelIO.Control.Business
businessToIOHelVM.HelIO.Control.Business
businessTToIOHelVM.HelIO.Control.Business
businessTToIOWithLogsHelVM.HelIO.Control.Business
businessTToIOWithoutLogsHelVM.HelIO.Control.Business
calculateLoggedHelVM.HelIO.IO.MockIO
calculateOutputHelVM.HelIO.IO.MockIO
charToDLHelVM.HelIO.Digit.Digitable
chunksOfHelVM.HelIO.Collections.SList
consDefHelVM.HelIO.Collections.MapList
ConsoleIOHelVM.HelIO.IO.Console
ControlHelVM.HelIO.Control.Control
controlHelVM.HelIO.Control.Control
ControlTHelVM.HelIO.Control.Control
controlTHelVM.HelIO.Control.Control
controlToIOHelVM.HelIO.Control.Control
controlTToIOHelVM.HelIO.Control.Control
controlTToIOWithLogsHelVM.HelIO.Control.Control
controlTToIOWithoutLogsHelVM.HelIO.Control.Control
convertHelVM.HelIO.ListLikeExtra
createMockIOHelVM.HelIO.IO.MockIO
defaultEnumHelVM.HelIO.SwitchEnum
DigitableHelVM.HelIO.Digit.Digitable
digitsToIntegralHelVM.HelIO.Digit.Digits
discard 
1 (Function)HelVM.HelIO.ListLikeExtra
2 (Function)HelVM.HelIO.SequencesExtra
EitherErrorHelVM.HelIO.Control.Safe
EitherLegacyHelVM.HelIO.Control.Safe
ElementHelVM.HelIO.IO.Console
enumFromBoolHelVM.HelIO.SwitchEnum
errorsToStringHelVM.HelIO.Control.Message
errorsToTextHelVM.HelIO.Control.Message
execMockIOBatchHelVM.HelIO.IO.MockIO
execMockIOWithInputHelVM.HelIO.IO.MockIO
FileReaderIOHelVM.HelIO.IO.FileReader
findMaybe 
1 (Function)HelVM.HelIO.Containers.MTIndexSafe
2 (Function)HelVM.HelIO.Containers.LLIndexSafe
findSafe 
1 (Function)HelVM.HelIO.Containers.MTIndexSafe
2 (Function)HelVM.HelIO.Containers.LLIndexSafe
findWithDefault 
1 (Function)HelVM.HelIO.Containers.MTIndexSafe
2 (Function)HelVM.HelIO.Containers.LLIndexSafe
flushHelVM.HelIO.IO.Console
fmconcatHelVM.HelIO.Containers.Extra
fromDigitHelVM.HelIO.Digit.Digitable
fromIndexedListHelVM.HelIO.Collections.MapList
fromIntMapHelVM.HelIO.Collections.MapList
fromJustWithHelVM.HelIO.Extra
fromJustWithTextHelVM.HelIO.Extra
fromMaybeOrDefHelVM.HelIO.Extra
generateEnumsHelVM.HelIO.SwitchEnum
genericChrHelVM.HelIO.Extra
headMaybeHelVM.HelIO.Extra
IndexedListHelVM.HelIO.Collections.MapList
indexMaybe 
1 (Function)HelVM.HelIO.Containers.MTIndexSafe
2 (Function)HelVM.HelIO.Containers.LLIndexSafe
IndexSafe 
1 (Type/Class)HelVM.HelIO.Containers.MTIndexSafe
2 (Type/Class)HelVM.HelIO.Containers.LLIndexSafe
indexSafe 
1 (Function)HelVM.HelIO.Containers.MTIndexSafe
2 (Function)HelVM.HelIO.Containers.LLIndexSafe
3 (Function)HelVM.HelIO.SequencesExtra
indexSafeByKeyHelVM.HelIO.Containers.Extra
indexSafeLLHelVM.HelIO.Containers.LLIndexSafe
InsertDef 
1 (Type/Class)HelVM.HelIO.Containers.LLInsertDef
2 (Type/Class)HelVM.HelIO.Containers.MTInsertDef
3 (Type/Class)HelVM.HelIO.SequencesExtra
insertDef 
1 (Function)HelVM.HelIO.Containers.LLInsertDef
2 (Function)HelVM.HelIO.Containers.MTInsertDef
3 (Function)HelVM.HelIO.SequencesExtra
ioExecMockIOBatchHelVM.HelIO.IO.MockIO
ioExecMockIOWithInputHelVM.HelIO.IO.MockIO
KeyHelVM.HelIO.Collections.MapList
liftEitherErrorHelVM.HelIO.Control.Safe
liftEitherLegacyHelVM.HelIO.Control.Safe
liftErrorHelVM.HelIO.Control.Safe
liftErrorTupleHelVM.HelIO.Control.Safe
liftErrorTupleListHelVM.HelIO.Control.Safe
liftErrorWithPrefixHelVM.HelIO.Control.Safe
liftErrorWithTupleListHelVM.HelIO.Control.Safe
liftExceptTHelVM.HelIO.Control.Safe
liftLoggerHelVM.HelIO.Control.Logger
liftMaybeOrErrorHelVM.HelIO.Control.Safe
liftMaybeOrErrorTupleHelVM.HelIO.Control.Safe
liftMaybeOrErrorTupleListHelVM.HelIO.Control.Safe
liftSafeHelVM.HelIO.Control.Safe
listFromDescListHelVM.HelIO.Collections.MapList
logDataHelVM.HelIO.Control.Logger
LoggerHelVM.HelIO.Control.Logger
loggerHelVM.HelIO.Control.Logger
loggerIOToIOHelVM.HelIO.Control.Logger
loggerIOToPTextIOHelVM.HelIO.Control.Logger
LoggerTHelVM.HelIO.Control.Logger
loggerTHelVM.HelIO.Control.Logger
loggerToIOHelVM.HelIO.Control.Logger
logMessageHelVM.HelIO.Control.Logger
logMessagesHelVM.HelIO.Control.Logger
logMessageTupleHelVM.HelIO.Control.Logger
logMessageTupleListHelVM.HelIO.Control.Logger
logsFromLoggerHelVM.HelIO.Control.Logger
logsFromLoggerTHelVM.HelIO.Control.Logger
logStrHelVM.HelIO.IO.Console
lookupHelVM.HelIO.SequencesExtra
makeAsciiStringHelVM.HelIO.Digit.ToDigit
makeAsciiString28HelVM.HelIO.Digit.ToDigit
makeAsciiString28FromListHelVM.HelIO.Digit.ToDigit
makeAsciiText28HelVM.HelIO.Digit.ToDigit
makeAsciiText28FromListHelVM.HelIO.Digit.ToDigit
makeDigitStringHelVM.HelIO.Digit.ToDigit
makeDigitStringFromListHelVM.HelIO.Digit.ToDigit
makeIntegralHelVM.HelIO.Digit.ToDigit
makeIntegral2HelVM.HelIO.Digit.ToDigit
makeIntegral2FromListHelVM.HelIO.Digit.ToDigit
makeIntegral7HelVM.HelIO.Digit.ToDigit
makeIntegral7FromListHelVM.HelIO.Digit.ToDigit
many1'HelVM.HelIO.Extra
MapList 
1 (Type/Class)HelVM.HelIO.Collections.MapList
2 (Data Constructor)HelVM.HelIO.Collections.MapList
mapListEmptyHelVM.HelIO.Collections.MapList
mapListFindMaybeHelVM.HelIO.Collections.MapList
mapListFromListHelVM.HelIO.Collections.MapList
mapListIndexMaybeHelVM.HelIO.Collections.MapList
mapListToListHelVM.HelIO.Collections.MapList
MapStringHelVM.HelIO.Collections.MapList
maybeOrErrorHelVM.HelIO.Control.Safe
maybeToFromList 
1 (Function)HelVM.HelIO.ListLikeExtra
2 (Function)HelVM.HelIO.SequencesExtra
maybeToSafeHelVM.HelIO.Control.Safe
MessageHelVM.HelIO.Control.Message
MessagesHelVM.HelIO.Control.Message
MessageTupleHelVM.HelIO.Control.Message
MockIOHelVM.HelIO.IO.MockIO
MockIODataHelVM.HelIO.IO.MockIO
MonadBusinessHelVM.HelIO.Control.Business
MonadControlHelVM.HelIO.Control.Control
MonadLoggerHelVM.HelIO.Control.Logger
MonadSafeHelVM.HelIO.Control.Safe
nameHelVM.HelIO.NamedValue
NamedValue 
1 (Type/Class)HelVM.HelIO.NamedValue
2 (Data Constructor)HelVM.HelIO.NamedValue
naturalIndexSafe 
1 (Function)HelVM.HelIO.Containers.MTIndexSafe
2 (Function)HelVM.HelIO.Containers.LLIndexSafe
3 (Function)HelVM.HelIO.SequencesExtra
naturalInsertDef 
1 (Function)HelVM.HelIO.Containers.LLInsertDef
2 (Function)HelVM.HelIO.Containers.MTInsertDef
naturalToDigitsHelVM.HelIO.Digit.Digits
naturalToDigits2HelVM.HelIO.Digit.Digits
naturalToDigits7HelVM.HelIO.Digit.Digits
naturalToDLHelVM.HelIO.Digit.Digitable
nonEmptyFromListHelVM.HelIO.Control.Safe
orErrorHelVM.HelIO.Control.Safe
orErrorTupleHelVM.HelIO.Control.Safe
ParserHelVM.HelIO.Extra
readFileTextUtf8HelVM.HelIO.Extra
readSafeHelVM.HelIO.ReadText
readTextMaybeHelVM.HelIO.ReadText
readTextSafeHelVM.HelIO.ReadText
readTextUnsafeHelVM.HelIO.ReadText
readUnsafeHelVM.HelIO.ReadText
removeLoggerHelVM.HelIO.Control.Logger
removeLoggerTHelVM.HelIO.Control.Logger
repeatedlyHelVM.HelIO.Extra
repeatedlyMHelVM.HelIO.Extra
runBusinessHelVM.HelIO.Control.Business
runBusinessTHelVM.HelIO.Control.Business
runControlHelVM.HelIO.Control.Control
runControlTHelVM.HelIO.Control.Control
runLoggerHelVM.HelIO.Control.Logger
runLoggerTHelVM.HelIO.Control.Logger
runMockIOHelVM.HelIO.IO.MockIO
runParserHelVM.HelIO.Extra
runSafeHelVM.HelIO.Control.Safe
runSafeTHelVM.HelIO.Control.Safe
SafeHelVM.HelIO.Control.Safe
safeExecMockIOBatchHelVM.HelIO.IO.MockIO
safeExecMockIOWithInputHelVM.HelIO.IO.MockIO
safeIOToIOHelVM.HelIO.Control.Safe
safeIOToPTextIOHelVM.HelIO.Control.Safe
SafeTHelVM.HelIO.Control.Safe
safeTHelVM.HelIO.Control.Safe
safeToEitherLegacyHelVM.HelIO.Control.Safe
safeToIOHelVM.HelIO.Control.Safe
safeToTextHelVM.HelIO.Control.Safe
safeTToIOHelVM.HelIO.Control.Safe
SafeWithMessages 
1 (Type/Class)HelVM.HelIO.Control.Control
2 (Type/Class)HelVM.HelIO.Control.Business
safeWithMessages 
1 (Function)HelVM.HelIO.Control.Control
2 (Function)HelVM.HelIO.Control.Business
safeWithMessagesToText 
1 (Function)HelVM.HelIO.Control.Control
2 (Function)HelVM.HelIO.Control.Business
showFoldableHelVM.HelIO.Containers.Extra
showPHelVM.HelIO.Extra
showToTextHelVM.HelIO.Extra
SList 
1 (Type/Class)HelVM.HelIO.Collections.SList
2 (Data Constructor)HelVM.HelIO.Collections.SList
sListConsHelVM.HelIO.Collections.SList
sListEmptyHelVM.HelIO.Collections.SList
sListFindHelVM.HelIO.Collections.SList
sListFromListHelVM.HelIO.Collections.SList
sListHeadHelVM.HelIO.Collections.SList
sListIndexHelVM.HelIO.Collections.SList
sListInitHelVM.HelIO.Collections.SList
sListIntersperseHelVM.HelIO.Collections.SList
sListLastHelVM.HelIO.Collections.SList
sListReplicateHelVM.HelIO.Collections.SList
sListReverseHelVM.HelIO.Collections.SList
sListSnocHelVM.HelIO.Collections.SList
sListSortByHelVM.HelIO.Collections.SList
sListTailHelVM.HelIO.Collections.SList
sListToListHelVM.HelIO.Collections.SList
sListUnconsHelVM.HelIO.Collections.SList
sListUnsafeAtHelVM.HelIO.Collections.SList
splitBy 
1 (Function)HelVM.HelIO.ListLikeExtra
2 (Function)HelVM.HelIO.SequencesExtra
splitOneOfHelVM.HelIO.Extra
SStringHelVM.HelIO.Collections.SList
stringToDLHelVM.HelIO.Digit.Digitable
stringToErrorsHelVM.HelIO.Control.Message
teeHelVM.HelIO.Extra
textToDLHelVM.HelIO.Digit.Digitable
toBits8HelVM.HelIO.Digit.Digitable
toBitsBySizeHelVM.HelIO.Digit.Digitable
toDescListHelVM.HelIO.Collections.MapList
ToDigitHelVM.HelIO.Digit.ToDigit
toDigitHelVM.HelIO.Digit.ToDigit
top 
1 (Function)HelVM.HelIO.ListLikeExtra
2 (Function)HelVM.HelIO.SequencesExtra
toUppersHelVM.HelIO.Extra
tupleListToMessageHelVM.HelIO.Control.Message
tupleToMessageHelVM.HelIO.Control.Message
uncons2 
1 (Function)HelVM.HelIO.ListLikeExtra
2 (Function)HelVM.HelIO.SequencesExtra
uncons2Safe 
1 (Function)HelVM.HelIO.ListLikeExtra
2 (Function)HelVM.HelIO.SequencesExtra
unconsSafe 
1 (Function)HelVM.HelIO.ListLikeExtra
2 (Function)HelVM.HelIO.SequencesExtra
unfoldrMHelVM.HelIO.Extra
UnitSafeWithMessages 
1 (Type/Class)HelVM.HelIO.Control.Control
2 (Type/Class)HelVM.HelIO.Control.Business
unMapListHelVM.HelIO.Collections.MapList
unsafeHelVM.HelIO.Control.Safe
unsafeEnumHelVM.HelIO.SwitchEnum
unSListHelVM.HelIO.Collections.SList
valueHelVM.HelIO.NamedValue
wFlushHelVM.HelIO.IO.Console
wGetCharHelVM.HelIO.IO.Console
wGetCharAsHelVM.HelIO.IO.Console
wGetContentsHelVM.HelIO.IO.Console
wGetContentsBSHelVM.HelIO.IO.Console
wGetContentsTextHelVM.HelIO.IO.Console
wGetDecAsHelVM.HelIO.IO.Console
wGetLineHelVM.HelIO.IO.Console
WithMessagesHelVM.HelIO.Control.Logger
withMessagesHelVM.HelIO.Control.Logger
wLogShowHelVM.HelIO.IO.Console
wLogStrHelVM.HelIO.IO.Console
wLogStrLnHelVM.HelIO.IO.Console
wPutAsCharHelVM.HelIO.IO.Console
wPutAsDecHelVM.HelIO.IO.Console
wPutCharHelVM.HelIO.IO.Console
wPutStrHelVM.HelIO.IO.Console
wPutStrLnHelVM.HelIO.IO.Console
wReadFileHelVM.HelIO.IO.FileReader
wrongTokenHelVM.HelIO.Digit.ToDigit
|><<HelVM.HelIO.ZipA
|><|HelVM.HelIO.ZipA
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-B.html b/docs/reports/helio/doc-index-B.html index b42d6d5..443cfcf 100644 --- a/docs/reports/helio/doc-index-B.html +++ b/docs/reports/helio/doc-index-B.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - B)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - B)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-C.html b/docs/reports/helio/doc-index-C.html index 9e25d17..3359933 100644 --- a/docs/reports/helio/doc-index-C.html +++ b/docs/reports/helio/doc-index-C.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - C)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - C)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-D.html b/docs/reports/helio/doc-index-D.html index ce06074..e99abd1 100644 --- a/docs/reports/helio/doc-index-D.html +++ b/docs/reports/helio/doc-index-D.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - D)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - D)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-E.html b/docs/reports/helio/doc-index-E.html index aa5466c..d942b3e 100644 --- a/docs/reports/helio/doc-index-E.html +++ b/docs/reports/helio/doc-index-E.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - E)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - E)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-F.html b/docs/reports/helio/doc-index-F.html index bd079bc..82258c0 100644 --- a/docs/reports/helio/doc-index-F.html +++ b/docs/reports/helio/doc-index-F.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - F)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - F)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-G.html b/docs/reports/helio/doc-index-G.html index 955a329..ed151a0 100644 --- a/docs/reports/helio/doc-index-G.html +++ b/docs/reports/helio/doc-index-G.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - G)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - G)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-H.html b/docs/reports/helio/doc-index-H.html index 103b8e1..303411c 100644 --- a/docs/reports/helio/doc-index-H.html +++ b/docs/reports/helio/doc-index-H.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - H)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - H)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-I.html b/docs/reports/helio/doc-index-I.html index 864a1e7..55d6f61 100644 --- a/docs/reports/helio/doc-index-I.html +++ b/docs/reports/helio/doc-index-I.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - I)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - I)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-K.html b/docs/reports/helio/doc-index-K.html index 109a4ea..e38b1e9 100644 --- a/docs/reports/helio/doc-index-K.html +++ b/docs/reports/helio/doc-index-K.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - K)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - K)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-L.html b/docs/reports/helio/doc-index-L.html index 607a3e4..539fa88 100644 --- a/docs/reports/helio/doc-index-L.html +++ b/docs/reports/helio/doc-index-L.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - L)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - L)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-M.html b/docs/reports/helio/doc-index-M.html index 0ef20ef..9821208 100644 --- a/docs/reports/helio/doc-index-M.html +++ b/docs/reports/helio/doc-index-M.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - M)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - M)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-N.html b/docs/reports/helio/doc-index-N.html index c6f22ec..90e8914 100644 --- a/docs/reports/helio/doc-index-N.html +++ b/docs/reports/helio/doc-index-N.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - N)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - N)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-O.html b/docs/reports/helio/doc-index-O.html index 6547991..9f7d6b5 100644 --- a/docs/reports/helio/doc-index-O.html +++ b/docs/reports/helio/doc-index-O.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - O)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - O)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-P.html b/docs/reports/helio/doc-index-P.html index 66cf091..1c2620a 100644 --- a/docs/reports/helio/doc-index-P.html +++ b/docs/reports/helio/doc-index-P.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - P)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - P)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-R.html b/docs/reports/helio/doc-index-R.html index 25e73f7..3db7d80 100644 --- a/docs/reports/helio/doc-index-R.html +++ b/docs/reports/helio/doc-index-R.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - R)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - R)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-S.html b/docs/reports/helio/doc-index-S.html index 535b3aa..9b56098 100644 --- a/docs/reports/helio/doc-index-S.html +++ b/docs/reports/helio/doc-index-S.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - S)
helio-0.1.2.3: HelIO - HelVM Common Library

Index - S

SafeHelVM.HelIO.Control.Safe
safeExecMockIOBatchHelVM.HelIO.IO.MockIO
safeExecMockIOWithInputHelVM.HelIO.IO.MockIO
safeIOToIOHelVM.HelIO.Control.Safe
safeIOToPTextIOHelVM.HelIO.Control.Safe
SafeTHelVM.HelIO.Control.Safe
safeTHelVM.HelIO.Control.Safe
safeToEitherLegacyHelVM.HelIO.Control.Safe
safeToIOHelVM.HelIO.Control.Safe
safeToTextHelVM.HelIO.Control.Safe
safeTToIOHelVM.HelIO.Control.Safe
SafeWithMessages 
1 (Type/Class)HelVM.HelIO.Control.Control
2 (Type/Class)HelVM.HelIO.Control.Business
safeWithMessages 
1 (Function)HelVM.HelIO.Control.Control
2 (Function)HelVM.HelIO.Control.Business
safeWithMessagesToText 
1 (Function)HelVM.HelIO.Control.Control
2 (Function)HelVM.HelIO.Control.Business
showFoldableHelVM.HelIO.Containers.Extra
showPHelVM.HelIO.Extra
showToTextHelVM.HelIO.Extra
SList 
1 (Type/Class)HelVM.HelIO.Collections.SList
2 (Data Constructor)HelVM.HelIO.Collections.SList
sListConsHelVM.HelIO.Collections.SList
sListEmptyHelVM.HelIO.Collections.SList
sListFindHelVM.HelIO.Collections.SList
sListFromListHelVM.HelIO.Collections.SList
sListHeadHelVM.HelIO.Collections.SList
sListIndexHelVM.HelIO.Collections.SList
sListInitHelVM.HelIO.Collections.SList
sListIntersperseHelVM.HelIO.Collections.SList
sListLastHelVM.HelIO.Collections.SList
sListReplicateHelVM.HelIO.Collections.SList
sListReverseHelVM.HelIO.Collections.SList
sListSnocHelVM.HelIO.Collections.SList
sListSortByHelVM.HelIO.Collections.SList
sListTailHelVM.HelIO.Collections.SList
sListToListHelVM.HelIO.Collections.SList
sListUnconsHelVM.HelIO.Collections.SList
sListUnsafeAtHelVM.HelIO.Collections.SList
splitBy 
1 (Function)HelVM.HelIO.ListLikeExtra
2 (Function)HelVM.HelIO.SequencesExtra
splitOneOfHelVM.HelIO.Extra
SStringHelVM.HelIO.Collections.SList
stringToDLHelVM.HelIO.Digit.Digitable
stringToErrorsHelVM.HelIO.Control.Message
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - S)
helio-0.1.2.4: HelIO - HelVM Common Library

Index - S

SafeHelVM.HelIO.Control.Safe
safeExecMockIOBatchHelVM.HelIO.IO.MockIO
safeExecMockIOWithInputHelVM.HelIO.IO.MockIO
safeIOToIOHelVM.HelIO.Control.Safe
safeIOToPTextIOHelVM.HelIO.Control.Safe
SafeTHelVM.HelIO.Control.Safe
safeTHelVM.HelIO.Control.Safe
safeToEitherLegacyHelVM.HelIO.Control.Safe
safeToIOHelVM.HelIO.Control.Safe
safeToTextHelVM.HelIO.Control.Safe
safeTToIOHelVM.HelIO.Control.Safe
SafeWithMessages 
1 (Type/Class)HelVM.HelIO.Control.Control
2 (Type/Class)HelVM.HelIO.Control.Business
safeWithMessages 
1 (Function)HelVM.HelIO.Control.Control
2 (Function)HelVM.HelIO.Control.Business
safeWithMessagesToText 
1 (Function)HelVM.HelIO.Control.Control
2 (Function)HelVM.HelIO.Control.Business
showFoldableHelVM.HelIO.Containers.Extra
showPHelVM.HelIO.Extra
showToTextHelVM.HelIO.Extra
SList 
1 (Type/Class)HelVM.HelIO.Collections.SList
2 (Data Constructor)HelVM.HelIO.Collections.SList
sListConsHelVM.HelIO.Collections.SList
sListEmptyHelVM.HelIO.Collections.SList
sListFindHelVM.HelIO.Collections.SList
sListFromListHelVM.HelIO.Collections.SList
sListHeadHelVM.HelIO.Collections.SList
sListIndexHelVM.HelIO.Collections.SList
sListInitHelVM.HelIO.Collections.SList
sListIntersperseHelVM.HelIO.Collections.SList
sListLastHelVM.HelIO.Collections.SList
sListReplicateHelVM.HelIO.Collections.SList
sListReverseHelVM.HelIO.Collections.SList
sListSnocHelVM.HelIO.Collections.SList
sListSortByHelVM.HelIO.Collections.SList
sListTailHelVM.HelIO.Collections.SList
sListToListHelVM.HelIO.Collections.SList
sListUnconsHelVM.HelIO.Collections.SList
sListUnsafeAtHelVM.HelIO.Collections.SList
splitBy 
1 (Function)HelVM.HelIO.ListLikeExtra
2 (Function)HelVM.HelIO.SequencesExtra
splitOneOfHelVM.HelIO.Extra
SStringHelVM.HelIO.Collections.SList
stringToDLHelVM.HelIO.Digit.Digitable
stringToErrorsHelVM.HelIO.Control.Message
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-T.html b/docs/reports/helio/doc-index-T.html index 744392b..3b66f4a 100644 --- a/docs/reports/helio/doc-index-T.html +++ b/docs/reports/helio/doc-index-T.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - T)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - T)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-U.html b/docs/reports/helio/doc-index-U.html index c3bfd36..83efc11 100644 --- a/docs/reports/helio/doc-index-U.html +++ b/docs/reports/helio/doc-index-U.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - U)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - U)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-V.html b/docs/reports/helio/doc-index-V.html index 23e9087..1b8a796 100644 --- a/docs/reports/helio/doc-index-V.html +++ b/docs/reports/helio/doc-index-V.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - V)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - V)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index-W.html b/docs/reports/helio/doc-index-W.html index 5e1ecea..f1a5826 100644 --- a/docs/reports/helio/doc-index-W.html +++ b/docs/reports/helio/doc-index-W.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index - W)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index - W)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/doc-index.html b/docs/reports/helio/doc-index.html index 6db8ecc..2471990 100644 --- a/docs/reports/helio/doc-index.html +++ b/docs/reports/helio/doc-index.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library (Index)
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library (Index)
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/helio/helio.haddock b/docs/reports/helio/helio.haddock index 94344dc..17cedac 100644 Binary files a/docs/reports/helio/helio.haddock and b/docs/reports/helio/helio.haddock differ diff --git a/docs/reports/helio/index.html b/docs/reports/helio/index.html index 9a20fdb..5cc3857 100644 --- a/docs/reports/helio/index.html +++ b/docs/reports/helio/index.html @@ -1 +1 @@ -helio-0.1.2.3: HelIO - HelVM Common Library
helio-0.1.2.3: HelIO - HelVM Common Library
\ No newline at end of file +helio-0.1.2.4: HelIO - HelVM Common Library
helio-0.1.2.4: HelIO - HelVM Common Library
\ No newline at end of file diff --git a/docs/reports/hlint.html b/docs/reports/hlint.html index e0df1de..b036341 100644 --- a/docs/reports/hlint.html +++ b/docs/reports/hlint.html @@ -161,34 +161,140 @@

All hints

All files

Report generated by HLint -v3.1.6 +v3.3.6 - a tool to suggest improvements to your Haskell code.

-hs/test/HelVM/HelIO/Collections/MapListSpec.hs:50:11-112: Suggestion: Reduce duplication
+hs/src/HelVM/HelIO/Collections/MapList.hs:88:19-64: Warning: Functor law
Found
-
it "mapListToList . fromIntIndexedList"
-  $ (mapListToList . fromIntIndexedList) input `shouldBe` output
-it "I.toList      . fromIntIndexedList"
-  $ (I.toList . fromIntIndexedList) input `shouldBe` output
-it "LL.toList     . fromIntIndexedList"
-  $ (LL.toList . fromIntIndexedList) input `shouldBe` output
-
+
fromIntMap <$> IntMap.insert i e <$> unMapList
Perhaps
-
Combine with hs/test/HelVM/HelIO/Collections/MapListSpec.hs:59:11-112
+
fromIntMap . IntMap.insert i e <$> unMapList
+ +
+ +
+hs/src/HelVM/HelIO/Collections/SList.hs:91:44-67: Warning: Functor law
+Found
+
Dual <$> Endo <$> flip f
+Perhaps
+
Dual . Endo <$> flip f
+ +
+ +
+hs/src/HelVM/HelIO/Collections/SList.hs:185:15-44: Warning: Functor law
+Found
+
SList <$> L.cons e <$> unSList
+Perhaps
+
SList . L.cons e <$> unSList
+ +
+ +
+hs/src/HelVM/HelIO/Collections/SList.hs:202:13-40: Warning: Functor law
+Found
+
SList <$> L.tail <$> unSList
+Perhaps
+
SList . L.tail <$> unSList
+ +
+ +
+hs/src/HelVM/HelIO/Collections/SList.hs:205:13-40: Warning: Functor law
+Found
+
SList <$> L.init <$> unSList
+Perhaps
+
SList . L.init <$> unSList
+ +
+ +
+hs/src/HelVM/HelIO/Collections/SList.hs:208:16-46: Warning: Functor law
+Found
+
SList <$> L.reverse <$> unSList
+Perhaps
+
SList . L.reverse <$> unSList
+ +
+ +
+hs/src/HelVM/HelIO/Collections/SList.hs:211:22-58: Warning: Functor law
+Found
+
SList <$> L.intersperse e <$> unSList
+Perhaps
+
SList . L.intersperse e <$> unSList
+ +
+ +
+hs/src/HelVM/HelIO/Collections/SList.hs:226:17-48: Warning: Functor law
+Found
+
SList <$> L.sortBy f <$> unSList
+Perhaps
+
SList . L.sortBy f <$> unSList
+ +
+ +
+hs/src/HelVM/HelIO/Control/Safe.hs:100:28-72: Warning: Functor law
+Found
+
liftSafe <$> maybeToSafe message <$> nonEmpty
+Perhaps
+
liftSafe . maybeToSafe message <$> nonEmpty
+ +
+ +
+hs/src/HelVM/HelIO/Digit/ToDigit.hs:39:21-68: Warning: Functor law
+Found
+
toText <$> S.sListToList <$> makeAsciiString28 l
+Perhaps
+
toText . S.sListToList <$> makeAsciiString28 l
+ +
+ +
+hs/src/HelVM/HelIO/IO/MockIO.hs:43:29-65: Warning: Functor law
+Found
+
pure <$> runMockIO i <$> runBusinessT
+Perhaps
+
pure . runMockIO i <$> runBusinessT
+ +
+ +
+hs/src/HelVM/HelIO/IO/MockIO.hs:106:22-70: Warning: Functor law
+Found
+
fromStrict <$> encodeUtf8 <$> mockGetContentsText
+Perhaps
+
fromStrict . encodeUtf8 <$> mockGetContentsText
+ +
+ +
+hs/src/HelVM/HelIO/IO/MockIO.hs:109:23-63: Warning: Functor law
+Found
+
fromStrict <$> toText <$> mockGetContents
+Perhaps
+
fromStrict . toText <$> mockGetContents
diff --git a/helio.cabal b/helio.cabal index 68ae7aa..c5e12c4 100644 --- a/helio.cabal +++ b/helio.cabal @@ -1,7 +1,7 @@ cabal-version: 2.4 name: helio -version: 0.1.2.3 +version: 0.1.2.4 synopsis: HelIO - HelVM Common Library description: Please see the README on GitHub at @@ -12,7 +12,7 @@ license: Apache-2.0 license-file: docs/license/LICENSE-APACHE author: Kamil Adam maintainer: kamil.adam.zabinski@gmail.com -copyright: 2020-2023 WriteOnly Developers +copyright: 2020-2024 WriteOnly Developers category: Language build-type: Simple diff --git a/hs/src/HelVM/HelIO/Collections/MapList.hs b/hs/src/HelVM/HelIO/Collections/MapList.hs index 9ee58ba..fb85859 100644 --- a/hs/src/HelVM/HelIO/Collections/MapList.hs +++ b/hs/src/HelVM/HelIO/Collections/MapList.hs @@ -19,31 +19,31 @@ mapListEmpty :: MapList a mapListEmpty = mapListFromList [] mapListFromList :: [a] -> MapList a -mapListFromList = fromIndexedList . List.indexed +mapListFromList = fromIndexedList <$> List.indexed fromIndexedList :: IndexedList a -> MapList a -fromIndexedList = fromIntMap . IntMap.fromList +fromIndexedList = fromIntMap <$> IntMap.fromList fromIntMap :: IntMap a -> MapList a fromIntMap = MapList -- | DeConstruction mapListToList :: Default a => MapList a -> [a] -mapListToList = listFromDescList . toDescList +mapListToList = listFromDescList <$> toDescList toDescList :: MapList a -> IndexedList a -toDescList = IntMap.toDescList . unMapList +toDescList = IntMap.toDescList <$> unMapList -- | Internal function listFromDescList :: Default a => IndexedList a -> [a] -listFromDescList = loop act . ([] , ) where +listFromDescList = loop act <$> ([] , ) where act :: Default a => AccWithIndexedList a -> Either (AccWithIndexedList a) [a] act (acc , [] ) = Right acc act (acc , [(i , v)] ) = Right $ consDef i $ v : acc act (acc , (i1 , v1) : (i2 , v2) : l ) = Left (consDef (i1 - i2 - 1) $ v1 : acc , (i2 , v2) : l) consDef :: Default a => Key -> [a] -> [a] -consDef i l = (check . compare i) 0 where +consDef i l = (check <$> compare i) 0 where check LT = error "MapList.consDef index is negative" check EQ = l check GT = consDef (i - 1) (def : l) @@ -60,7 +60,7 @@ newtype MapList a = MapList {unMapList :: IntMap a} -- | Standard instances instance (Default a , Show a) => Show (MapList a) where - show = show . I.toList + show = show <$> I.toList instance IsString MapString where fromString = mapListFromList @@ -69,27 +69,27 @@ instance Default a => IsList (MapList a) where type (Item (MapList a)) = a toList = mapListToList fromList = mapListFromList - fromListN n = mapListFromList . fromListN n + fromListN n = mapListFromList <$> fromListN n -- | ListLike instances instance Default a => LL.FoldableLL (MapList a) a where - foldl f b = IntMap.foldl f b . unMapList - foldr f b = IntMap.foldr f b . unMapList + foldl f b = IntMap.foldl f b <$> unMapList + foldr f b = IntMap.foldr f b <$> unMapList -- | My instances instance {-# OVERLAPPING #-} IndexSafe (MapList a) a where - findWithDefault e i = IntMap.findWithDefault e i . unMapList + findWithDefault e i = IntMap.findWithDefault e i <$> unMapList findMaybe = mapListFindMaybe indexMaybe = mapListIndexMaybe - findSafe i = liftMaybeOrError "MapList.findSafe: index is not correct" . mapListFindMaybe i - indexSafe l = liftMaybeOrError "MapList.LLIndexSafe: index is not correct" . mapListIndexMaybe l + findSafe i = liftMaybeOrError "MapList.findSafe: index is not correct" <$> mapListFindMaybe i + indexSafe l = liftMaybeOrError "MapList.LLIndexSafe: index is not correct" <$> mapListIndexMaybe l instance InsertDef (MapList a) a where - insertDef i e = fromIntMap . IntMap.insert i e . unMapList + insertDef i e = fromIntMap <$> IntMap.insert i e <$> unMapList -- | Internal functions mapListFindMaybe :: Key -> MapList a -> Maybe a -mapListFindMaybe i = IntMap.lookup i . unMapList +mapListFindMaybe i = IntMap.lookup i <$> unMapList mapListIndexMaybe :: MapList a -> Key -> Maybe a mapListIndexMaybe l i = unMapList l IntMap.!? i diff --git a/hs/src/HelVM/HelIO/Collections/SList.hs b/hs/src/HelVM/HelIO/Collections/SList.hs index 750e762..3093e88 100644 --- a/hs/src/HelVM/HelIO/Collections/SList.hs +++ b/hs/src/HelVM/HelIO/Collections/SList.hs @@ -26,11 +26,11 @@ sListEmpty :: SList a sListEmpty = SList mempty sListFromList :: [a] -> SList a -sListFromList = SList . fromList +sListFromList = SList <$> fromList -- | DeConstruction sListToList :: SList a -> [a] -sListToList = toList . unSList +sListToList = toList <$> unSList -- | Types type SString = SList Char @@ -42,16 +42,16 @@ newtype SList a = SList { unSList :: L.Slist a} -- | Standard instances instance Show a => Show (SList a) where - show = show . toList + show = show <$> toList instance IsString SString where - fromString = SList . L.slist + fromString = SList <$> L.slist instance IsList (SList a) where type (Item (SList a)) = a toList = sListToList fromList = sListFromList - fromListN n = SList . fromListN n + fromListN n = SList <$> fromListN n -- | MonoFoldable instances type instance MT.Element (SList a) = a @@ -88,7 +88,7 @@ instance S.IsSequence (SList a) where -- | ListLike instances instance LL.FoldableLL (SList a) a where -- foldl = F.foldl - foldl f z t = appEndo (getDual (foldMap (Dual . Endo . flip f) t)) z + foldl f z t = appEndo (getDual (foldMap (Dual <$> Endo <$> flip f) t)) z foldr = F.foldr foldl1 = F.foldl1 foldr1 = F.foldr1 @@ -106,7 +106,7 @@ instance LL.ListLike (SList a) a where last = sListLast tail = sListTail init = sListInit - null = L.isEmpty . unSList + null = L.isEmpty <$> unSList -- length = genericLength -- map = fmap rigidMap = fmap @@ -115,8 +115,8 @@ instance LL.ListLike (SList a) a where -- concat = fold -- concatMap = foldMap -- rigidConcatMap = concatMap --- any p = getAny . foldMap (Any . p) --- all p = getAll . foldMap (All . p) +-- any p = getAny <$> foldMap (Any <$> p) +-- all p = getAll <$> foldMap (All <$> p) -- maximum = foldr1 max -- minimum = foldr1 min replicate = sListReplicate @@ -127,7 +127,7 @@ instance LL.ListLike (SList a) a where -- dropWhile -- dropWhileEnd func = foldr (\x xs -> if func x && null xs then empty else cons x xs) empty -- span --- break p = span (not . p) +-- break p = span (not <$> p) -- group = groupBy (==) -- inits -- tails @@ -140,11 +140,11 @@ instance LL.ListLike (SList a) a where -- notElem i = all (/= i) find = sListFind -- filter --- partition p xs = (filter p xs, filter (not . p) xs) +-- partition p xs = (filter p xs, filter (not <$> p) xs) index = sListIndex -- elemIndex e l = findIndex (== e) l -- elemIndices i l = findIndices (== i) l --- findIndex f = listToMaybe . findIndices f +-- findIndex f = listToMaybe <$> findIndices f -- findIndices -- sequence -- mapM @@ -167,7 +167,7 @@ instance LL.ListLike (SList a) a where -- groupBy sortBy = sListSortBy -- insertBy - genericLength = L.genericLength . unSList + genericLength = L.genericLength <$> unSList -- genericTake -- genericDrop -- genericSplitAt n l = (genericTake n l, genericDrop n l) @@ -175,52 +175,52 @@ instance LL.ListLike (SList a) a where -- | My instances instance Default a => MT.InsertDef (SList a) where - insertDef i e = sListFromList. MT.insertDef i e . sListToList + insertDef i e = sListFromList. MT.insertDef i e <$> sListToList instance Default a => LL.InsertDef (SList a) a where - insertDef i e = sListFromList. LL.insertDef i e . sListToList + insertDef i e = sListFromList. LL.insertDef i e <$> sListToList -- | Internals sList sListCons :: a -> SList a -> SList a -sListCons e = SList . L.cons e . unSList +sListCons e = SList <$> L.cons e <$> unSList sListSnoc :: LL.ListLike a (I.Item a) => a -> I.Item a -> a sListSnoc l e = l <> LL.singleton e sListHead :: SList a -> a -sListHead = L.head . unSList +sListHead = L.head <$> unSList sListUncons :: SList a -> Maybe (a, SList a) -sListUncons l = wrap <$> (L.uncons . unSList) l where +sListUncons l = wrap <$> (L.uncons <$> unSList) l where wrap :: (a , L.Slist a) -> (a , SList a) wrap (a , l') = (a , SList l') sListLast :: SList a -> a -sListLast = L.last . unSList +sListLast = L.last <$> unSList sListTail :: SList a -> SList a -sListTail = SList . L.tail . unSList +sListTail = SList <$> L.tail <$> unSList sListInit :: SList a -> SList a -sListInit = SList . L.init . unSList +sListInit = SList <$> L.init <$> unSList sListReverse :: SList a -> SList a -sListReverse = SList . L.reverse . unSList +sListReverse = SList <$> L.reverse <$> unSList sListIntersperse :: a -> SList a -> SList a -sListIntersperse e = SList . L.intersperse e . unSList +sListIntersperse e = SList <$> L.intersperse e <$> unSList sListReplicate :: Int -> a -> SList a -sListReplicate e = SList . L.replicate e +sListReplicate e = SList <$> L.replicate e sListFind :: (a -> Bool) -> SList a -> Maybe a -sListFind e = find e . sListToList +sListFind e = find e <$> sListToList sListIndex :: SList a -> Int -> a sListIndex = flip sListUnsafeAt sListUnsafeAt :: Int -> SList a -> a -sListUnsafeAt i = L.unsafeAt i . unSList +sListUnsafeAt i = L.unsafeAt i <$> unSList sListSortBy :: (a -> a -> Ordering) -> SList a -> SList a -sListSortBy f = SList . L.sortBy f . unSList +sListSortBy f = SList <$> L.sortBy f <$> unSList diff --git a/hs/src/HelVM/HelIO/Containers/Extra.hs b/hs/src/HelVM/HelIO/Containers/Extra.hs index aa40617..b45dee9 100644 --- a/hs/src/HelVM/HelIO/Containers/Extra.hs +++ b/hs/src/HelVM/HelIO/Containers/Extra.hs @@ -11,5 +11,5 @@ showFoldable :: (Foldable c , Functor c , Show e) => c e -> Text showFoldable f = fmconcat $ show <$> f fmconcat :: (Foldable c , Monoid e) => c e -> e -fmconcat = mconcat . toList +fmconcat = mconcat <$> toList --fmconcat = foldr mappend mempty diff --git a/hs/src/HelVM/HelIO/Containers/LLIndexSafe.hs b/hs/src/HelVM/HelIO/Containers/LLIndexSafe.hs index acf38aa..7626669 100644 --- a/hs/src/HelVM/HelIO/Containers/LLIndexSafe.hs +++ b/hs/src/HelVM/HelIO/Containers/LLIndexSafe.hs @@ -9,7 +9,7 @@ import Prelude hiding (break, divMod, drop, fromList, -- | Index naturalIndexSafe :: (MonadSafe m , IndexSafe full item) => full -> Natural -> m item -naturalIndexSafe l = indexSafe l . fromIntegral +naturalIndexSafe l = indexSafe l <$> fromIntegral -- | Type Class class IndexSafe full item | full -> item where @@ -20,9 +20,9 @@ class IndexSafe full item | full -> item where indexSafe :: MonadSafe m => full -> Int -> m item instance ListLike full item => IndexSafe full item where - findWithDefault e i = fromMaybe e . findMaybe i + findWithDefault e i = fromMaybe e <$> findMaybe i findMaybe = flip indexMaybe - indexMaybe l = rightToMaybe . indexSafe l + indexMaybe l = rightToMaybe <$> indexSafe l findSafe = flip indexSafe indexSafe = indexSafeLL @@ -31,5 +31,5 @@ indexSafeLL :: (MonadSafe m , ListLike full item) => full -> Int -> m item indexSafeLL l i | i < 0 = liftErrorWithTupleList "LLIndexSafe.indexSafeLL: index must be >= 0" [("i" , show i)] | ll <= i = liftErrorWithTupleList "LLIndexSafe.indexSafeLL: index must not found" [("i" , show i) , ("length l" , show ll)] - | otherwise = (pure . index l) i + | otherwise = (pure <$> index l) i where ll = length l diff --git a/hs/src/HelVM/HelIO/Containers/LLInsertDef.hs b/hs/src/HelVM/HelIO/Containers/LLInsertDef.hs index 83a6cbf..1149b08 100644 --- a/hs/src/HelVM/HelIO/Containers/LLInsertDef.hs +++ b/hs/src/HelVM/HelIO/Containers/LLInsertDef.hs @@ -8,7 +8,7 @@ import qualified Data.Sequence as Seq -- | Insert a new element naturalInsertDef :: InsertDef full item => Natural -> item -> full -> full -naturalInsertDef = insertDef . fromIntegral +naturalInsertDef = insertDef <$> fromIntegral -- | Type Class class InsertDef full item | full -> item where @@ -21,7 +21,7 @@ instance Default a => InsertDef [a] a where insertDef i e (x:xs) = x : insertDef (i-1) e xs instance Default a => InsertDef (Seq a) a where - insertDef i e c = (check . Seq.length) c where + insertDef i e c = (check <$> Seq.length) c where check l | i < l = Seq.update i e c | otherwise = c <> Seq.replicate (i - l) def |> e diff --git a/hs/src/HelVM/HelIO/Containers/MTIndexSafe.hs b/hs/src/HelVM/HelIO/Containers/MTIndexSafe.hs index 0634cf3..e976ac7 100644 --- a/hs/src/HelVM/HelIO/Containers/MTIndexSafe.hs +++ b/hs/src/HelVM/HelIO/Containers/MTIndexSafe.hs @@ -11,7 +11,7 @@ import Prelude hiding (break, divMod, drop, fromList, -- | Index naturalIndexSafe :: (MonadSafe m , IndexSafe seq , Num $ Index seq) => seq -> Natural -> m $ Element seq -naturalIndexSafe l = indexSafe l . fromIntegral +naturalIndexSafe l = indexSafe l <$> fromIntegral -- | Type Class class IndexSafe seq where @@ -22,8 +22,8 @@ class IndexSafe seq where indexSafe :: MonadSafe m => seq -> Index seq -> m $ Element seq instance IsSequence seq => IndexSafe seq where - findWithDefault e i = fromMaybe e . findMaybe i + findWithDefault e i = fromMaybe e <$> findMaybe i findMaybe = flip indexMaybe - indexMaybe l = rightToMaybe . indexSafe l + indexMaybe l = rightToMaybe <$> indexSafe l findSafe = flip indexSafe - indexSafe l = liftMaybeOrError "MTIndexSafe.indexSafe:" . index l + indexSafe l = liftMaybeOrError "MTIndexSafe.indexSafe:" <$> index l diff --git a/hs/src/HelVM/HelIO/Containers/MTInsertDef.hs b/hs/src/HelVM/HelIO/Containers/MTInsertDef.hs index c9c4552..89be257 100644 --- a/hs/src/HelVM/HelIO/Containers/MTInsertDef.hs +++ b/hs/src/HelVM/HelIO/Containers/MTInsertDef.hs @@ -12,7 +12,7 @@ import qualified Data.Sequence as Seq -- | Insert a new element naturalInsertDef :: (InsertDef seq , Num $ Index seq) => Natural -> Element seq -> seq -> seq -naturalInsertDef = insertDef . fromIntegral +naturalInsertDef = insertDef <$> fromIntegral -- | Type Class class InsertDef seq where @@ -25,7 +25,7 @@ instance Default a => InsertDef [a] where insertDef i e (x:xs) = x : insertDef (i-1) e xs instance Default a => InsertDef (Seq a) where - insertDef i e c = (check . Seq.length) c where + insertDef i e c = (check <$> Seq.length) c where check l | i < l = Seq.update i e c | otherwise = c <> Seq.replicate (i - l) def |> e diff --git a/hs/src/HelVM/HelIO/Control/Business.hs b/hs/src/HelVM/HelIO/Control/Business.hs index 4578938..3df717d 100644 --- a/hs/src/HelVM/HelIO/Control/Business.hs +++ b/hs/src/HelVM/HelIO/Control/Business.hs @@ -41,10 +41,10 @@ businessTToIOWithLogs :: BusinessT IO a -> IO a businessTToIOWithLogs = safeWithMessagesToIOWithLogs <=< runBusinessT businessToIO :: Business a -> IO a -businessToIO = safeToIO . removeLogger +businessToIO = safeToIO <$> removeLogger runBusinessT :: BusinessT m a -> m $ SafeWithMessages a -runBusinessT = runLoggerT . runSafeT +runBusinessT = runLoggerT <$> runSafeT runBusiness :: Business a -> SafeWithMessages a runBusiness a = runLogger $ runSafe <$> a @@ -60,13 +60,13 @@ safeWithMessagesToText (safe , messages) = errorsToText messages <> safeToText s -- | Constructors businessT :: Monad m => m a -> BusinessT m a -businessT = safeT . loggerT +businessT = safeT <$> loggerT business :: a -> Business a -business = logger . pure +business = logger <$> pure safeWithMessages :: a -> SafeWithMessages a -safeWithMessages = withMessages . pure +safeWithMessages = withMessages <$> pure -- | Types type MonadBusiness m = (MonadLogger m , MonadSafe m) diff --git a/hs/src/HelVM/HelIO/Control/Control.hs b/hs/src/HelVM/HelIO/Control/Control.hs index 0981fb2..f986ba8 100644 --- a/hs/src/HelVM/HelIO/Control/Control.hs +++ b/hs/src/HelVM/HelIO/Control/Control.hs @@ -43,10 +43,10 @@ controlTToIOWithLogs :: ControlT IO a -> IO a controlTToIOWithLogs = safeWithMessagesToIOWithLogs <=< runControlT controlToIO :: Control a -> IO a -controlToIO = safeToIO . removeLogger +controlToIO = safeToIO <$> removeLogger runControlT :: ControlT m a -> m $ SafeWithMessages a -runControlT = runLoggerT . runSafeT +runControlT = runLoggerT <$> runSafeT runControl :: Control a -> SafeWithMessages a runControl a = runLogger $ runSafe <$> a @@ -62,13 +62,13 @@ safeWithMessagesToText (safe , messages) = errorsToText messages <> safeToText s -- | Constructors controlT :: Monad m => m a -> ControlT m a -controlT = safeT . loggerT +controlT = safeT <$> loggerT control :: a -> Control a -control = logger . pure +control = logger <$> pure safeWithMessages :: a -> SafeWithMessages a -safeWithMessages = withMessages . pure +safeWithMessages = withMessages <$> pure -- | Types type MonadControl m = (MonadLogger m, MonadSafe m) diff --git a/hs/src/HelVM/HelIO/Control/Logger.hs b/hs/src/HelVM/HelIO/Control/Logger.hs index 7351ec0..8b9a1aa 100644 --- a/hs/src/HelVM/HelIO/Control/Logger.hs +++ b/hs/src/HelVM/HelIO/Control/Logger.hs @@ -45,13 +45,13 @@ loggerIOToIO :: IO (Logger a) -> IO a loggerIOToIO a = loggerToIO =<< a loggerToIO :: Logger a -> IO a -loggerToIO = pure . removeLogger +loggerToIO = pure <$> removeLogger removeLoggerT :: Monad m => LoggerT m a -> m a removeLoggerT a = fst <$> runWriterT a removeLogger :: Logger a -> a -removeLogger = fst . runWriter +removeLogger = fst <$> runWriter runLoggerT :: LoggerT m a -> m (a , Messages) runLoggerT = runWriterT @@ -64,7 +64,7 @@ logsFromLoggerT :: Monad m => LoggerT m a -> m Messages logsFromLoggerT a = snd <$> runWriterT a logsFromLogger :: Logger a -> Messages -logsFromLogger = snd . runWriter +logsFromLogger = snd <$> runWriter -- | Constructors loggerT :: Monad m => m a -> LoggerT m a @@ -78,23 +78,23 @@ withMessages a = (a , D.empty) -- | Lift liftLogger :: MonadLogger m => Logger a -> m a -liftLogger = writer . runWriter +liftLogger = writer <$> runWriter -- | Append Messages logMessageTupleList :: MonadLogger m => [MessageTuple] -> m () -logMessageTupleList = logMessage . tupleListToMessage +logMessageTupleList = logMessage <$> tupleListToMessage logMessageTuple :: MonadLogger m => MessageTuple -> m () -logMessageTuple = logMessage . logTupleToMessage +logMessageTuple = logMessage <$> logTupleToMessage logTupleToMessage :: MessageTuple -> Message logTupleToMessage (k , v) = k <> ": " <> v logData :: (MonadLogger m , Show a) => a -> m () -logData = logMessage . show +logData = logMessage <$> show logMessage :: MonadLogger m => Message -> m () -logMessage = logMessages . D.singleton +logMessage = logMessages <$> D.singleton logMessages :: MonadLogger m => Messages -> m () logMessages = tell diff --git a/hs/src/HelVM/HelIO/Control/Message.hs b/hs/src/HelVM/HelIO/Control/Message.hs index 58d0341..3324f9e 100644 --- a/hs/src/HelVM/HelIO/Control/Message.hs +++ b/hs/src/HelVM/HelIO/Control/Message.hs @@ -4,14 +4,14 @@ import qualified Data.DList as D -- | Destructors errorsToText :: Messages -> Text -errorsToText = unlines . D.toList +errorsToText = unlines <$> D.toList errorsToString :: Messages -> String -errorsToString = toString . errorsToText +errorsToString = toString <$> errorsToText -- | Constructors stringToErrors :: String -> Messages -stringToErrors = D.singleton . toText +stringToErrors = D.singleton <$> toText tupleListToMessage :: [MessageTuple] -> Message tupleListToMessage xs = mconcat $ tupleToMessage <$> xs diff --git a/hs/src/HelVM/HelIO/Control/Safe.hs b/hs/src/HelVM/HelIO/Control/Safe.hs index 2260c2e..63456ed 100644 --- a/hs/src/HelVM/HelIO/Control/Safe.hs +++ b/hs/src/HelVM/HelIO/Control/Safe.hs @@ -66,10 +66,10 @@ safeIOToIO :: IO (Safe a) -> IO a safeIOToIO a = safeToIO =<< a safeToIO :: Safe a -> IO a -safeToIO = safeTToIO . liftSafe +safeToIO = safeTToIO <$> liftSafe safeTToIO :: SafeT IO a -> IO a -safeTToIO = liftExceptT . withExceptT (userError . errorsToString) +safeTToIO = liftExceptT <$> withExceptT (userError <$> errorsToString) runSafeT :: SafeT m a -> m (Safe a) runSafeT = runExceptT @@ -85,25 +85,25 @@ safeToEitherLegacy :: Safe a -> EitherLegacy a safeToEitherLegacy = first errorsToString orErrorTuple :: MessageTuple -> Safe a -> a -orErrorTuple t = unsafe . appendErrorTuple t +orErrorTuple t = unsafe <$> appendErrorTuple t orError :: Show e => e -> Safe a -> a -orError e = unsafe . appendError (show e) +orError e = unsafe <$> appendError (show e) unsafe :: Safe a -> a unsafe (Right a) = a -unsafe (Left a) = (error . errorsToText) a +unsafe (Left a) = (error <$> errorsToText) a -- | Constructors nonEmptyFromList :: MonadSafe m => Text -> [a] -> m $ NonEmpty a -nonEmptyFromList message = liftSafe . maybeToSafe message . nonEmpty +nonEmptyFromList message = liftSafe <$> maybeToSafe message <$> nonEmpty maybeOrError :: Show e => e -> Maybe a -> Safe a -maybeOrError = maybeToSafe . show +maybeOrError = maybeToSafe <$> show maybeToSafe :: Message -> Maybe a -> Safe a -maybeToSafe = maybeToRight . D.singleton +maybeToSafe = maybeToRight <$> D.singleton safeT :: Monad m => m a -> SafeT m a safeT a = ExceptT $ pure <$> a @@ -116,43 +116,43 @@ liftSafe :: MonadSafe m => Safe a -> m a liftSafe = liftEither liftEitherError :: MonadSafe m => EitherError a -> m a -liftEitherError = liftSafe . first D.singleton +liftEitherError = liftSafe <$> first D.singleton liftEitherLegacy :: MonadSafe m => EitherLegacy a -> m a -liftEitherLegacy = liftSafe . first stringToErrors +liftEitherLegacy = liftSafe <$> first stringToErrors -- | Lift from Maybe liftMaybeOrErrorTupleList :: MonadSafe m => [MessageTuple] -> Maybe a -> m a -liftMaybeOrErrorTupleList = liftMaybeOrError . tupleListToMessage +liftMaybeOrErrorTupleList = liftMaybeOrError <$> tupleListToMessage liftMaybeOrErrorTuple :: MonadSafe m => MessageTuple -> Maybe a -> m a -liftMaybeOrErrorTuple = liftMaybeOrError . tupleToMessage +liftMaybeOrErrorTuple = liftMaybeOrError <$> tupleToMessage liftMaybeOrError :: MonadSafe m => Message -> Maybe a -> m a -liftMaybeOrError e = liftSafe . maybeToRight (D.singleton e) +liftMaybeOrError e = liftSafe <$> maybeToRight (D.singleton e) -- | Lift from Message liftErrorWithTupleList :: MonadSafe m => Message -> [MessageTuple] -> m a liftErrorWithTupleList m l = liftError (m <> tupleListToMessage l) liftErrorTupleList :: MonadSafe m => [MessageTuple] -> m a -liftErrorTupleList = liftError . tupleListToMessage +liftErrorTupleList = liftError <$> tupleListToMessage liftErrorWithPrefix :: MonadSafe m => Message -> Message -> m a liftErrorWithPrefix prefix showed = liftErrorTuple (prefix , showed) liftErrorTuple :: MonadSafe m => MessageTuple -> m a -liftErrorTuple = liftError . tupleToMessage +liftErrorTuple = liftError <$> tupleToMessage liftError :: MonadSafe m => Message -> m a -liftError = throwError . D.singleton +liftError = throwError <$> D.singleton -- | Append Message appendErrorTupleList :: MonadSafe m => [MessageTuple] -> m a -> m a -appendErrorTupleList = appendError . tupleListToMessage +appendErrorTupleList = appendError <$> tupleListToMessage appendErrorTuple :: MonadSafe m => MessageTuple -> m a -> m a -appendErrorTuple = appendError . tupleToMessage +appendErrorTuple = appendError <$> tupleToMessage appendError :: MonadSafe m => Message -> m a -> m a appendError message a = catchError a appendAndThrow where appendAndThrow es = throwError (es `D.snoc` message) diff --git a/hs/src/HelVM/HelIO/Digit/Digitable.hs b/hs/src/HelVM/HelIO/Digit/Digitable.hs index b165df7..cd9ccc9 100644 --- a/hs/src/HelVM/HelIO/Digit/Digitable.hs +++ b/hs/src/HelVM/HelIO/Digit/Digitable.hs @@ -7,10 +7,10 @@ import HelVM.HelIO.Control.Safe -- | Public functions naturalToDL :: (MonadSafe m , Digitable a) => Natural -> m [a] -naturalToDL = traverse fromDigit . naturalToDigits2 +naturalToDL = traverse fromDigit <$> naturalToDigits2 textToDL :: (MonadSafe m , Digitable a) => Text -> m [a] -textToDL = stringToDL . toString +textToDL = stringToDL <$> toString stringToDL :: (MonadSafe m , Digitable a) => String -> m [a] stringToDL s = join <$> traverse charToDL s diff --git a/hs/src/HelVM/HelIO/Digit/Digits.hs b/hs/src/HelVM/HelIO/Digit/Digits.hs index 2d125fd..90c3b68 100644 --- a/hs/src/HelVM/HelIO/Digit/Digits.hs +++ b/hs/src/HelVM/HelIO/Digit/Digits.hs @@ -27,7 +27,7 @@ naturalToDigits2 :: Natural -> [Natural] naturalToDigits2 = naturalToDigits 2 naturalToDigits :: Natural -> Natural -> [Natural] -naturalToDigits base = LL.reverse . unfoldr (modDivMaybe base) +naturalToDigits base = LL.reverse <$> unfoldr (modDivMaybe base) modDivMaybe :: Natural -> Natural -> Maybe (Natural , Natural) modDivMaybe _ 0 = Nothing diff --git a/hs/src/HelVM/HelIO/Digit/ToDigit.hs b/hs/src/HelVM/HelIO/Digit/ToDigit.hs index 7778d81..9d44dcd 100644 --- a/hs/src/HelVM/HelIO/Digit/ToDigit.hs +++ b/hs/src/HelVM/HelIO/Digit/ToDigit.hs @@ -27,19 +27,19 @@ import qualified HelVM.HelIO.Collections.SList as S import qualified Data.ListLike as LL makeDigitStringFromList :: (MonadSafe m , ToDigit a) => [a] -> m S.SString -makeDigitStringFromList = makeDigitString . fromList +makeDigitStringFromList = makeDigitString <$> fromList makeDigitString :: (MonadSafe m , ToDigit a) => S.SList a -> m S.SString makeDigitString = traverse toDigitChar makeAsciiText28FromList :: (MonadSafe m , ToDigit a) => [a] -> m Text -makeAsciiText28FromList = makeAsciiText28 . fromList +makeAsciiText28FromList = makeAsciiText28 <$> fromList makeAsciiText28 :: (MonadSafe m , ToDigit a) => S.SList a -> m Text -makeAsciiText28 l = toText . S.sListToList <$> makeAsciiString28 l +makeAsciiText28 l = toText <$> S.sListToList <$> makeAsciiString28 l makeAsciiString28FromList :: (MonadSafe m , ToDigit a) => [a] -> m S.SString -makeAsciiString28FromList = makeAsciiString28 . fromList +makeAsciiString28FromList = makeAsciiString28 <$> fromList makeAsciiString28 :: (MonadSafe m , ToDigit a) => S.SList a -> m S.SString makeAsciiString28 = makeAsciiString 2 8 @@ -54,16 +54,16 @@ toDigitChar :: MonadSafe m => ToDigit a => a -> m Char toDigitChar a = integerToDigit <$> toDigit a integerToDigit :: Integer -> Char -integerToDigit = intToDigit . fromInteger +integerToDigit = intToDigit <$> fromInteger makeIntegral7FromList :: (MonadSafe m , ToDigit a, Integral b) => [a] -> m b -makeIntegral7FromList = makeIntegral7 . fromList +makeIntegral7FromList = makeIntegral7 <$> fromList makeIntegral7 :: (MonadSafe m , ToDigit a , Integral b) => S.SList a -> m b makeIntegral7 = makeIntegral 7 makeIntegral2FromList :: (MonadSafe m , ToDigit a, Integral b) => [a] -> m b -makeIntegral2FromList = makeIntegral2 . fromList +makeIntegral2FromList = makeIntegral2 <$> fromList makeIntegral2 :: (MonadSafe m , ToDigit a , Integral b) => S.SList a -> m b makeIntegral2 = makeIntegral 2 @@ -72,7 +72,7 @@ makeIntegral :: (MonadSafe m , ToDigit a , Integral b) => b -> S.SList a -> m b makeIntegral base digits = digitsToIntegral base (toDigit <$> digits) wrongToken :: (MonadSafe m , Show t) => t -> m a -wrongToken = liftErrorWithPrefix "Wrong token" . show +wrongToken = liftErrorWithPrefix "Wrong token" <$> show class ToDigit t where toDigit :: (MonadSafe m, Integral a) => t -> m a diff --git a/hs/src/HelVM/HelIO/Extra.hs b/hs/src/HelVM/HelIO/Extra.hs index f4f028b..853073d 100644 --- a/hs/src/HelVM/HelIO/Extra.hs +++ b/hs/src/HelVM/HelIO/Extra.hs @@ -12,7 +12,7 @@ import qualified Data.Text as Text -- | FilesExtra readFileTextUtf8 :: MonadIO m => FilePath -> m Text -readFileTextUtf8 = (pure . decodeUtf8) <=< readFileBS +readFileTextUtf8 = (pure <$> decodeUtf8) <=< readFileBS -- | TextExtra @@ -25,7 +25,7 @@ splitOneOf s = Text.split contains where contains c = c `elem` s -- | ShowExtra showP :: Show a => a -> Text -showP = toText . pShowNoColor +showP = toText <$> pShowNoColor showToText :: (Typeable a , Show a) => a -> Text showToText a = show a `fromMaybe` (cast a :: Maybe Text) @@ -33,7 +33,7 @@ showToText a = show a `fromMaybe` (cast a :: Maybe Text) -- | CharExtra genericChr :: Integral a => a -> Char -genericChr = chr . fromIntegral +genericChr = chr <$> fromIntegral -- | MaybeExtra @@ -62,7 +62,7 @@ unfoldrM f = go <=< f where go (Just (b, a')) = (b : ) <$> (go <=< f) a' --unfoldr :: (a -> Maybe (b, a)) -> a -> [b] ---unfoldr f = runIdentity . unfoldrM (Identity . f) +--unfoldr f = runIdentity <$> unfoldrM (Identity <$> f) runParser :: Monad m => Parser a b m -> [a] -> m [b] runParser f = go where @@ -73,7 +73,7 @@ repeatedlyM :: Monad m => Parser a b m -> [a] -> m [b] repeatedlyM = runParser repeatedly :: ([a] -> (b, [a])) -> [a] -> [b] -repeatedly f = runIdentity . repeatedlyM (Identity . f) +repeatedly f = runIdentity <$> repeatedlyM (Identity <$> f) -- | NonEmptyExtra @@ -84,7 +84,7 @@ many1' p = liftA2 (:|) p $ many p -- | `tee` is deprecated, use `<*>` tee :: (a -> b -> c) -> (a -> b) -> a -> c -tee f1 f2 a = (f1 a . f2) a +tee f1 f2 a = (f1 a <$> f2) a type Act s a = s -> Either s a type ActM m s a = s -> m (Either s a) diff --git a/hs/src/HelVM/HelIO/IO/Console.hs b/hs/src/HelVM/HelIO/IO/Console.hs index 31e752f..010c467 100644 --- a/hs/src/HelVM/HelIO/IO/Console.hs +++ b/hs/src/HelVM/HelIO/IO/Console.hs @@ -70,19 +70,19 @@ class Monad m => ConsoleIO m where wLogShow :: Show s => s -> m () wFlush :: m () - wPutAsChar = wPutIntAsChar . fromIntegral - wPutAsDec = wPutIntAsDec . fromIntegral + wPutAsChar = wPutIntAsChar <$> fromIntegral + wPutAsDec = wPutIntAsDec <$> fromIntegral wGetCharAs = fromIntegral <$> wGetCharAsInt wGetDecAs = fromIntegral <$> wGetDecAsInt - wPutIntAsChar = wPutChar . chr - wPutIntAsDec = wPutStr . show + wPutIntAsChar = wPutChar <$> chr + wPutIntAsDec = wPutStr <$> show wGetCharAsInt = ord <$> wGetChar wGetDecAsInt = readTextUnsafe <$> wGetLine wPutStrLn s = wPutStr $ s <> "\n" wLogStrLn s = wLogStr $ s <> "\n" - wLogShow = wLogStrLn . show + wLogShow = wLogStrLn <$> show wFlush = pass instance ConsoleIO (BusinessT IO) where @@ -91,10 +91,10 @@ instance ConsoleIO (BusinessT IO) where wGetContents = businessT getContents wGetChar = businessT getChar wGetLine = businessT getLine - wPutChar = businessT . putChar - wPutStr = businessT . putText - wPutStrLn = businessT . putTextLn - wLogStr = businessT . logStr + wPutChar = businessT <$> putChar + wPutStr = businessT <$> putText + wPutStrLn = businessT <$> putTextLn + wLogStr = businessT <$> logStr wFlush = businessT flush instance ConsoleIO (SafeT IO) where @@ -103,10 +103,10 @@ instance ConsoleIO (SafeT IO) where wGetContents = safeT getContents wGetChar = safeT getChar wGetLine = safeT getLine - wPutChar = safeT . putChar - wPutStr = safeT . putText - wPutStrLn = safeT . putTextLn - wLogStr = safeT . logStr + wPutChar = safeT <$> putChar + wPutStr = safeT <$> putText + wPutStrLn = safeT <$> putTextLn + wLogStr = safeT <$> logStr wFlush = safeT flush instance ConsoleIO (ExceptT String IO) where --FIXXME @@ -115,10 +115,10 @@ instance ConsoleIO (ExceptT String IO) where --FIXXME wGetContents = exceptTLegacy getContents wGetChar = exceptTLegacy getChar wGetLine = exceptTLegacy getLine - wPutChar = exceptTLegacy . putChar - wPutStr = exceptTLegacy . putText - wPutStrLn = exceptTLegacy . putTextLn - wLogStr = exceptTLegacy . logStr + wPutChar = exceptTLegacy <$> putChar + wPutStr = exceptTLegacy <$> putText + wPutStrLn = exceptTLegacy <$> putTextLn + wLogStr = exceptTLegacy <$> logStr wFlush = exceptTLegacy flush exceptTLegacy :: Monad m => m a -> ExceptTLegacy m a @@ -139,7 +139,7 @@ instance ConsoleIO IO where wFlush = flush logStr :: Text -> IO () -logStr = hPutStrLn stderr . toString +logStr = hPutStrLn stderr <$> toString flush :: IO () flush = hFlush stdout diff --git a/hs/src/HelVM/HelIO/IO/FileReader.hs b/hs/src/HelVM/HelIO/IO/FileReader.hs index b8baa83..c2a855d 100644 --- a/hs/src/HelVM/HelIO/IO/FileReader.hs +++ b/hs/src/HelVM/HelIO/IO/FileReader.hs @@ -13,13 +13,13 @@ class Monad m => FileReaderIO m where wReadFile :: FilePath -> m Text instance FileReaderIO (BusinessT IO) where - wReadFile = businessT . readFileTextUtf8 + wReadFile = businessT <$> readFileTextUtf8 instance FileReaderIO (LoggerT IO) where - wReadFile = loggerT . readFileTextUtf8 + wReadFile = loggerT <$> readFileTextUtf8 instance FileReaderIO (SafeT IO) where - wReadFile = safeT . readFileTextUtf8 + wReadFile = safeT <$> readFileTextUtf8 instance FileReaderIO IO where wReadFile = readFileTextUtf8 diff --git a/hs/src/HelVM/HelIO/IO/MockIO.hs b/hs/src/HelVM/HelIO/IO/MockIO.hs index dec1314..bf658ba 100644 --- a/hs/src/HelVM/HelIO/IO/MockIO.hs +++ b/hs/src/HelVM/HelIO/IO/MockIO.hs @@ -34,13 +34,13 @@ ioExecMockIOBatch :: BusinessT MockIO () -> IO MockIOData ioExecMockIOBatch = ioExecMockIOWithInput "" ioExecMockIOWithInput :: Text -> BusinessT MockIO () -> IO MockIOData -ioExecMockIOWithInput i = safeToIO . safeExecMockIOWithInput i +ioExecMockIOWithInput i = safeToIO <$> safeExecMockIOWithInput i safeExecMockIOBatch :: BusinessT MockIO () -> Safe MockIOData safeExecMockIOBatch = safeExecMockIOWithInput "" safeExecMockIOWithInput :: Text -> BusinessT MockIO () -> Safe MockIOData -safeExecMockIOWithInput i = pure . runMockIO i . runBusinessT +safeExecMockIOWithInput i = pure <$> runMockIO i <$> runBusinessT execMockIOBatch :: MockIO () -> MockIOData execMockIOBatch = execMockIOWithInput "" @@ -58,10 +58,10 @@ createMockIO :: Text -> MockIOData createMockIO i = MockIOData (toString i) "" "" calculateOutput :: MockIOData -> Text -calculateOutput = calculateText . output +calculateOutput = calculateText <$> output calculateLogged :: MockIOData -> Text -calculateLogged = calculateText . logged +calculateLogged = calculateText <$> logged ---- @@ -71,9 +71,9 @@ instance ConsoleIO (BusinessT MockIO) where wGetContents = businessT mockGetContents wGetChar = mockGetCharSafe wGetLine = mockGetLineSafe - wPutChar = businessT . mockPutChar - wPutStr = businessT . mockPutStr - wLogStr = businessT . mockLogStr + wPutChar = businessT <$> mockPutChar + wPutStr = businessT <$> mockPutStr + wLogStr = businessT <$> mockLogStr instance ConsoleIO (SafeT MockIO) where wGetContentsBS = safeT mockGetContentsBS @@ -81,9 +81,9 @@ instance ConsoleIO (SafeT MockIO) where wGetContents = safeT mockGetContents wGetChar = safeT mockGetChar wGetLine = safeT mockGetLine - wPutChar = safeT . mockPutChar - wPutStr = safeT . mockPutStr - wLogStr = safeT . mockLogStr + wPutChar = safeT <$> mockPutChar + wPutStr = safeT <$> mockPutStr + wLogStr = safeT <$> mockLogStr instance ConsoleIO MockIO where wGetContentsBS = mockGetContentsBS @@ -98,15 +98,15 @@ instance ConsoleIO MockIO where ---- instance FileReaderIO (BusinessT MockIO) where - wReadFile = pure . toText --FIXME + wReadFile = pure <$> toText --FIXME ---- mockGetContentsBS :: MonadMockIO m => m LBS.ByteString -mockGetContentsBS = fromStrict . encodeUtf8 <$> mockGetContentsText +mockGetContentsBS = fromStrict <$> encodeUtf8 <$> mockGetContentsText mockGetContentsText :: MonadMockIO m => m LT.Text -mockGetContentsText = fromStrict . toText <$> mockGetContents +mockGetContentsText = fromStrict <$> toText <$> mockGetContents mockGetContents :: MonadMockIO m => m String mockGetContents = mockGetContents' =<< get where @@ -136,13 +136,13 @@ mockGetLineSafe = mockGetLine' =<< get where mockPutChar :: Char -> MockIO () -mockPutChar = modify . mockDataPutChar +mockPutChar = modify <$> mockDataPutChar mockPutStr :: Text -> MockIO () -mockPutStr = modify . mockDataPutStr +mockPutStr = modify <$> mockDataPutStr mockLogStr :: Text -> MockIO () -mockLogStr = modify . mockDataLogStr +mockLogStr = modify <$> mockDataLogStr ---- @@ -166,10 +166,10 @@ type MonadMockIO m = MonadState MockIOData m type MockIO = State MockIOData calculateText :: String -> Text -calculateText = Text.reverse . toText +calculateText = Text.reverse <$> toText calculateString :: Text -> String -calculateString = toString . Text.reverse +calculateString = toString <$> Text.reverse data MockIOData = MockIOData { input :: !String diff --git a/hs/src/HelVM/HelIO/ListLikeExtra.hs b/hs/src/HelVM/HelIO/ListLikeExtra.hs index 76bfba6..1c650e0 100644 --- a/hs/src/HelVM/HelIO/ListLikeExtra.hs +++ b/hs/src/HelVM/HelIO/ListLikeExtra.hs @@ -8,7 +8,7 @@ import Prelude hiding (break, divMod, drop, fromList, -- | Construction convert :: (ListLike full1 item , ListLike full2 item) => full1 -> full2 -convert = fromList . toList +convert = fromList <$> toList maybeToFromList :: ListLike full item => Maybe item -> full maybeToFromList (Just e) = singleton e @@ -26,10 +26,10 @@ top :: (MonadSafe m , ListLike full item) => full -> m item top s = appendError "Error for top" $ fst <$> unconsSafe s unconsSafe :: (MonadSafe m , ListLike full item) => full -> m (item , full) -unconsSafe = liftMaybeOrError "Empty ListLike for unconsSafe" . uncons +unconsSafe = liftMaybeOrError "Empty ListLike for unconsSafe" <$> uncons uncons2Safe :: (MonadSafe m , ListLike full item) => full -> m (item , item , full) -uncons2Safe = liftMaybeOrError "Empty ListLike for uncons2Safe" . uncons2 +uncons2Safe = liftMaybeOrError "Empty ListLike for uncons2Safe" <$> uncons2 uncons2 :: ListLike full item => full -> Maybe (item, item, full) uncons2 = uncons2' <=< uncons where diff --git a/hs/src/HelVM/HelIO/ReadText.hs b/hs/src/HelVM/HelIO/ReadText.hs index d2930ee..5a9a363 100644 --- a/hs/src/HelVM/HelIO/ReadText.hs +++ b/hs/src/HelVM/HelIO/ReadText.hs @@ -9,19 +9,19 @@ module HelVM.HelIO.ReadText ( import HelVM.HelIO.Control.Safe readTextUnsafe :: Read a => Text -> a -readTextUnsafe = unsafe . readTextSafe +readTextUnsafe = unsafe <$> readTextSafe readTextSafe :: (MonadSafe m , Read a) => Text -> m a -readTextSafe = appendError <*> (readSafeWithoutError . toString) +readTextSafe = appendError <*> (readSafeWithoutError <$> toString) readTextMaybe :: Read a => Text -> Maybe a -readTextMaybe = readMaybe . toString +readTextMaybe = readMaybe <$> toString readUnsafe :: Read a => String -> a -readUnsafe = unsafe . readSafe +readUnsafe = unsafe <$> readSafe readSafe :: (MonadSafe m , Read a) => String -> m a -readSafe = (appendError . toText) <*> readSafeWithoutError +readSafe = (appendError <$> toText) <*> readSafeWithoutError readSafeWithoutError :: (MonadSafe m , Read a) => String -> m a -readSafeWithoutError = liftEitherError . readEither +readSafeWithoutError = liftEitherError <$> readEither diff --git a/hs/src/HelVM/HelIO/SequencesExtra.hs b/hs/src/HelVM/HelIO/SequencesExtra.hs index 8dfc163..2f9549f 100644 --- a/hs/src/HelVM/HelIO/SequencesExtra.hs +++ b/hs/src/HelVM/HelIO/SequencesExtra.hs @@ -21,10 +21,10 @@ maybeToFromList Nothing = mempty -- | Index naturalIndexSafe :: (MonadSafe m , Show seq , Show (Index seq) , IsSequence seq) => seq -> Natural -> m (Element seq) -naturalIndexSafe c = indexSafe c . fromIntegral +naturalIndexSafe c = indexSafe c <$> fromIntegral indexSafe :: (MonadSafe m , Show seq, Show (Index seq), IsSequence seq) => seq -> Index seq -> m (Element seq) -indexSafe c i = (liftMaybeOrErrorTupleList [("Lookup.LLIndexSafe" , show c) , ("index" , show i)] . index c) i +indexSafe c i = (liftMaybeOrErrorTupleList [("Lookup.LLIndexSafe" , show c) , ("index" , show i)] <$> index c) i lookup :: (MonadSafe m , Show seq, Show (Index seq), IsSequence seq) => Index seq -> seq -> m (Element seq) lookup = flip indexSafe @@ -41,10 +41,10 @@ top :: (MonadSafe m , IsSequence seq) => seq -> m $ Element seq top s = appendError "Error for top" $ fst <$> unconsSafe s unconsSafe :: (MonadSafe m , IsSequence seq) => seq -> m (Element seq , seq) -unconsSafe = liftMaybeOrError "Empty IsSequence for unconsSafe" . uncons +unconsSafe = liftMaybeOrError "Empty IsSequence for unconsSafe" <$> uncons uncons2Safe :: (MonadSafe m , IsSequence seq) => seq -> m (Element seq , Element seq , seq) -uncons2Safe = liftMaybeOrError "Empty IsSequence for uncons2Safe" . uncons2 +uncons2Safe = liftMaybeOrError "Empty IsSequence for uncons2Safe" <$> uncons2 uncons2 :: IsSequence seq => seq -> Maybe (Element seq, Element seq, seq) uncons2 = build <=< uncons where @@ -61,7 +61,7 @@ instance Default a => InsertDef [a] where insertDef i e (x : xs) = x : insertDef (i-1) e xs instance Default a => InsertDef (Seq a) where - insertDef i e c = (check . Seq.length) c where + insertDef i e c = (check <$> Seq.length) c where check l | i < l = Seq.update i e c | otherwise = c <> Seq.replicate (i - l) def |> e diff --git a/hs/src/HelVM/HelIO/SwitchEnum.hs b/hs/src/HelVM/HelIO/SwitchEnum.hs index ae3febb..6121d8a 100644 --- a/hs/src/HelVM/HelIO/SwitchEnum.hs +++ b/hs/src/HelVM/HelIO/SwitchEnum.hs @@ -8,7 +8,7 @@ bothEnums :: (Bounded e , Enum e) => [e] bothEnums = enumFromBool <$> [False , True] enumFromBool :: (Bounded e , Enum e) => Bool -> e -enumFromBool = unsafeEnum . fromEnum +enumFromBool = unsafeEnum <$> fromEnum generateEnums :: (Bounded e , Enum e) => Int -> [e] generateEnums i = unsafeEnum <$> [0 .. (i - 1)] diff --git a/hs/test/HelVM/GoldenExpectations.hs b/hs/test/HelVM/GoldenExpectations.hs index b9c13d8..2babff9 100644 --- a/hs/test/HelVM/GoldenExpectations.hs +++ b/hs/test/HelVM/GoldenExpectations.hs @@ -63,4 +63,4 @@ type GoldenIO a = IO $ Golden a instance Eq str => Example (GoldenExpectations str) where type Arg (GoldenExpectations str) = () evaluateExample wrapped params action callback = build =<< unGoldenExpectations wrapped where - build golden = evaluateExample golden params action callback + build unwrapped = evaluateExample unwrapped params action callback diff --git a/hs/test/HelVM/HelIO/Collections/MapListSpec.hs b/hs/test/HelVM/HelIO/Collections/MapListSpec.hs index 0db3967..47bb3a9 100644 --- a/hs/test/HelVM/HelIO/Collections/MapListSpec.hs +++ b/hs/test/HelVM/HelIO/Collections/MapListSpec.hs @@ -20,7 +20,7 @@ spec = do ] $ \(name , list) -> it name $ I.toList (fromList list :: MapList Int) `shouldBe` list - describe "toDescList . fromIntIndexedList" $ + describe "toDescList <$> fromIntIndexedList" $ forM_ [ ([(0,0)] , [(0,0)] ) , ([(0,1)] , [(0,1)] ) , ([(1,0)] , [(1,0)] ) @@ -32,7 +32,7 @@ spec = do , ([(5,2),(3,1)] , [(5,2),(3,1)]) , ([(3,1),(5,2)] , [(5,2),(3,1)]) ] $ \(input , output) -> - it (show input) $ (toDescList . fromIntIndexedList) input `shouldBe` output + it (show input) $ (toDescList <$> fromIntIndexedList) input `shouldBe` output describe "fromIntIndexedList" $ do describe "desc" $ @@ -47,18 +47,18 @@ spec = do ] $ \(input , output) -> describe (show input) $ do it " listFromIntDescList" $ listFromIntDescList input `shouldBe` output - it "mapListToList . fromIntIndexedList" $ (mapListToList . fromIntIndexedList) input `shouldBe` output - it "I.toList . fromIntIndexedList" $ (I.toList . fromIntIndexedList) input `shouldBe` output - it "LL.toList . fromIntIndexedList" $ (LL.toList . fromIntIndexedList) input `shouldBe` output + it "mapListToList <$> fromIntIndexedList" $ (mapListToList <$> fromIntIndexedList) input `shouldBe` output + it "I.toList <$> fromIntIndexedList" $ (I.toList <$> fromIntIndexedList) input `shouldBe` output + it "LL.toList <$> fromIntIndexedList" $ (LL.toList <$> fromIntIndexedList) input `shouldBe` output describe "asc" $ forM_ [ ([(1,1),(2,2)] , [0,1,2] ) , ([(3,1),(5,2)] , [0,0,0,1,0,2]) ] $ \(input , output) -> describe (show input) $ do - it "mapListToList . fromIntIndexedList" $ (mapListToList . fromIntIndexedList) input `shouldBe` output - it "I.toList . fromIntIndexedList" $ (I.toList . fromIntIndexedList) input `shouldBe` output - it "LL.toList . fromIntIndexedList" $ (LL.toList . fromIntIndexedList) input `shouldBe` output + it "mapListToList <$> fromIntIndexedList" $ (mapListToList <$> fromIntIndexedList) input `shouldBe` output + it "I.toList <$> fromIntIndexedList" $ (I.toList <$> fromIntIndexedList) input `shouldBe` output + it "LL.toList <$> fromIntIndexedList" $ (LL.toList <$> fromIntIndexedList) input `shouldBe` output listFromIntDescList :: [(Int , Int)] -> [Int] listFromIntDescList = listFromDescList