h*4w08      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs0.1  Safe-Inferred"%(>  inline-pythonMonad for code which is interacts with python interpreter. Only one haskell thread can interact with python interpreter at a time. Function that execute Py make sure that this invariant is held. Also note that all code in Py> monad is executed with asynchronous exception masked, but t removes mask. inline-pythonInternal error. If this exception is thrown it means there's bug in a library. inline-python+Python exception converted to haskell value inline-pythonException type as a string inline-python%String representation of an exception inline-pythonException object inline-python&Python exception converted to haskell.  inline-pythonPython exception. Contains exception type and message as strings.  inline-pythonIt's not possible to convert given python value to a haskell value  inline-pythonData type is suitable but value is outside of allowed range. For example attempting to convert 1000 to Word8" will result in this exception.  inline-python+Initialization of python interpreter failed  inline-python%Python interpreter is not initialized inline-python)Python interpreter is not initialized  inline-pythonSome python object. Since almost everything in python is mutable it could only be accessed only in IO monad.u inline-python Pointer tagv inline-pythonError while compiling python source to byte code. Normally it shouldn't happen.w inline-pythonPython exception raisedx inline-pythonSuccess inline-pythonInject IO into Py1 monad without changing masking state (unlike t)y inline-pythoninline-c context for mappingz inline-pythonRemoves exception masking{u |yxvw} Safe-Inferred %(> ~ inline-python1Call python function using only keyword arguments~ inline-pythonFunction object inline-pythonKeywords. Must be dictionary~ Safe-Inferred %(> L  Safe-Inferred %(>  inline-pythonThis monad wraps  into & in order get early exit, applying finally& while avoiding building huge ladders. inline-pythonDoes not change masking state inline-python#Early exit from continuation monad. inline-python#Early exit from continuation monad. inline-python%Perform early exit if pointer is null inline-python9If result of computation is NULL return NULL immediately. inline-python/Evaluate finalizer even if exception is thrown. inline-python*Evaluate finalizer if exception is thrown. inline-python1Decrement reference counter at end of ContT block inline-pythonCall str method of object and return haskell string. Returns Nothing if exception was raisede inline-python Finalizer inline-python Finalizer  Safe-Inferred%&(> inline-pythonLock. It's necessary for lock to reentrant since thread may take it several times for example by nesting  . We use  as a key to figure out whether thread may retake lock or not.1Another special case is callbacks. Callback (via ) will start new haskell thread so we need to add primitive for grabbing lock regardless of current  inline-python/There's no interpreter and lock does not exist. inline-pythonLock could be taked inline-pythonPython is locked by given thread. Lock could be taken multiple times inline-pythonPython is locked by GC thread. inline-python9Python interpreter shut down. Taking lock is not possible inline-pythonState of python interpreter inline-python*Initialization is not done. Initial state. inline-python!Interpreter is being initialized. inline-pythonQ   Safe-Inferred%(>(  inline-python'Convert python object to haskell value. inline-pythonConvert python value into haskell value. This function should try to not modify python's data. This function should avoid throwing haskell exception. Any python exceptions should be thrown as *. When data type couldn't be converted   or  & should be thrown to indicate failure.This is low level function. It should be only used when working with python's C API. Otherwise  is preferred. inline-python&Convert haskell value to python value. inline-pythonConvert haskell value to python object. This function returns strong reference to newly create objects (except singletons like None, True, etc).Implementations should try to avoid failing conversions. There're two ways of signalling failure: errors on python side should return NULL and raise python exception. Haskell code should just throw exception.This is low level function. It should be only used when working with python's C API. Otherwise  is preferred. inline-python Old hack for handling of strings inline-pythonConvert python object to haskell value. All python exceptions which happen during execution will be converted to PyError. inline-python4Convert python object to haskell value. Will return Nothing if   or  4 is thrown. Other python exceptions are rethrown. inline-pythonConvert python object to haskell value. Throws exception on failure. inline-python)Convert haskell value to a python object. inline-python;Fold over iterable. Function takes ownership over iterator. inline-python!Execute haskell callback function inline-python7Load argument from python object for haskell evaluation inline-python2Load i-th argument from array as haskell parameter  inline-pythonConverted to 0-ary function! inline-pythonConverts to python's list" inline-pythonConverts to python's list# inline-pythonConverts to python's list$ inline-pythonConverts to python's list% inline-pythonConverts to python's list- inline-pythonEncoded as 1-character string> inline-python"Only accepts positional parameters? inline-python"Only accepts positional parameters@ inline-pythonAccepts python's sequence (len and indexing)A inline-pythonAccepts python's sequence (len and indexing)B inline-pythonAccepts python's sequence (len and indexing)C inline-pythonAccepts python's sequence (len and indexing)D inline-pythonAccepts python's sequence (len and indexing)G inline-pythonWill accept any iterableH inline-pythonWill accept any iterableI inline-pythonWill accept any iterableJ inline-pythonWill accept any iterableK inline-python$Uses python's truthiness conventions inline-pythonPython iterator (not checked) inline-python)Step function. It takes borrowed pointer. inline-python Initial value inline-pythonPython object to decode inline-pythonArgument number (0-based) inline-pythonTotal number of arguments inline-pythonArray of arguments inline-pythonArgument number (0-based) inline-pythonTotal number of arguments    Safe-Inferred %(>, inline-python&Evaluate expression within context of main< module. All variables defined in this evaluator persist. inline-python0Evaluate expression with fresh local environment inline-pythonReturn dict of main module inline-pythonGenerate TH splice which updates python environment dictionary and returns python source code. inline-pythonChop antiquotation variable names to get the corresponding Haskell variable name. inline-pythonGlobals inline-pythonLocals inline-pythonPython source code inline-pythonGlobals inline-pythonLocals inline-pythonPython source code inline-pythonPython evaluation mode: exec/eval inline-pythonPython source code  Safe-Inferred %(>/p inline-pythonEvaluate sequence of python statements. It works in the same way as python's exec. All module imports and all variables defined in this quasiquote will be visible to later quotes.It creates value of type Py ()q inline-pythonEvaluate sequence of python statements. All module imports and all variables defined in this quasiquote will be discarded and won't be visible in later quotes.It creates value of type Py ()r inline-pythonEvaluate single python expression. It only accepts single expressions same as python's eval."This quote creates object of type  Py PyObjects inline-pythonAnother quasiquoter which works around that sequence of python statements doesn't have any value associated with it. Content of quasiquote is function body. So to get value out of it one must call returnpqrspqrs Safe-Inferred %(>0           !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                    }}                                        inline-python-0.1-inplacePython.Inline.Types Python.InlinePython.Inline.LiteralPython.Inline.QQ inline-pythonPython.Internal.TypesPython.Internal.CAPIPython.Internal.UtilPython.Internal.ProgramPython.Internal.EvalPython.Internal.EvalQQPyPyInternalError PyException$sel:ty:PyException$sel:str:PyException$sel:exception:PyExceptionPyError BadPyType OutOfRangePyInitializationFailedPythonNotInitializedPythonIsFinalizedPyObjectunsafeWithPyObjectpyIOinitializePythonfinalizePython withPythonrunPy runPyInMainFromPy basicFromPyToPy basicToPy basicListToPy fromPyEitherfromPyfromPy'toPy$fToPyIO $fToPyVector $fToPyVector0 $fToPyVector1 $fToPyVector2 $fToPyVector3 $fToPyMap $fToPySet $fToPyList $fToPy(,,,) $fToPy(,,) $fToPy(,) $fToPyBool $fToPyChar $fToPyWord32 $fToPyWord16 $fToPyWord8 $fToPyInt32 $fToPyInt16 $fToPyInt8 $fToPyWord $fToPyInt $fToPyFloat $fToPyCDouble $fToPyCULLong $fToPyCULong $fToPyCLLong $fToPyCLong$fToPy()$fToPyPyObject $fToPyFUN $fToPyFUN0$fFromPyVector$fFromPyVector0$fFromPyVector1$fFromPyVector2$fFromPyVector3 $fFromPyMap $fFromPySet $fFromPyList $fFromPy(,,,) $fFromPy(,,) $fFromPy(,) $fFromPyBool $fFromPyChar$fFromPyWord32$fFromPyWord16 $fFromPyWord8 $fFromPyInt32 $fFromPyInt16 $fFromPyInt8 $fFromPyWord $fFromPyInt $fFromPyFloat$fFromPyCDouble$fFromPyCULLong$fFromPyCULong$fFromPyCLLong $fFromPyCLong$fFromPyPyObject$fFromPyDouble $fToPyDouble$fFromPyCSChar $fToPyCSChar$fFromPyCUChar $fToPyCUChar $fFromPyCChar $fToPyCChar$fFromPyCUShort $fToPyCUShort$fFromPyCShort $fToPyCShort $fFromPyCUInt $fToPyCUInt $fFromPyCInt $fToPyCInt$fFromPyWord64 $fToPyWord64 $fFromPyInt64 $fToPyInt64pymainpy_pyepyfbaseControl.Monad.IO.ClassliftIO PyThreadStateIPY_ERR_COMPILEIPY_ERR_PYTHONIPY_OKpyCtx $fMonadIOPyNULLbasicCallKwdOnlydecrefincref basicNewDict basicNewSet basicGetIter basicIterNext withWCStringProgramtransformers-0.6.1.0Control.Monad.Trans.ContContTprogIOabortabortM abortOnNull checkNull finallyProgonExceptionProg takeOwnershippyobjectStrAsHask runProgramprogPy withPyAllocawithPyAllocaArray withPyCStringwithPyCStringLenwithPyWCStringPyLock GHC.Conc.SyncThreadIdGHC.PtrFunPtrLockUninialized LockUnlockedLocked LockedByGC LockFinalizedPyStateNotInitializedInInitialization InitFailedRunning1RunningNInFinalization Finalized ensurePyLockcallbackEnsurePyLockunPy newPyObjectgcThread ensureGILdropGILconvertHaskell2PyconvertPy2HaskellcheckThrowPyErrormustThrowPyError throwOnNULLcheckThrowBadPyType debugPrintPyfoldPyIterable pyCallbackloadArgloadArgFastcall pyExecExpr pyEvalExpr basicMainDictexpQQchopevaluatorPymain evaluatorPy_ evaluatorPye evaluatorPyfModeFunEvalExec