{-# LANGUAGE UndecidableSuperClasses #-} {-# OPTIONS_GHC -Wno-redundant-constraints #-} -- | Entrypoints utilities for Lorentz module Lorentz.EntryPoints ( -- * Typeclasses EntryPointsDerivation (..) , ParameterHasEntryPoints (..) , ParameterDeclaresEntryPoints -- * Entrypoints API , AllParameterEntryPoints , LookupParameterEntryPoint , parameterEntryPointsToNotes , flattenEntryPoints , GetEntryPointArg , parameterEntryPointCall , GetDefaultEntryPointArg , parameterEntryPointCallDefault , ForbidExplicitDefaultEntryPoint , NoExplicitDefaultEntryPoint , sepcCallRootChecked , EntryPointRef (..) , eprName , GetEntryPointArgCustom , HasEntryPointArg (..) , HasDefEntryPointArg , TrustEpName (..) , parameterEntryPointCallCustom , RequireAllUniqueEntryPoints -- * Implementations , EpdNone , EpdPlain , EpdRecursive , EpdDelegate -- * Behaviour modifiers , ParameterWrapper (..) , ShouldHaveEntryPoints (..) ) where import Lorentz.EntryPoints.Core import Lorentz.EntryPoints.Helpers import Lorentz.EntryPoints.Impl import Lorentz.EntryPoints.Manual