-- SPDX-FileCopyrightText: 2020 Tocqueville Group -- -- SPDX-License-Identifier: LicenseRef-MIT-TQ {-# LANGUAGE UndecidableSuperClasses #-} {-# OPTIONS_GHC -Wno-redundant-constraints #-} -- | Entrypoints utilities for Lorentz module Lorentz.EntryPoints ( -- * Typeclasses EntryPointsDerivation (..) , ParameterHasEntryPoints (..) , ParameterDeclaresEntryPoints -- * Entrypoints API , AllParameterEntryPoints , LookupParameterEntryPoint , parameterEntryPointsToNotes , GetEntryPointArg , parameterEntryPointCall , GetDefaultEntryPointArg , parameterEntryPointCallDefault , ForbidExplicitDefaultEntryPoint , NoExplicitDefaultEntryPoint , sepcCallRootChecked , EntryPointRef (..) , eprName , GetEntryPointArgCustom , HasEntryPointArg (..) , HasDefEntryPointArg , HasEntryPointOfType , ParameterContainsEntryPoints , 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