module Swarm.Game.Ingredients (
IngredientList,
Count,
getCost,
) where
type Count = Int
type IngredientList e = [(Count, e)]
getCost :: IngredientList e -> Int
getCost :: forall e. IngredientList e -> Int
getCost = [Int] -> Int
forall a. Num a => [a] -> a
forall (t :: * -> *) a. (Foldable t, Num a) => t a -> a
sum ([Int] -> Int)
-> (IngredientList e -> [Int]) -> IngredientList e -> Int
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Int, e) -> Int) -> IngredientList e -> [Int]
forall a b. (a -> b) -> [a] -> [b]
map (Int, e) -> Int
forall a b. (a, b) -> a
fst