{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE EmptyCase #-}
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}

{-# OPTIONS_GHC -Wno-overlapping-patterns #-}

module MAlonzo.Code.Data.Nat.ListAction where

import MAlonzo.RTE (coe, erased, AgdaAny, addInt, subInt, mulInt,
                    quotInt, remInt, geqInt, ltInt, eqInt, add64, sub64, mul64, quot64,
                    rem64, lt64, eq64, word64FromNat, word64ToNat)
import qualified MAlonzo.RTE
import qualified Data.Text
import qualified MAlonzo.Code.Data.List.Base

-- Data.Nat.ListAction.sum
d_sum_6 :: [Integer] -> Integer
d_sum_6 :: [Integer] -> Integer
d_sum_6
  = ((Any -> Any -> Any) -> Any -> [Any] -> Any)
-> Any -> Any -> [Integer] -> Integer
forall a b. a -> b
coe
      (Any -> Any -> Any) -> Any -> [Any] -> Any
MAlonzo.Code.Data.List.Base.du_foldr_216 ((Integer -> Integer -> Integer) -> Any
forall a b. a -> b
coe Integer -> Integer -> Integer
addInt)
      (Integer -> Any
forall a b. a -> b
coe (Integer
0 :: Integer))
-- Data.Nat.ListAction.product
d_product_8 :: [Integer] -> Integer
d_product_8 :: [Integer] -> Integer
d_product_8
  = ((Any -> Any -> Any) -> Any -> [Any] -> Any)
-> Any -> Any -> [Integer] -> Integer
forall a b. a -> b
coe
      (Any -> Any -> Any) -> Any -> [Any] -> Any
MAlonzo.Code.Data.List.Base.du_foldr_216 ((Integer -> Integer -> Integer) -> Any
forall a b. a -> b
coe Integer -> Integer -> Integer
mulInt)
      (Integer -> Any
forall a b. a -> b
coe (Integer
1 :: Integer))