׃      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl m n o p q r s t u v w x y z { | } ~  None!"$xTH function for building types and functions to ensure the functioning of the chain enclosed in each other's effectsThe name of the new type - the element chain effects. Based on this name mkEff will create new names with prefixes and suffixes.The type of effect. e.g. State or Reader. bThe type used in the first argument runEEEE and / or in the result of runEEEE. For example, for State' effect, of items this type used in get, put, modify.3The name of previous (outer) element chain effects.Main module of TH Eff package. (c) Kolodezny Diver, 2015GPL-3kolodeznydiver@gmail.com experimentalPortableNone %&9;<=DOT fThe first effect in a chain of monadic effects. The chain of effects should start or that type, or NoEff.iHelper class to transfer the monadic action effects by chain. Instances of this class are created in mkEff.CHelper data type for transfer the monadic action effects by chain. mThe first effect in a chain of effects not use monads. The chain of effects should start or that type, or Lift (See below.) aHelper class to transfer the action effects by chain. Instances of this class are created in mkEff.The Monad of effectsThis function is used in the # generated runEEEE... functions. _effNoEff _ = error "THEff: Attempting to call the effect NoEff that does not have any actions!"This function is used in the 9 generated runEEEE... functions. Do not use it alone.Lift a Monad to an Effect.This function is used in the mkEff9 generated runEEEE... functions. Do not use it alone.        None:DOTResult type of runEEEE. FType of fourth argument of runEffCatch and first argument of runEEEE. LType implements link in the chain of effects. Constructors must be named -{EffectName}{Outer|WriterAction|WriterResult}- and have a specified types of fields. - m - Or Monad (if use the ") or phantom type - stub (if used  ). - o - Type of outer effect. - a2 - The result of mkEff generated runEEEE function. Actually, the effect type - v+ - Type - the parameter of the effect. - e - mkEff generated type.!This function is used in the c generated runEEEE functions and typically in effect action functions. Calling the effect action."MThe main function of the effect implementing. This function is used in the  generated runEEEE functions. # Throw effect specific exception.$:Throw effect specific exception if first argument is True.  !"The outer effect function"The chain of effects link wrapper.$The chain of effects link unwrapper.=The argument of effect. Checking and/or correction function. #$  !"#$ !"#$ !"#$None:DOT%Result type of runEEEE. &GType of fourth argument of runEffExcept and first argument of runEEEE. 'LType implements link in the chain of effects. Constructors must be named -{EffectName}{Outer|WriterAction|WriterResult}- and have a specified types of fields. - m - Or Monad (if use the ") or phantom type - stub (if used  ). - o - Type of outer effect. - a5 - The result of mkEff generated runEEEE... function.+Actually, the effect type - v+ - Type - the parameter of the effect. - e - mkEff generated type.,This function is used in the c generated runEEEE functions and typically in effect action functions. Calling the effect action.-MThe main function of the effect implementing. This function is used in the  generated runEEEE functions. . Throw effect specific exception./:Throw effect specific exception if first argument is True. %&'()*+,-The outer effect function"The chain of effects link wrapper.$The chain of effects link unwrapper.1The argument of effect. Except value map. Usualy id../ %&'()*+,-./ +'()*&%,-./%&'()*+,-./None:DOT0Result type of runEEEE. 1FType of fourth argument of runEffFresh and first argument of runEEEE. 2LType implements link in the chain of effects. Constructors must be named -{EffectName}{Outer|WriterAction|WriterResult}- and have a specified types of fields. - m - Or Monad (if use the ") or phantom type - stub (if used  ). - o - Type of outer effect. - a5 - The result of mkEff generated runEEEE... function.6Actually, the effect type - v+ - Type - the parameter of the effect. - e - mkEff generated type.7This function is used in the c generated runEEEE functions and typically in effect action functions. Calling the effect action.8MThe main function of the effect implementing. This function is used in the  generated runEEEE functions. 9Get a unique value. 012345678The outer effect function"The chain of effects link wrapper.$The chain of effects link unwrapper.(The initial value of argument of effect.9 0123456789 62345107890123456789None:DOT:Result type of runEEEE. ;GType of fourth argument of runEffReader and first argument of runEEEE. <LType implements link in the chain of effects. Constructors must be named -{EffectName}{Outer|WriterAction|WriterResult}- and have a specified types of fields. - m - Or Monad (if use the ") or phantom type - stub (if used  ). - o - Type of outer effect. - a5 - The result of mkEff generated runEEEE... function.@Actually, the effect type - v+ - Type - the parameter of the effect. - e - mkEff generated type.AThis function is used in the c generated runEEEE functions and typically in effect action functions. Calling the effect action.BMThe main function of the effect implementing. This function is used in the  generated runEEEE functions. CGet reader valueD'Get and convert the value of the reader :;<=>?@ABThe outer effect function"The chain of effects link wrapper.$The chain of effects link unwrapper.(The initial value of argument of effect.CD :;<=>?@ABCD @<=>?;:ABCD:;<=>?@ABCDNone:DOTEResult type of runEEEE. FGType of fourth argument of runEffReader and first argument of runEEEE. GLType implements link in the chain of effects. Constructors must be named -{EffectName}{Outer|WriterAction|WriterResult}- and have a specified types of fields. - m - Or Monad (if use the ") or phantom type - stub (if used  ). - o - Type of outer effect. - a5 - The result of mkEff generated runEEEE... function.KActually, the effect type - v+ - Type - the parameter of the effect. - e - mkEff generated type.LThis function is used in the c generated runEEEE functions and typically in effect action functions. Calling the effect action.MMThe main function of the effect implementing. This function is used in the  generated runEEEE functions. NGet reader valueO'Get and convert the value of the reader EFGHIJKLMThe outer effect function"The chain of effects link wrapper.$The chain of effects link unwrapper.(The initial value of argument of effect.NO EFGHIJKLMNO KGHIJFELMNOEFGHIJKLMNONone:DOT PResult type of runEEEE. QFType of fourth argument of runEffState and first argument of runEEEE. RLType implements link in the chain of effects. Constructors must be named -{EffectName}{Outer|WriterAction|WriterResult}- and have a specified types of fields. - m - Or Monad (if use the ") or phantom type - stub (if used  ). - o - Type of outer effect. - a5 - The result of mkEff generated runEEEE... function.VActually, the effect type - v+ - Type - the parameter of the effect. - e - mkEff generated type.WThis function is used in the c generated runEEEE functions and typically in effect action functions. Calling the effect action.XMThe main function of the effect implementing. This function is used in the  generated runEEEE functions. YGet state valueZPut state value[Modify state value\ 4 stateOnly runExample1 123 === snd (runExample1 123)] 7 withoutState runExample1 123 === fst (runExample1 123)PQRSTUVWXThe outer effect function"The chain of effects link wrapper.$The chain of effects link unwrapper.(The initial value of argument of effect.YZ[\State effect runEEEE function)The initial value of argument of effect. Eff (MyState m ...) ... ]State effect runEEEE function)The initial value of argument of effect. Eff (MyState m ...) ... PQRSTUVWXYZ[\]VRSTUQPWXYZ[\] PQRSTUVWXYZ[\]None:DOT ^Result type of runEEEE. _FType of fourth argument of runEffState and first argument of runEEEE. `LType implements link in the chain of effects. Constructors must be named -{EffectName}{Outer|WriterAction|WriterResult}- and have a specified types of fields. - m - Or Monad (if use the ") or phantom type - stub (if used  ). - o - Type of outer effect. - a5 - The result of mkEff generated runEEEE... function.dActually, the effect type - v+ - Type - the parameter of the effect. - e - mkEff generated type.eThis function is used in the c generated runEEEE functions and typically in effect action functions. Calling the effect action.fMThe main function of the effect implementing. This function is used in the  generated runEEEE functions. gGet state valuehPut state valueiModify state valuej 4 stateOnly runExample1 123 === snd (runExample1 123)k 7 withoutState runExample1 123 === fst (runExample1 123)^_`abcdefThe outer effect function"The chain of effects link wrapper.$The chain of effects link unwrapper.(The initial value of argument of effect.ghijState effect runEEEE function)The initial value of argument of effect. Eff (MyState m ...) ... kState effect runEEEE function)The initial value of argument of effect. Eff (MyState m ...) ... ^_`abcdefghijkd`abc_^efghijk ^_`abcdefghijk None:DOT lResult type of runEEEE. mJType of fourth argument of runEffValidator and first argument of runEEEE. nLType implements link in the chain of effects. Constructors must be named -{EffectName}{Outer|WriterAction|WriterResult}- and have a specified types of fields. - m - Or Monad (if use the ") or phantom type - stub (if used  ). - o - Type of outer effect. - a5 - The result of mkEff generated runEEEE... function.rActually, the effect type - v+ - Type - the parameter of the effect. - e - mkEff generated type.sThis function is used in the c generated runEEEE functions and typically in effect action functions. Calling the effect action.tMThe main function of the effect implementing. This function is used in the  generated runEEEE functions. u?Check the conditions specified by the first argument of runEEEEvvalidator returns Right v# if the predicate returns True and Left v else.w$If the value is outside this range, w/ sets the value of the range. Always returns Right. xright ~(Right v) = vyRIf the runEEEE return value is out of range, it is set on the border of the range.lmnopqrstThe outer effect function"The chain of effects link wrapper.$The chain of effects link unwrapper.4The argument of effect. A value validator function. uv predicatevaluewThe lower limit of the range.The upper limit of the range The valuexy!Validator effect runEEEE functionThe lower limit of the range.The upper limit of the range.Eff (MyValidator m ...) ... lmnopqrstuvwxyrnopqmlstuvwxy lmnopqrstuvwxy None:DOTzResult type of runEEEE. {LType implements link in the chain of effects. Constructors must be named -{EffectName}{Outer|WriterAction|WriterResult}- and have a specified types of fields. - m - Or Monad (if use the ") or phantom type - stub (if used  ). - o - Type of outer effect. - a5 - The result of mkEff generated runEEEE... function.Actually, the effect type - v+ - Type - the parameter of the effect. - e - mkEff generated type.This function is used in the c generated runEEEE functions and typically in effect action functions. Calling the effect action.MThe main function of the effect implementing. This function is used in the  generated runEEEE functions. Add value to monoid. z{|}~The outer effect function"The chain of effects link wrapper.VThe chain of effects link unwrapper. -> WriterArgT v -- unused argument! z{|}~ {|}~zz{|}~ None:DOTResult type of runEEEE. LType implements link in the chain of effects. Constructors must be named -{EffectName}{Outer|WriterAction|WriterResult}- and have a specified types of fields. - m - Or Monad (if use the ") or phantom type - stub (if used  ). - o - Type of outer effect. - a5 - The result of mkEff generated runEEEE... function.Actually, the effect type - v+ - Type - the parameter of the effect. - e - mkEff generated type.This function is used in the c generated runEEEE functions and typically in effect action functions. Calling the effect action.MThe main function of the effect implementing. This function is used in the  generated runEEEE functions. Add value to monoid. The outer effect function"The chain of effects link wrapper.VThe chain of effects link unwrapper. -> WriterArgT v -- unused argument!   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNDEFGHIJKLMNOPQRSTUVWXYZ[\OPQRSTUVWXYZ[\ ] ^ _ ` a b c d e f g h i j k l m n o p q r s k l m n o p q r s t u v w w x y z { | } ~  *5@JJUU c p p!THEff-0.1.4-28tA1vNoHnABSgzhJQaiz Control.THEffControl.THEff.CatchControl.THEff.ExceptionControl.THEff.FreshControl.THEff.ReaderControl.THEff.Reader.StrictControl.THEff.StateControl.THEff.State.StrictControl.THEff.ValidatorControl.THEff.WriterControl.THEff.Writer.StrictControl.THEff.TH.InternalmkEffLiftLift_ LiftResult EffClassMeffLifttoEffMLift'NoEffunNoEffEffClass effActiontoEffEffrunEffeffNoEffrunNoEffliftrunLift$fEffClassMmLift $fMonadEff$fApplicativeEff $fFunctorEff CatchResT CatchArgTCatch CatchOuter CatchAction CatchResultCatch'effCatch runEffCatch throwCtch throwCtchIf ExceptResT ExceptArgTExcept ExceptOuter ExceptAction ExceptResultExcept' effExcept runEffExceptthrowExcthrowIf FreshResT FreshArgTFresh FreshOuter FreshAction FreshResultFresh'effFresh runEffFreshfresh ReaderResT ReaderArgTReader ReaderOuter ReaderAction ReaderResultReader' effReader runEffReaderaskasks StateResT StateArgTState StateOuter StateAction StateResultState'effState runEffStategetputmodify stateOnly withoutState ValidatorResT ValidatorArgT ValidatorValidatorOuterValidatorActionValidatorResult Validator' effValidatorrunEffValidatorchk validatorrangeright withRange WriterResTWriter WriterOuter WriterAction WriterResultWriter' effWriter runEffWritertell InstnType InstnAction InstnOuterDescrEffdModuledName dEffModuledEffNamedType splitLastgetModuleAndNameparseConmkN_E mkEffName' mkPrimName mkTypePrim bangNotStrictmkCon mkTypeMainlookEff lookEffType lookEffValue lookEffFnmkInstnis2armkRunFun