Îõ³h&;Û      Find a class instance at runtimeRichard EisenbergMITrae@richarde.dev experimental Safe-Inferred)1ô´ runtime-instances:A database of instances available for runtime queries. An Instances tn c" contains instances of the class c<, indexed by type names rendered according to the rules for tn.runtime-instances Create an ! for a type denoted by the given .runtime-instances Create an ' for a type passed invisibly. Example: instanceForInvisible Int@.runtime-instances Create an 1 for a list of types passed invisibly. Example: instancesForInvisible [Int, Bool, Double]@.runtime-instancesLook up an instance in ø, making the instance available for use in the continuation function. If the lookup fails, this returns Nothing. Until  7https://github.com/ghc-proposals/ghc-proposals/pull/448Ž is implemented, there is no way to bind a type variable to the found type, so this function is likely impossible to use well. For now, see  instead.runtime-instancesLook up an instance in õ, making the instance available for use in the continuation function. If the lookup fails, this returns Nothing. If  7https://github.com/ghc-proposals/ghc-proposals/pull/4483 has been implemented in your GHC, you may prefer .runtime-instancesLook up an instance in , when you already have a ; for the type to look up. To use this function, the class c used in your  Instances must imply ; the ç instance is used to check that the retrieved type is actually the one you want. If it's not, this function throws an exception (this really shouldn't happen). (In GHCs before 9.4, this check is skipped, because of a bug around Ê and quantified constraints.) If the lookup fails, this returns Nothing.runtime-instancesºPerform a computation for each instance in the database, accumulating results in a monoid. Your monoid should be commutative, because there is no predictable order of instances in the .runtime-instancesfor debugging only;Build a runtime-instance database of all instances in scopeRichard EisenbergMITrae@richarde.dev experimental Safe-InferredÑ runtime-instances Build an  containing all in-scope ground instances for the given class. A ground instance8 is one that includes no type variables. Example usage: éinstanceDatabase :: Instances Unqualified MyClass instanceDatabase = $(allGroundInstances [t| MyClass |])ÓIt is an infelicity in the design of Template Haskell that requires repeating the MyClass part; it should be inferrable.þNote that this just looks at instance declarations to determine whether an instance is ground. So it would not pick up, e.g. Eq (Maybe Int)/, because the instance declaration looks like  Eq (Maybe a).éDue to a limitation of Template Haskell, this will find only instances declared in other modules or before a declaration splice in the current module. If you want to find instances declared in the current module, you can add a line  $(pure [])above the use of  Á in the file. This line forces GHC to finish processing everything above the line before looking at anything below the line, so those instances declared above the line are available below it. runtime-instancesâReturns a list of ground (= no variables) types that satisfy the given constraint. The passed-in  must have kind k -> Constraint for some k.; all the returned types will then have kind k.ÊThis finds only types that appear in ground instances. So if you look for Eq, you'll get Int, and Double , but not  Maybe Int, even though  Maybe Int" is a ground type: it comes from instance ... => Eq (Maybe a)!, which is not a ground instance. See also  , for more usage information.runtime-instancesÄIssues an error if the type provided has any variables. Never fails.runtime-instancesChecks whether a  has no variables. runtime-instancesØConstructs a promoted list type from a list of types. Useful for synthesizing calls to  using Template Haskell. runtime-instancesÄThe class whose instances to include. This type must have the kind k -> Constraint for some k and include no variables.       ,runtime-instances-1.0-KePcc70Dp4I2UGSMA9ttVKInstance.RuntimeInstance.Runtime.TH InstancesinstanceForTypeRepinstanceForInvisibleinstancesForInvisible withInstancewithInstanceProxywithInstanceTypeRep foldInstances$fShowInstances$fSemigroupInstances$fMonoidInstancesallGroundInstancesallGroundInstanceTypes promotedListbaseData.Typeable.InternalTypeRepTypeabletemplate-haskellLanguage.Haskell.TH.SyntaxTypecheckForVariableshasNoVariables