{-# LANGUAGE BlockArguments      #-}
{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE OverloadedStrings   #-}
{-# LANGUAGE TemplateHaskell     #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications    #-}
{-# LANGUAGE ViewPatterns        #-}

module Dovetail.Core 
  ( 
  -- ** Building core libraries
    CoreBuild(..)
  , buildModules
  
  -- ** Package collections
  , allPackages
  , minimal
  
  -- ** Individual packages
  , arrays
  , assert
  , bifunctors
  , catenableLists
  , console
  , _const
  , contravariant
  , control
  , distributive
  , effect
  , _either
  , enums
  , exceptions
  , exists
  , foldableTraversable
  , orders
  , free
  , functions
  , functors
  , gen
  , graphs
  , identity
  , integers
  , invariant
  , lazy
  , lcg
  , lists
  , math
  , _maybe
  , _newtype
  , nonempty
  , numbers
  , orderedCollections
  , typelevelPrelude
  , parallel
  , partial
  , prelude
  , profunctor
  , psciSupport
  , quickcheck
  , random
  , record
  , refs
  , safeCoerce
  , semirings
  , st
  , strings
  , tailrec
  , transformers
  , tuples
  , typeEquality
  , unfoldable
  , unsafeCoerce
  , validation
  ) where

import Codec.Serialise qualified as Codec
import Data.Aeson (decodeStrict)
import Data.Aeson.Types (parseEither)
import Data.ByteString qualified as BS
import Data.ByteString.Lazy qualified as BL
import Data.FileEmbed
import Data.Foldable (fold, traverse_)
import Data.Maybe (fromJust, maybeToList)
import Data.HashMap.Strict (HashMap)
import Data.HashMap.Strict qualified as HashMap
import Data.Text (Text)
import Data.Text qualified as Text
import Data.Traversable (for)
import Data.Typeable (Typeable)
import Dovetail
import Dovetail.Core.Modules (modules)
import Language.Haskell.TH.Syntax qualified as TH
import Language.PureScript.CoreFn.FromJSON qualified as FromJSON
import System.FilePath ((</>))

import Dovetail.Core.Control.Apply qualified as Control.Apply
import Dovetail.Core.Control.Bind qualified as Control.Bind
import Dovetail.Core.Control.Extend qualified as Control.Extend
import Dovetail.Core.Control.Monad.ST.Internal qualified as Control.Monad.ST.Internal
import Dovetail.Core.Data.Array qualified as Data.Array
import Dovetail.Core.Data.Array.NonEmpty.Internal qualified as Data.Array.NonEmpty.Internal
import Dovetail.Core.Data.Array.ST qualified as Data.Array.ST
import Dovetail.Core.Data.Array.ST.Partial qualified as Data.Array.ST.Partial
import Dovetail.Core.Data.Bounded qualified as Data.Bounded
import Dovetail.Core.Data.Enum qualified as Data.Enum
import Dovetail.Core.Data.Eq qualified as Data.Eq
import Dovetail.Core.Data.EuclideanRing qualified as Data.EuclideanRing
import Dovetail.Core.Data.Foldable qualified as Data.Foldable
import Dovetail.Core.Data.Function.Uncurried qualified as Data.Function.Uncurried
import Dovetail.Core.Data.Functor qualified as Data.Functor
import Dovetail.Core.Data.FunctorWithIndex qualified as Data.FunctorWithIndex
import Dovetail.Core.Data.HeytingAlgebra qualified as Data.HeytingAlgebra
import Dovetail.Core.Data.Int qualified as Data.Int
import Dovetail.Core.Data.Int.Bits qualified as Data.Int.Bits
import Dovetail.Core.Data.Lazy qualified as Data.Lazy
import Dovetail.Core.Data.Number qualified as Data.Number
import Dovetail.Core.Data.Number.Format qualified as Data.Number.Format
import Dovetail.Core.Data.Ord qualified as Data.Ord
import Dovetail.Core.Data.Ring qualified as Data.Ring
import Dovetail.Core.Data.Semigroup qualified as Data.Semigroup
import Dovetail.Core.Data.Semiring qualified as Data.Semiring
import Dovetail.Core.Data.Show qualified as Data.Show
import Dovetail.Core.Data.Show.Generic qualified as Data.Show.Generic
import Dovetail.Core.Data.String.CodePoints qualified as Data.String.CodePoints
import Dovetail.Core.Data.String.CodeUnits qualified as Data.String.CodeUnits
import Dovetail.Core.Data.String.Common qualified as Data.String.Common
import Dovetail.Core.Data.String.Regex qualified as Data.String.Regex
import Dovetail.Core.Data.String.Unsafe qualified as Data.String.Unsafe
import Dovetail.Core.Data.Symbol qualified as Data.Symbol
import Dovetail.Core.Data.Traversable qualified as Data.Traversable
import Dovetail.Core.Data.Unfoldable qualified as Data.Unfoldable
import Dovetail.Core.Data.Unfoldable1 qualified as Data.Unfoldable1
import Dovetail.Core.Data.Unit qualified as Data.Unit
import Dovetail.Core.Effect qualified as Effect
import Dovetail.Core.Effect.Console qualified as Effect.Console
import Dovetail.Core.Effect.Exception qualified as Effect.Exception
import Dovetail.Core.Effect.Random qualified as Effect.Random
import Dovetail.Core.Effect.Ref qualified as Effect.Ref
import Dovetail.Core.Effect.Uncurried qualified as Effect.Uncurried
import Dovetail.Core.Effect.Unsafe qualified as Effect.Unsafe
import Dovetail.Core.Math qualified as Math
import Dovetail.Core.Partial qualified as Partial
import Dovetail.Core.Partial.Unsafe qualified as Partial.Unsafe
import Dovetail.Core.Record.Builder qualified as Record.Builder
import Dovetail.Core.Record.Unsafe qualified as Record.Unsafe
import Dovetail.Core.Record.Unsafe.Union qualified as Record.Unsafe.Union
import Dovetail.Core.Test.Assert qualified as Test.Assert
import Dovetail.Core.Unsafe.Coerce qualified as Unsafe.Coerce
  
$(concat <$> for modules \moduleName -> do
    externsFile <- makeRelativeToProject ("purs/output/" </> Text.unpack moduleName </> "externs.cbor")
    coreFnFile  <- makeRelativeToProject ("purs/output/" </> Text.unpack moduleName </> "corefn.json")
    let declName = TH.mkName . Text.unpack $ "_" <> Text.replace "." "_" moduleName
    declType <- [t| (Text, (BS.ByteString, BS.ByteString)) |]
    declExpr <- [e| (moduleName, ($(embedFile externsFile), $(embedFile coreFnFile))) |]
    pure [ TH.SigD declName declType 
         , TH.ValD (TH.VarP declName) (TH.NormalB declExpr) []
         ]
 )
 
data CoreBuild ctx = CoreBuild
  { CoreBuild ctx -> HashMap Text (ByteString, ByteString)
buildInputs :: HashMap Text (BS.ByteString, BS.ByteString)
  , CoreBuild ctx -> Env ctx
env :: Env ctx
  }
  
instance Semigroup (CoreBuild ctx) where
  CoreBuild HashMap Text (ByteString, ByteString)
bi1 Env ctx
e1 <> :: CoreBuild ctx -> CoreBuild ctx -> CoreBuild ctx
<> CoreBuild HashMap Text (ByteString, ByteString)
bi2 Env ctx
e2 = HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild (HashMap Text (ByteString, ByteString)
bi1 HashMap Text (ByteString, ByteString)
-> HashMap Text (ByteString, ByteString)
-> HashMap Text (ByteString, ByteString)
forall a. Semigroup a => a -> a -> a
<> HashMap Text (ByteString, ByteString)
bi2) (Env ctx
e1 Env ctx -> Env ctx -> Env ctx
forall a. Semigroup a => a -> a -> a
<> Env ctx
e2)

instance Monoid (CoreBuild ctx) where
  mempty :: CoreBuild ctx
mempty = HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild HashMap Text (ByteString, ByteString)
forall a. Monoid a => a
mempty Env ctx
forall a. Monoid a => a
mempty

buildModules :: forall ctx. Typeable ctx => CoreBuild ctx -> Interpret ctx ()
buildModules :: CoreBuild ctx -> Interpret ctx ()
buildModules CoreBuild ctx
bld = do
    Env ctx -> Interpret ctx ()
forall ctx. Env ctx -> Interpret ctx ()
loadEnv (CoreBuild ctx -> Env ctx
forall ctx. CoreBuild ctx -> Env ctx
env CoreBuild ctx
bld)
    let orderedInputs :: [(Text, (ByteString, ByteString))]
orderedInputs = [ (Text
mn, (ByteString, ByteString)
inputs)
                        | Text
mn <- [Text]
modules
                        , (ByteString, ByteString)
inputs <- Maybe (ByteString, ByteString) -> [(ByteString, ByteString)]
forall a. Maybe a -> [a]
maybeToList (Text
-> HashMap Text (ByteString, ByteString)
-> Maybe (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => k -> HashMap k v -> Maybe v
HashMap.lookup Text
mn (CoreBuild ctx -> HashMap Text (ByteString, ByteString)
forall ctx. CoreBuild ctx -> HashMap Text (ByteString, ByteString)
buildInputs CoreBuild ctx
bld))
                        ]
    ((Text, (ByteString, ByteString)) -> Interpret ctx (Module Ann))
-> [(Text, (ByteString, ByteString))] -> Interpret ctx ()
forall (t :: * -> *) (f :: * -> *) a b.
(Foldable t, Applicative f) =>
(a -> f b) -> t a -> f ()
traverse_ (Text, (ByteString, ByteString)) -> Interpret ctx (Module Ann)
forall a ctx.
(a, (ByteString, ByteString)) -> Interpret ctx (Module Ann)
buildOne [(Text, (ByteString, ByteString))]
orderedInputs
  where
    buildOne :: (a, (ByteString, ByteString)) -> Interpret ctx (Module Ann)
buildOne (a
_, (ByteString
externs, ByteString
corefn)) = do
      let readCoreFn :: Value -> Module Ann
readCoreFn = ([Char] -> Module Ann)
-> ((Version, Module Ann) -> Module Ann)
-> Either [Char] (Version, Module Ann)
-> Module Ann
forall a c b. (a -> c) -> (b -> c) -> Either a b -> c
either [Char] -> Module Ann
forall a. HasCallStack => [Char] -> a
error (Version, Module Ann) -> Module Ann
forall a b. (a, b) -> b
snd (Either [Char] (Version, Module Ann) -> Module Ann)
-> (Value -> Either [Char] (Version, Module Ann))
-> Value
-> Module Ann
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Value -> Parser (Version, Module Ann))
-> Value -> Either [Char] (Version, Module Ann)
forall a b. (a -> Parser b) -> a -> Either [Char] b
parseEither Value -> Parser (Version, Module Ann)
FromJSON.moduleFromJSON
      ExternsFile -> Module Ann -> Interpret ctx (Module Ann)
forall ctx. ExternsFile -> Module Ann -> Interpret ctx (Module Ann)
buildCoreFn 
        (ByteString -> ExternsFile
forall a. Serialise a => ByteString -> a
Codec.deserialise (ByteString -> ByteString
BL.fromStrict ByteString
externs))
        (Value -> Module Ann
readCoreFn (Maybe Value -> Value
forall a. HasCallStack => Maybe a -> a
fromJust (ByteString -> Maybe Value
forall a. FromJSON a => ByteString -> Maybe a
decodeStrict ByteString
corefn)))

allPackages :: Typeable ctx => CoreBuild ctx
allPackages :: CoreBuild ctx
allPackages = [CoreBuild ctx] -> CoreBuild ctx
forall (t :: * -> *) m. (Foldable t, Monoid m) => t m -> m
fold
  [ CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
arrays
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
assert
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
bifunctors
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
catenableLists
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
console
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
_const
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
contravariant
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
control
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
distributive
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
effect
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
_either
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
enums
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
exceptions
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
exists
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
foldableTraversable
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
orders
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
free
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
functions
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
functors
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
gen
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
graphs
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
identity
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
integers
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
invariant
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
lazy
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
lcg
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
lists
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
math
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
_maybe
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
_newtype
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
nonempty
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
numbers
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
orderedCollections
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
typelevelPrelude
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
parallel
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
partial
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
prelude
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
profunctor
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
psciSupport
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
quickcheck
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
random
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
record
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
refs
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
safeCoerce
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
semirings
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
st
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
strings
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
tailrec
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
transformers
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
tuples
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
typeEquality
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
unfoldable
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
unsafeCoerce
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
validation
  ]
  
-- | A smaller package collection which is the transitive closure of
-- the arrays, strings, integers, numbers and math packages.
minimal :: Typeable ctx => CoreBuild ctx
minimal :: CoreBuild ctx
minimal = [CoreBuild ctx] -> CoreBuild ctx
forall (t :: * -> *) m. (Foldable t, Monoid m) => t m -> m
fold
  [ CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
arrays
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
bifunctors
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
console
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
_const
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
contravariant
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
control
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
distributive
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
effect
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
_either
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
enums
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
exists
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
foldableTraversable
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
functions
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
functors
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
gen
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
identity
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
integers
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
invariant
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
math
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
_maybe
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
_newtype
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
nonempty
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
numbers
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
orders
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
partial
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
prelude
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
profunctor
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
psciSupport
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
refs
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
safeCoerce
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
st
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
strings
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
tailrec
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
tuples
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
typeEquality
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
unfoldable
  , CoreBuild ctx
forall ctx. Typeable ctx => CoreBuild ctx
unsafeCoerce
  ]


arrays :: Typeable ctx => CoreBuild ctx
arrays :: CoreBuild ctx
arrays = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Array_NonEmpty_Internal
      , (Text, (ByteString, ByteString))
_Data_Array_NonEmpty
      , (Text, (ByteString, ByteString))
_Data_Array_Partial
      , (Text, (ByteString, ByteString))
_Data_Array_ST_Partial
      , (Text, (ByteString, ByteString))
_Data_Array_ST_Iterator
      , (Text, (ByteString, ByteString))
_Data_Array_ST
      , (Text, (ByteString, ByteString))
_Data_Array
      ]
  , env :: Env ctx
env = [Env ctx] -> Env ctx
forall (t :: * -> *) m. (Foldable t, Monoid m) => t m -> m
fold
      [ Env ctx
forall ctx. Env ctx
Data.Array.env
      , Env ctx
forall ctx. Env ctx
Data.Array.NonEmpty.Internal.env
      , Env ctx
forall ctx. Typeable ctx => Env ctx
Data.Array.ST.env
      , Env ctx
forall ctx. Typeable ctx => Env ctx
Data.Array.ST.Partial.env
      ]
  }

assert :: Typeable ctx => CoreBuild ctx
assert :: CoreBuild ctx
assert = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Test_Assert
      ]
  , env :: Env ctx
env = Env ctx
forall ctx. Env ctx
Test.Assert.env
  }

bifunctors :: Typeable ctx => CoreBuild ctx
bifunctors :: CoreBuild ctx
bifunctors = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Bifunctor
      , (Text, (ByteString, ByteString))
_Data_Bifunctor_Join
      , (Text, (ByteString, ByteString))
_Control_Biapplicative
      , (Text, (ByteString, ByteString))
_Control_Biapply
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

catenableLists :: Typeable ctx => CoreBuild ctx
catenableLists :: CoreBuild ctx
catenableLists = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_CatList
      , (Text, (ByteString, ByteString))
_Data_CatQueue
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

console :: Typeable ctx => CoreBuild ctx
console :: CoreBuild ctx
console = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Effect_Console
      , (Text, (ByteString, ByteString))
_Effect_Class_Console
      ]
  , env :: Env ctx
env = Env ctx
forall ctx. Typeable ctx => Env ctx
Effect.Console.env
  }

_const :: Typeable ctx => CoreBuild ctx
_const :: CoreBuild ctx
_const = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Const
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

contravariant :: Typeable ctx => CoreBuild ctx
contravariant :: CoreBuild ctx
contravariant = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Functor_Contravariant
      , (Text, (ByteString, ByteString))
_Data_Divisible
      , (Text, (ByteString, ByteString))
_Data_Op
      , (Text, (ByteString, ByteString))
_Data_Decidable
      , (Text, (ByteString, ByteString))
_Data_Equivalence
      , (Text, (ByteString, ByteString))
_Data_Comparison
      , (Text, (ByteString, ByteString))
_Data_Predicate
      , (Text, (ByteString, ByteString))
_Data_Divide
      , (Text, (ByteString, ByteString))
_Data_Decide
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

control :: Typeable ctx => CoreBuild ctx
control :: CoreBuild ctx
control = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Monoid_Alternate
      , (Text, (ByteString, ByteString))
_Control_Comonad
      , (Text, (ByteString, ByteString))
_Control_MonadZero
      , (Text, (ByteString, ByteString))
_Control_Alt
      , (Text, (ByteString, ByteString))
_Control_MonadPlus
      , (Text, (ByteString, ByteString))
_Control_Lazy
      , (Text, (ByteString, ByteString))
_Control_Extend
      , (Text, (ByteString, ByteString))
_Control_Alternative
      , (Text, (ByteString, ByteString))
_Control_Plus
      ]
  , env :: Env ctx
env = Env ctx
forall ctx. Env ctx
Control.Extend.env
  }

distributive :: Typeable ctx => CoreBuild ctx
distributive :: CoreBuild ctx
distributive = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Distributive
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

effect :: Typeable ctx => CoreBuild ctx
effect :: CoreBuild ctx
effect = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Effect
      , (Text, (ByteString, ByteString))
_Effect_Class
      , (Text, (ByteString, ByteString))
_Effect_Uncurried
      , (Text, (ByteString, ByteString))
_Effect_Unsafe
      ]
  , env :: Env ctx
env = [Env ctx] -> Env ctx
forall (t :: * -> *) m. (Foldable t, Monoid m) => t m -> m
fold
      [ Env ctx
forall ctx. Env ctx
Effect.env
      , Env ctx
forall ctx. Env ctx
Effect.Uncurried.env
      , Env ctx
forall ctx. Env ctx
Effect.Unsafe.env
      ]
  }

_either :: Typeable ctx => CoreBuild ctx
_either :: CoreBuild ctx
_either = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Either_Inject
      , (Text, (ByteString, ByteString))
_Data_Either_Nested
      , (Text, (ByteString, ByteString))
_Data_Either
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

enums :: Typeable ctx => CoreBuild ctx
enums :: CoreBuild ctx
enums = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Enum_Gen
      , (Text, (ByteString, ByteString))
_Data_Enum_Generic
      , (Text, (ByteString, ByteString))
_Data_Enum
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

exceptions :: Typeable ctx => CoreBuild ctx
exceptions :: CoreBuild ctx
exceptions = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Effect_Exception
      , (Text, (ByteString, ByteString))
_Effect_Exception_Unsafe
      ]
  , env :: Env ctx
env = Env ctx
forall ctx. Typeable ctx => Env ctx
Effect.Exception.env
  }

exists :: Typeable ctx => CoreBuild ctx
exists :: CoreBuild ctx
exists = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Exists
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

foldableTraversable :: Typeable ctx => CoreBuild ctx
foldableTraversable :: CoreBuild ctx
foldableTraversable = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Traversable
      , (Text, (ByteString, ByteString))
_Data_TraversableWithIndex
      , (Text, (ByteString, ByteString))
_Data_Traversable_Accum
      , (Text, (ByteString, ByteString))
_Data_Traversable_Accum_Internal
      , (Text, (ByteString, ByteString))
_Data_Bifoldable
      , (Text, (ByteString, ByteString))
_Data_FunctorWithIndex
      , (Text, (ByteString, ByteString))
_Data_Bitraversable
      , (Text, (ByteString, ByteString))
_Data_Foldable
      , (Text, (ByteString, ByteString))
_Data_FoldableWithIndex
      , (Text, (ByteString, ByteString))
_Data_Semigroup_Traversable
      , (Text, (ByteString, ByteString))
_Data_Semigroup_Foldable
      ]
  , env :: Env ctx
env = [Env ctx] -> Env ctx
forall (t :: * -> *) m. (Foldable t, Monoid m) => t m -> m
fold
      [ Env ctx
forall ctx. Env ctx
Data.Foldable.env
      , Env ctx
forall ctx. Env ctx
Data.Functor.env
      , Env ctx
forall ctx. Env ctx
Data.FunctorWithIndex.env
      , Env ctx
forall ctx. Env ctx
Data.Traversable.env
      ]
  }

orders :: Typeable ctx => CoreBuild ctx
orders :: CoreBuild ctx
orders = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Ord_Max
      , (Text, (ByteString, ByteString))
_Data_Ord_Min
      , (Text, (ByteString, ByteString))
_Data_Ord_Down
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

free :: Typeable ctx => CoreBuild ctx
free :: CoreBuild ctx
free = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Yoneda
      , (Text, (ByteString, ByteString))
_Data_Coyoneda
      , (Text, (ByteString, ByteString))
_Control_Comonad_Cofree_Class
      , (Text, (ByteString, ByteString))
_Control_Comonad_Cofree
      , (Text, (ByteString, ByteString))
_Control_Monad_Free_Class
      , (Text, (ByteString, ByteString))
_Control_Monad_Free
      , (Text, (ByteString, ByteString))
_Control_Monad_Trampoline
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

functions :: Typeable ctx => CoreBuild ctx
functions :: CoreBuild ctx
functions = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Function_Uncurried
      ]
  , env :: Env ctx
env = Env ctx
forall ctx. Env ctx
Data.Function.Uncurried.env
  }

functors :: Typeable ctx => CoreBuild ctx
functors :: CoreBuild ctx
functors = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Functor_Coproduct_Inject
      , (Text, (ByteString, ByteString))
_Data_Functor_Coproduct_Nested
      , (Text, (ByteString, ByteString))
_Data_Functor_Costar
      , (Text, (ByteString, ByteString))
_Data_Functor_Flip
      , (Text, (ByteString, ByteString))
_Data_Functor_Product
      , (Text, (ByteString, ByteString))
_Data_Functor_Joker
      , (Text, (ByteString, ByteString))
_Data_Functor_Product_Nested
      , (Text, (ByteString, ByteString))
_Data_Functor_Compose
      , (Text, (ByteString, ByteString))
_Data_Functor_Coproduct
      , (Text, (ByteString, ByteString))
_Data_Functor_Product2
      , (Text, (ByteString, ByteString))
_Data_Functor_App
      , (Text, (ByteString, ByteString))
_Data_Functor_Clown
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

gen :: Typeable ctx => CoreBuild ctx
gen :: CoreBuild ctx
gen = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Control_Monad_Gen
      , (Text, (ByteString, ByteString))
_Control_Monad_Gen_Class
      , (Text, (ByteString, ByteString))
_Control_Monad_Gen_Common
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

graphs :: Typeable ctx => CoreBuild ctx
graphs :: CoreBuild ctx
graphs = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Graph
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

identity :: Typeable ctx => CoreBuild ctx
identity :: CoreBuild ctx
identity = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Identity
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

integers :: Typeable ctx => CoreBuild ctx
integers :: CoreBuild ctx
integers = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Int
      , (Text, (ByteString, ByteString))
_Data_Int_Bits
      ]
  , env :: Env ctx
env = [Env ctx] -> Env ctx
forall (t :: * -> *) m. (Foldable t, Monoid m) => t m -> m
fold
      [ Env ctx
forall ctx. Env ctx
Data.Int.env
      , Env ctx
forall ctx. Env ctx
Data.Int.Bits.env
      ]
  }

invariant :: Typeable ctx => CoreBuild ctx
invariant :: CoreBuild ctx
invariant = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Functor_Invariant
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

lazy :: Typeable ctx => CoreBuild ctx
lazy :: CoreBuild ctx
lazy = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Lazy
      ]
  , env :: Env ctx
env = Env ctx
forall ctx. Typeable ctx => Env ctx
Data.Lazy.env
  }

lcg :: Typeable ctx => CoreBuild ctx
lcg :: CoreBuild ctx
lcg = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Random_LCG
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

lists :: Typeable ctx => CoreBuild ctx
lists :: CoreBuild ctx
lists = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_List
      , (Text, (ByteString, ByteString))
_Data_List_NonEmpty
      , (Text, (ByteString, ByteString))
_Data_List_Internal
      , (Text, (ByteString, ByteString))
_Data_List_Partial
      , (Text, (ByteString, ByteString))
_Data_List_ZipList
      , (Text, (ByteString, ByteString))
_Data_List_Lazy
      , (Text, (ByteString, ByteString))
_Data_List_Types
      , (Text, (ByteString, ByteString))
_Data_List_Lazy_NonEmpty
      , (Text, (ByteString, ByteString))
_Data_List_Lazy_Types
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

math :: Typeable ctx => CoreBuild ctx
math :: CoreBuild ctx
math = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Math
      ]
  , env :: Env ctx
env = Env ctx
forall ctx. Env ctx
Math.env
  }

_maybe :: Typeable ctx => CoreBuild ctx
_maybe :: CoreBuild ctx
_maybe = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Maybe
      , (Text, (ByteString, ByteString))
_Data_Maybe_Last
      , (Text, (ByteString, ByteString))
_Data_Maybe_First
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

_newtype :: Typeable ctx => CoreBuild ctx
_newtype :: CoreBuild ctx
_newtype = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Newtype
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

nonempty :: Typeable ctx => CoreBuild ctx
nonempty :: CoreBuild ctx
nonempty = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_NonEmpty
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

numbers :: Typeable ctx => CoreBuild ctx
numbers :: CoreBuild ctx
numbers = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Number_Format
      , (Text, (ByteString, ByteString))
_Data_Number_Approximate
      , (Text, (ByteString, ByteString))
_Data_Number
      ]
  , env :: Env ctx
env = [Env ctx] -> Env ctx
forall (t :: * -> *) m. (Foldable t, Monoid m) => t m -> m
fold
      [ Env ctx
forall ctx. Env ctx
Data.Number.env
      , Env ctx
forall ctx. Env ctx
Data.Number.Format.env
      ]
  }

orderedCollections :: Typeable ctx => CoreBuild ctx
orderedCollections :: CoreBuild ctx
orderedCollections = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Map
      , (Text, (ByteString, ByteString))
_Data_Map_Gen
      , (Text, (ByteString, ByteString))
_Data_Map_Internal
      , (Text, (ByteString, ByteString))
_Data_Set_NonEmpty
      , (Text, (ByteString, ByteString))
_Data_Set
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

typelevelPrelude :: Typeable ctx => CoreBuild ctx
typelevelPrelude :: CoreBuild ctx
typelevelPrelude = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Type_RowList
      , (Text, (ByteString, ByteString))
_Type_Row
      , (Text, (ByteString, ByteString))
_Type_Row_Homogeneous
      , (Text, (ByteString, ByteString))
_Type_Data_Symbol
      , (Text, (ByteString, ByteString))
_Type_Data_Boolean
      , (Text, (ByteString, ByteString))
_Type_Data_Ordering
      , (Text, (ByteString, ByteString))
_Type_Prelude
      , (Text, (ByteString, ByteString))
_Type_Function
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

parallel :: Typeable ctx => CoreBuild ctx
parallel :: CoreBuild ctx
parallel = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Control_Parallel_Class
      , (Text, (ByteString, ByteString))
_Control_Parallel
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

partial :: Typeable ctx => CoreBuild ctx
partial :: CoreBuild ctx
partial = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Partial_Unsafe
      , (Text, (ByteString, ByteString))
_Partial
      ]
  , env :: Env ctx
env = [Env ctx] -> Env ctx
forall (t :: * -> *) m. (Foldable t, Monoid m) => t m -> m
fold
      [ Env ctx
forall ctx. Env ctx
Partial.env
      , Env ctx
forall ctx. Env ctx
Partial.Unsafe.env
      ]
  }

prelude :: Typeable ctx => CoreBuild ctx
prelude :: CoreBuild ctx
prelude = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Record_Unsafe
      , (Text, (ByteString, ByteString))
_Type_Proxy
      , (Text, (ByteString, ByteString))
_Type_Data_RowList
      , (Text, (ByteString, ByteString))
_Type_Data_Row
      , (Text, (ByteString, ByteString))
_Data_BooleanAlgebra
      , (Text, (ByteString, ByteString))
_Data_Show
      , (Text, (ByteString, ByteString))
_Data_CommutativeRing
      , (Text, (ByteString, ByteString))
_Data_Monoid_Disj
      , (Text, (ByteString, ByteString))
_Data_Monoid_Multiplicative
      , (Text, (ByteString, ByteString))
_Data_Monoid_Additive
      , (Text, (ByteString, ByteString))
_Data_Monoid_Dual
      , (Text, (ByteString, ByteString))
_Data_Monoid_Endo
      , (Text, (ByteString, ByteString))
_Data_Monoid_Generic
      , (Text, (ByteString, ByteString))
_Data_Monoid_Conj
      , (Text, (ByteString, ByteString))
_Data_Unit
      , (Text, (ByteString, ByteString))
_Data_Void
      , (Text, (ByteString, ByteString))
_Data_Eq_Generic
      , (Text, (ByteString, ByteString))
_Data_Show_Generic
      , (Text, (ByteString, ByteString))
_Data_Ring
      , (Text, (ByteString, ByteString))
_Data_NaturalTransformation
      , (Text, (ByteString, ByteString))
_Data_Monoid
      , (Text, (ByteString, ByteString))
_Data_Semiring_Generic
      , (Text, (ByteString, ByteString))
_Data_Semigroup
      , (Text, (ByteString, ByteString))
_Data_Semigroup_Last
      , (Text, (ByteString, ByteString))
_Data_Semigroup_Generic
      , (Text, (ByteString, ByteString))
_Data_Semigroup_First
      , (Text, (ByteString, ByteString))
_Data_Bounded
      , (Text, (ByteString, ByteString))
_Data_Symbol
      , (Text, (ByteString, ByteString))
_Data_Bounded_Generic
      , (Text, (ByteString, ByteString))
_Data_Generic_Rep
      , (Text, (ByteString, ByteString))
_Data_Boolean
      , (Text, (ByteString, ByteString))
_Data_Eq
      , (Text, (ByteString, ByteString))
_Data_EuclideanRing
      , (Text, (ByteString, ByteString))
_Data_Ord
      , (Text, (ByteString, ByteString))
_Data_Ring_Generic
      , (Text, (ByteString, ByteString))
_Data_Ord_Generic
      , (Text, (ByteString, ByteString))
_Data_Ordering
      , (Text, (ByteString, ByteString))
_Data_Field
      , (Text, (ByteString, ByteString))
_Data_Functor
      , (Text, (ByteString, ByteString))
_Data_HeytingAlgebra_Generic
      , (Text, (ByteString, ByteString))
_Data_HeytingAlgebra
      , (Text, (ByteString, ByteString))
_Data_Function
      , (Text, (ByteString, ByteString))
_Data_DivisionRing
      , (Text, (ByteString, ByteString))
_Data_Semiring
      , (Text, (ByteString, ByteString))
_Prelude
      , (Text, (ByteString, ByteString))
_Control_Monad
      , (Text, (ByteString, ByteString))
_Control_Category
      , (Text, (ByteString, ByteString))
_Control_Apply
      , (Text, (ByteString, ByteString))
_Control_Bind
      , (Text, (ByteString, ByteString))
_Control_Applicative
      , (Text, (ByteString, ByteString))
_Control_Semigroupoid
      ]
  , env :: Env ctx
env = [Env ctx] -> Env ctx
forall (t :: * -> *) m. (Foldable t, Monoid m) => t m -> m
fold
      [ Env ctx
forall ctx. Env ctx
Control.Apply.env
      , Env ctx
forall ctx. Env ctx
Control.Bind.env
      , Env ctx
forall ctx. Env ctx
Data.Bounded.env
      , Env ctx
forall ctx. Env ctx
Data.Enum.env
      , Env ctx
forall ctx. Env ctx
Data.Eq.env
      , Env ctx
forall ctx. Env ctx
Data.EuclideanRing.env
      , Env ctx
forall ctx. Env ctx
Data.Functor.env
      , Env ctx
forall ctx. Env ctx
Data.HeytingAlgebra.env
      , Env ctx
forall ctx. Env ctx
Data.Ord.env
      , Env ctx
forall ctx. Env ctx
Data.Ring.env
      , Env ctx
forall ctx. Env ctx
Data.Semigroup.env
      , Env ctx
forall ctx. Env ctx
Data.Semiring.env
      , Env ctx
forall ctx. Env ctx
Data.Show.env
      , Env ctx
forall ctx. Env ctx
Data.Show.Generic.env
      , Env ctx
forall ctx. Env ctx
Data.Unit.env
      , Env ctx
forall ctx. Env ctx
Data.Symbol.env
      , Env ctx
forall ctx. Env ctx
Record.Unsafe.env
      ]
  }

profunctor :: Typeable ctx => CoreBuild ctx
profunctor :: CoreBuild ctx
profunctor = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Profunctor
      , (Text, (ByteString, ByteString))
_Data_Profunctor_Join
      , (Text, (ByteString, ByteString))
_Data_Profunctor_Split
      , (Text, (ByteString, ByteString))
_Data_Profunctor_Star
      , (Text, (ByteString, ByteString))
_Data_Profunctor_Costrong
      , (Text, (ByteString, ByteString))
_Data_Profunctor_Strong
      , (Text, (ByteString, ByteString))
_Data_Profunctor_Choice
      , (Text, (ByteString, ByteString))
_Data_Profunctor_Cochoice
      , (Text, (ByteString, ByteString))
_Data_Profunctor_Closed
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

psciSupport :: Typeable ctx => CoreBuild ctx
psciSupport :: CoreBuild ctx
psciSupport = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_PSCI_Support
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

quickcheck :: Typeable ctx => CoreBuild ctx
quickcheck :: CoreBuild ctx
quickcheck = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Test_QuickCheck
      , (Text, (ByteString, ByteString))
_Test_QuickCheck_Gen
      , (Text, (ByteString, ByteString))
_Test_QuickCheck_Arbitrary
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

random :: Typeable ctx => CoreBuild ctx
random :: CoreBuild ctx
random = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Effect_Random
      ]
  , env :: Env ctx
env = Env ctx
forall ctx. Env ctx
Effect.Random.env
  }

record :: Typeable ctx => CoreBuild ctx
record :: CoreBuild ctx
record = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Record_Builder
      , (Text, (ByteString, ByteString))
_Record_Unsafe_Union
      , (Text, (ByteString, ByteString))
_Record
      ]
  , env :: Env ctx
env = [Env ctx] -> Env ctx
forall (t :: * -> *) m. (Foldable t, Monoid m) => t m -> m
fold
      [ Env ctx
forall ctx. Env ctx
Record.Builder.env
      , Env ctx
forall ctx. Env ctx
Record.Unsafe.Union.env
      ]
  }

refs :: Typeable ctx => CoreBuild ctx
refs :: CoreBuild ctx
refs = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Effect_Ref
      ]
  , env :: Env ctx
env = Env ctx
forall ctx. Typeable ctx => Env ctx
Effect.Ref.env
  }

safeCoerce :: Typeable ctx => CoreBuild ctx
safeCoerce :: CoreBuild ctx
safeCoerce = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Safe_Coerce
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

semirings :: Typeable ctx => CoreBuild ctx
semirings :: CoreBuild ctx
semirings = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Semiring_Free
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

st :: Typeable ctx => CoreBuild ctx
st :: CoreBuild ctx
st = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Control_Monad_ST_Ref
      , (Text, (ByteString, ByteString))
_Control_Monad_ST_Internal
      , (Text, (ByteString, ByteString))
_Control_Monad_ST_Global
      , (Text, (ByteString, ByteString))
_Control_Monad_ST_Class
      , (Text, (ByteString, ByteString))
_Control_Monad_ST
      ]
  , env :: Env ctx
env = Env ctx
forall ctx. Typeable ctx => Env ctx
Control.Monad.ST.Internal.env
  }

strings :: Typeable ctx => CoreBuild ctx
strings :: CoreBuild ctx
strings = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Char_Gen
      , (Text, (ByteString, ByteString))
_Data_String
      , (Text, (ByteString, ByteString))
_Data_Char
      , (Text, (ByteString, ByteString))
_Data_String_Regex
      , (Text, (ByteString, ByteString))
_Data_String_NonEmpty_CodePoints
      , (Text, (ByteString, ByteString))
_Data_String_NonEmpty_Internal
      , (Text, (ByteString, ByteString))
_Data_String_NonEmpty_CodeUnits
      , (Text, (ByteString, ByteString))
_Data_String_NonEmpty_CaseInsensitive
      , (Text, (ByteString, ByteString))
_Data_String_CodePoints
      , (Text, (ByteString, ByteString))
_Data_String_NonEmpty
      , (Text, (ByteString, ByteString))
_Data_String_Gen
      , (Text, (ByteString, ByteString))
_Data_String_CodeUnits
      , (Text, (ByteString, ByteString))
_Data_String_Pattern
      , (Text, (ByteString, ByteString))
_Data_String_Regex_Flags
      , (Text, (ByteString, ByteString))
_Data_String_Regex_Unsafe
      , (Text, (ByteString, ByteString))
_Data_String_Common
      , (Text, (ByteString, ByteString))
_Data_String_Unsafe
      , (Text, (ByteString, ByteString))
_Data_String_CaseInsensitive
      ]
  , env :: Env ctx
env = [Env ctx] -> Env ctx
forall (t :: * -> *) m. (Foldable t, Monoid m) => t m -> m
fold
      [ Env ctx
forall ctx. Env ctx
Data.String.CodePoints.env
      , Env ctx
forall ctx. Env ctx
Data.String.CodeUnits.env
      , Env ctx
forall ctx. Env ctx
Data.String.Common.env
      , Env ctx
forall ctx. Env ctx
Data.String.Regex.env
      , Env ctx
forall ctx. Env ctx
Data.String.Unsafe.env
      ]
  }

tailrec :: Typeable ctx => CoreBuild ctx
tailrec :: CoreBuild ctx
tailrec = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Control_Monad_Rec_Class
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

transformers :: Typeable ctx => CoreBuild ctx
transformers :: CoreBuild ctx
transformers = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Control_Comonad_Traced_Class
      , (Text, (ByteString, ByteString))
_Control_Comonad_Traced_Trans
      , (Text, (ByteString, ByteString))
_Control_Comonad_Env_Class
      , (Text, (ByteString, ByteString))
_Control_Comonad_Env_Trans
      , (Text, (ByteString, ByteString))
_Control_Comonad_Env
      , (Text, (ByteString, ByteString))
_Control_Comonad_Trans_Class
      , (Text, (ByteString, ByteString))
_Control_Comonad_Store
      , (Text, (ByteString, ByteString))
_Control_Comonad_Traced
      , (Text, (ByteString, ByteString))
_Control_Comonad_Store_Class
      , (Text, (ByteString, ByteString))
_Control_Comonad_Store_Trans
      , (Text, (ByteString, ByteString))
_Control_Monad_Reader_Class
      , (Text, (ByteString, ByteString))
_Control_Monad_Reader_Trans
      , (Text, (ByteString, ByteString))
_Control_Monad_Except
      , (Text, (ByteString, ByteString))
_Control_Monad_RWS_Trans
      , (Text, (ByteString, ByteString))
_Control_Monad_Identity_Trans
      , (Text, (ByteString, ByteString))
_Control_Monad_Except_Trans
      , (Text, (ByteString, ByteString))
_Control_Monad_Writer
      , (Text, (ByteString, ByteString))
_Control_Monad_Reader
      , (Text, (ByteString, ByteString))
_Control_Monad_Maybe_Trans
      , (Text, (ByteString, ByteString))
_Control_Monad_State_Class
      , (Text, (ByteString, ByteString))
_Control_Monad_State_Trans
      , (Text, (ByteString, ByteString))
_Control_Monad_Writer_Class
      , (Text, (ByteString, ByteString))
_Control_Monad_Writer_Trans
      , (Text, (ByteString, ByteString))
_Control_Monad_Cont
      , (Text, (ByteString, ByteString))
_Control_Monad_RWS
      , (Text, (ByteString, ByteString))
_Control_Monad_List_Trans
      , (Text, (ByteString, ByteString))
_Control_Monad_State
      , (Text, (ByteString, ByteString))
_Control_Monad_Trans_Class
      , (Text, (ByteString, ByteString))
_Control_Monad_Error_Class
      , (Text, (ByteString, ByteString))
_Control_Monad_Cont_Class
      , (Text, (ByteString, ByteString))
_Control_Monad_Cont_Trans
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

tuples :: Typeable ctx => CoreBuild ctx
tuples :: CoreBuild ctx
tuples = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Tuple
      , (Text, (ByteString, ByteString))
_Data_Tuple_Nested
  
    ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

typeEquality :: Typeable ctx => CoreBuild ctx
typeEquality :: CoreBuild ctx
typeEquality = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Type_Equality
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }

unfoldable :: Typeable ctx => CoreBuild ctx
unfoldable :: CoreBuild ctx
unfoldable = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Unfoldable1
      , (Text, (ByteString, ByteString))
_Data_Unfoldable
      ]
  , env :: Env ctx
env = [Env ctx] -> Env ctx
forall (t :: * -> *) m. (Foldable t, Monoid m) => t m -> m
fold
      [ Env ctx
forall ctx. Env ctx
Data.Unfoldable.env
      , Env ctx
forall ctx. Env ctx
Data.Unfoldable1.env
      ]
  }

unsafeCoerce :: Typeable ctx => CoreBuild ctx
unsafeCoerce :: CoreBuild ctx
unsafeCoerce = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Unsafe_Coerce
      ]
  , env :: Env ctx
env = Env ctx
forall ctx. Env ctx
Unsafe.Coerce.env
  }

validation :: Typeable ctx => CoreBuild ctx
validation :: CoreBuild ctx
validation = CoreBuild :: forall ctx.
HashMap Text (ByteString, ByteString) -> Env ctx -> CoreBuild ctx
CoreBuild
  { buildInputs :: HashMap Text (ByteString, ByteString)
buildInputs = [(Text, (ByteString, ByteString))]
-> HashMap Text (ByteString, ByteString)
forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
HashMap.fromList
      [ (Text, (ByteString, ByteString))
_Data_Validation_Semigroup
      , (Text, (ByteString, ByteString))
_Data_Validation_Semiring
      ]
  , env :: Env ctx
env = Env ctx
forall a. Monoid a => a
mempty
  }