------------------------------------------------------------------------
-- The Agda standard library
--
-- Natural numbers: sum and product of lists
--
-- Issue #2553: this is a compatibility stub module,
-- ahead of a more thorough breaking set of changes.
------------------------------------------------------------------------

{-# OPTIONS --without-K --safe #-}

module Data.Nat.ListAction where

open import Data.List.Base using (List; []; _∷_; _++_; foldr; foldl)

open import Data.Nat.Base using (ℕ; _+_; _*_; _⊔′_; _⊓′_)


------------------------------------------------------------------------
-- Definitions

sum : List ℕ → ℕ
sum = foldr _+_ 0

product : List ℕ → ℕ
product = foldr _*_ 1

minimum : ℕ → List ℕ → ℕ
minimum = foldl _⊓′_

maximum : ℕ → List ℕ → ℕ
maximum = foldl _⊔′_