{-# 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.IO.Primitive 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.Agda.Builtin.IO
import qualified MAlonzo.Code.Agda.Primitive

-- IO.Primitive.return
d_return_8 ::
  forall xa.
    forall xA.
      MAlonzo.Code.Agda.Primitive.T_Level_18 ->
      () -> xA -> MAlonzo.Code.Agda.Builtin.IO.T_IO_8 xa xA
d_return_8 :: forall xa xA. T_Level_18 -> T_Level_18 -> xA -> T_IO_8 xa xA
d_return_8 = \T_Level_18
_ T_Level_18
_ -> xA -> T_IO_8 xa xA
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return
-- IO.Primitive._>>=_
d__'62''62''61'__18 ::
  forall xa.
    forall xb.
      forall xA.
        forall xB.
          MAlonzo.Code.Agda.Primitive.T_Level_18 ->
          MAlonzo.Code.Agda.Primitive.T_Level_18 ->
          () ->
          () ->
          MAlonzo.Code.Agda.Builtin.IO.T_IO_8 xa xA ->
          (xA -> MAlonzo.Code.Agda.Builtin.IO.T_IO_8 xb xB) ->
          MAlonzo.Code.Agda.Builtin.IO.T_IO_8 xb xB
d__'62''62''61'__18 :: forall xa xb xA xB.
T_Level_18
-> T_Level_18
-> T_Level_18
-> T_Level_18
-> T_IO_8 xa xA
-> (xA -> T_IO_8 xb xB)
-> T_IO_8 xb xB
d__'62''62''61'__18 = \T_Level_18
_ T_Level_18
_ T_Level_18
_ T_Level_18
_ -> T_IO_8 xa xA -> (xA -> T_IO_8 xb xB) -> T_IO_8 xb xB
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
(>>=)
-- IO.Primitive.pure
d_pure_20 ::
  MAlonzo.Code.Agda.Primitive.T_Level_18 ->
  () ->
  AgdaAny -> MAlonzo.Code.Agda.Builtin.IO.T_IO_8 AgdaAny AgdaAny
d_pure_20 :: T_Level_18 -> T_Level_18 -> AgdaAny -> T_IO_8 AgdaAny AgdaAny
d_pure_20 = (T_Level_18 -> T_Level_18 -> AgdaAny -> T_IO_8 AgdaAny AgdaAny)
-> T_Level_18 -> T_Level_18 -> AgdaAny -> T_IO_8 AgdaAny AgdaAny
forall a b. a -> b
coe T_Level_18 -> T_Level_18 -> AgdaAny -> T_IO_8 AgdaAny AgdaAny
forall xa xA. T_Level_18 -> T_Level_18 -> xA -> T_IO_8 xa xA
d_return_8