Defunction-ify item modules, requires more cleanup
This commit is contained in:
+13
-4
@@ -3,15 +3,24 @@ module Dodge.Module
|
||||
, moduleStrings
|
||||
) where
|
||||
import Dodge.Data
|
||||
--import Dodge.Combine.Module
|
||||
|
||||
import qualified Data.Map.Strict as M
|
||||
import Control.Lens
|
||||
import Data.Maybe
|
||||
|
||||
--moduleSizes :: Item -> Int
|
||||
--moduleSizes = moduleFold (+) (^? modSize) 0
|
||||
moduleSizes :: Item -> Int
|
||||
moduleSizes = moduleFold (+) (^? modSize) 0
|
||||
moduleSizes = length . _iyModules . _itType
|
||||
|
||||
--moduleStrings :: Item -> [String]
|
||||
--moduleStrings = moduleFold (++) (^? modName) []
|
||||
moduleStrings :: Item -> [String]
|
||||
moduleStrings = moduleFold (++) (^? modName) []
|
||||
moduleStrings = map show . M.elems . _iyModules . _itType
|
||||
|
||||
moduleFold :: (m -> m -> m) -> (ItemModule -> Maybe m) -> m -> Item -> m
|
||||
moduleFold g f e = foldr (g . fromMaybe e . f) e . _itModules
|
||||
--moduleFold :: (m -> m -> m) -> (ItemModule -> Maybe m) -> m -> Item -> m
|
||||
--moduleFold g f e = foldr (g . fromMaybe e . f) e
|
||||
-- . fmap fromModuleType
|
||||
-- . _iyModules
|
||||
-- . _itType
|
||||
|
||||
Reference in New Issue
Block a user