úÎ!%}0      !"#$%&'()*+,-./Safe=?@ACÁ  safe-accessnCatch an access error, i.e. an access descriptor which resulted into an access denied given the capabilities. safe-accessIA simple monad transformer to ensure that data are accessed legitimately.ƒThe return value is either the description of an access having been denied (left) or the result of the normal computation (right). safe-accessControl the decision process.cThe constructors are ordered by prevalence. For instance, if two capabilities respectively return   and  , the final decision will be  .  safe-accessNo but another   can still decide to grant  safe-accessFinal yes (see explanation)  safe-accessFinal no  safe-access!Allow things to be accessed. See .d" is the type describing an access. safe-access4Create a capability which only allows a given access safe-access4Create a capability which only allows given accesses safe-accessEA special capability which allows every access. Be careful with this! safe-access8Check that the access is legal or make the monad "fail". safe-accessBAllow certain accesses regardless of the capabilities. (unsecure!) safe-accessLift an action from ErrorT to .    0      !"#$%&'()*+,-./01*safe-access-0.3.3.1-CDZJpUmVN6h8JNO1y8E4ZaControl.SafeAccessMonadSafeAccessgetCapabilitiesliftSub denyAccesscatchAccessError SafeAccessTrunSafeAccessTAccessDecisionAccessDeniedSoft AccessGranted AccessDenied Capabilities Capability MkCapability runCapabilitysingleCapabilitysomeCapabilitiespassthroughCapability ensureAccess unsecureAllow liftExceptTliftCapability$fMonoidAccessDecision$fSemigroupAccessDecision$fMonoidCapability$fSemigroupCapability$fMonadWriterwSafeAccessT$fMonadStatesSafeAccessT$fMonadReaderrSafeAccessT$fMonadErroreSafeAccessT$fMonadIOSafeAccessT$fMonadTransSafeAccessT$fMonadSafeAccessT$fApplicativeSafeAccessT$fFunctorSafeAccessT$fMonadSafeAccessdWriterTs$fMonadSafeAccessdRWSTs$fMonadSafeAccessdReaderTs$fMonadSafeAccessdMaybeTs$fMonadSafeAccessdListTs$fMonadSafeAccessdIdentityTs$fMonadSafeAccessdStateTs$fMonadSafeAccessdExceptTs$fMonadSafeAccessdContTs$fMonadSafeAccessdSafeAccessTm$fShowAccessDecision$fEqAccessDecision