{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module PlutusIR.Core.Instance.Flat () where
import PlutusIR.Core.Type
import PlutusCore qualified as PLC
import PlutusCore.Flat ()
import Flat (Flat)
deriving anyclass instance ( PLC.Closed uni
, uni `PLC.Everywhere` Flat
, Flat a
, Flat tyname
, Flat name
) => Flat (Datatype tyname name uni a)
deriving anyclass instance Flat Recursivity
deriving anyclass instance Flat Strictness
deriving anyclass instance ( PLC.Closed uni
, uni `PLC.Everywhere` Flat
, Flat fun
, Flat a
, Flat tyname
, Flat name
) => Flat (Binding tyname name uni fun a)
deriving anyclass instance ( PLC.Closed uni
, uni `PLC.Everywhere` Flat
, Flat fun
, Flat a
, Flat tyname
, Flat name
) => Flat (Term tyname name uni fun a)
deriving anyclass instance ( PLC.Closed uni
, uni `PLC.Everywhere` Flat
, Flat fun
, Flat a
, Flat tyname
, Flat name
) => Flat (Program tyname name uni fun a)