#.      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ (C) 2013 Amgen, Inc.NoneHUV. inline-rBA partial order on regions. In fact regions form a lattice, with  being the supremum and  the infimum.inline-rConvenient shorthand.inline-rConvenient shorthand.inline-rVoid is not a region. It is a placeholder marking the absence of region. Useful to tag objects that belong to no region at all.inline-rThe global region is a special region whose scope extends all the way to the end of the program. As such, any object allocated within this region lives "forever". In this sense, it is the top-level region, whose scope includes all other regions.(C) 2013 Amgen, Inc.Safe%/(inline-r Initialize R.(C) 2013 Amgen, Inc.Safe2/  (C) 2015 Tweag I/O Limited.Safe"#BN inline-r^R input handler chain. Each input handler points to the next. This view of input handlers is shallow, in the sense that the c instance only unmarshalls the first element in the chain at any one time. A shallow view allows  and  to be inlinable.inline-rThe input handler callback.inline-r"Undocumented and currently unused.inline-r7Whether this input handler is activated or deactivated.inline-r2The file descriptor ahssociated with this handler.inline-r5Callbacks can optionally be passed in arbitrary data.inline-r$The next input handler in the chain.inline-r#Input handlers used in event loops.inline-r R_wait_usec global variable.inline-rR_PolledEvents global variable.inline-r R_wait_usec global variable.inline-rR_PolledEvents global variable.inline-rCreate and register a new  s. The given file descriptor should be open in non-blocking read mode. Make sure to dispose of the callback using freeHaskellFunPtr after calling  where appropriate.inline-r=Remove an input handler from an input handler chain. Returns + if the handler was successfully removed,  otherwise.  (C) 2013 Amgen, Inc.None,-.HUVE<inline-rNon unicode wrapper for the = type family.=inline-rThe predicate a :" as states that a is a member type of the set as.<==<=1(C) 2013 Amgen, Inc.Safe2Kinline-r User error.inline-r6An internal invariant has been violated. That's a bug.inline-rNA violation that should have been made impossible by the type system was not.inline-rFeature not yet implemented.inline-r Function nameinline-r Error messageinline-r Function nameinline-r Error messageinline-r Function name2018 (C) Tweag I/O Limited.None M%>inline-rR uses three-valued logic.>?@ABCDDCB>?@A(C) 2013 Amgen, Inc.None&',.EHUVXd inline-rR "type". Note that what R calls a "type" is not what is usually meant by the term: there is really only a single type, called SEXP), and an R "type" in fact refers to the class or form of the expression.WTo better illustrate the distinction, note that any sane type system normally has the subject reduction propertyM: that the type of an expression is invariant under reduction. For example,  (x -> x) 1 has type ,-, and so does the value of this expression, 2 , have type , . Yet the formv of the expression is an application of a function to a literal, while the form of its reduct is an integer literal.]We introduce convenient Haskell-like names for forms because this datatype is used to index SEXP and other types through the  DataKinds extension.Ninline-rwConstraint synonym grouping all expression forms into one class. According to R internals, an expression is usually a ' , but can sometimes also be an 3 or a ".Oinline-r IsPairList a holds iff R's  is.pairlist() returns TRUE.Pinline-rIsList a holds iff R's  is.list() returns TRUE.Qinline-rNon-atomic vector forms. See  src/main/memory.c:SET_VECTOR_ELT in the R source distribution.Rinline-r=Constraint synonym grouping all vector forms into one class.  IsVector a holds iff R's  is.vector() returns TRUE.Sinline-r[Used where the R documentation speaks of "pairlists", which are really just regular lists.C ,*1"-/;.!2(9#+'$%&)0345678:>?@ANOPQRST^WUVefXYZ[\]_`abcdghijklmnoC ,*1"-/;.!2(9#+'$%&)0345678:T^WUVefXYZ[\]_`abcdghijklmno>?@ASRQPON (C) 2013 Amgen, Inc.None %,-.EHMSUVXZ+inline-r(Info header for the SEXP data structure.inline-rType of the SEXP.inline-r)Is this an object with a class attribute.inline-rControl copying information.inline-rGeneral purpose data.inline-rMark object as 'in use' in GC.inline-r Debug marker.inline-r Trace marker.inline-rAlignment (not in use).inline-rGC Generation.inline-rGC Class of node.inline-rA  of unknown form.inline-rThe basic type of all R expressions, classified by the form of the expression, and the memory region in which it has been allocated.inline-r5Flag that shows if computation should be interrupted.inline-rSignal handler switchinline-rGlobal environment.inline-rThe empty environment.inline-rThe base environment.inline-rLMissing argument marker. Constant throughout the lifetime of the R instance.inline-rCUnbound marker. Constant throughout the lifetime of the R instance.inline-rEGlobal nil value. Constant throughout the lifetime of the R instance.inline-r Add a type index to the pointer.inline-r'Remove the type index from the pointer.inline-rLike  but for .inline-rRelease object into another region. Releasing is safe so long as the target region is "smaller" than the source region, in the sense of .inline-rDeconstruct a \. Takes a continuation since otherwise the existentially quantified variable hidden inside  would escape.inline-r6Return the "type" tag (aka the form tag) of the given q. This function is pure because the type of an object does not normally change over the lifetime of the object.inline-r>Set CAR field of object, when object is viewed as a cons cell.inline-r>Set CDR field of object, when object is viewed as a cons cell.inline-r>Set TAG field of object, when object is viewed as a cons cell.inline-rCast the type of a  into another type. This function is partial: at runtime, an error is raised if the source form tag does not match the target form tag.inline-r;Cast form of first argument to that of the second argument.inline-rUnsafe coercion from one form to another. This is unsafe, in the sense that using this function improperly could cause code to crash in unpredictable ways. Contrary to S, it has no runtime cost since it does not introduce any dynamic check at runtime.inline-rLength of the vector.inline-r'Extract the data pointer from a vector.inline-r Inverse of  vectorPtr.inline-r"Extract the header from the given .inline-rWrite a new header.inline-rSet the GC mark.inline-r Check if object is an S4 object.>This is a function call so it will be more precise than using .inline-r-Get the attribute list from the given object.inline-r"Get attribute with the given name.inline-rSet the attribute list.inline-rValueinline-rAttribute namePP (C) 2013 Amgen, Inc.None%,-.EHMSUVXG/inline-rContent encoding.inline-rread CAR object valueinline-rread CDR objectinline-rread object`s Taginline-rEnclosing environment.inline-rIHash table associated with the environment, used for faster name lookups.inline-r+Closure formals (aka the actual arguments).inline-rThe code of the closure.inline-rThe environment of the closure.inline-rThe code of a promise.inline-r1The environment in which to evaluate the promise.inline-r8The value of the promise, if it has already been forced.inline-rRead True Length vector field.inline-rRead character vector datainline-rRead real vector data.inline-rRead integer vector data.inline-rRead raw data.inline-rRead logical vector data.inline-rRead complex vector data.inline-rRead string vector data.inline-rRead a name from symbol.inline-rRead value from symbol.inline-r Read internal value from symbol.inline-rInitialize a new string vector. inline-r1Initialize a new character vector (aka a string). inline-r.Create Character value with specified encoding inline-rIntern a string name into the symbol table.If nameX is not found, it is added to the symbol table. The symbol corresponding to the string name is returned. inline-r Allocate a .inline-rAllocate a pairlist of s, chained together.inline-rAllocate Vector.inline-r5Allocate a so-called cons cell, in essence a pair of  pointers.inline-rJAllocate a so-called cons cell of language objects, in essence a pair of  pointers.inline-r Protect a  from being garbage collected by R. It is in particular necessary to do so for objects that are not yet pointed by any other object, e.g. when constructing a tree bottom-up rather than top-down.To avoid unbalancing calls to  and /, do not use these functions directly but use  instead.inline-r unprotect n unprotects the last n objects that were protected.inline-r4Unprotect a specific object, referred to by pointer.inline-r$Invoke an R garbage collector sweep.inline-rPreserve an object accross GCs.inline-r'Allow GC to remove an preserved object.inline-r Evaluate any  to its value.inline-rTry to evaluate expression.inline-rBTry to evaluate without printing error/warning messages to stdout.inline-r"Construct a nullary function call.inline-rConstruct unary function call.inline-r!Construct a binary function call. inline-rFind a function by name.!inline-rFind a variable by name.#inline-rzPerform an action with resource while protecting it from the garbage collection. This function is a safer alternative to   and !g, guaranteeing that a protected resource gets unprotected irrespective of the control flow, much like "#. ,*1"-/;.!2(9#+'$%&)0345678:>?@ABCNOPQRST^WUVefXYZ[\]_`abcdghijklmno      !"#q     " !CB# (C) 2013 Amgen, Inc.None.inline-rpStores R variables in a static location. This makes the variables' addresses accesible after reloading in GHCi.*inline-rRSpecial value to which all symbols unbound in the current environment resolve to.+inline-rR's NULL value.,inline-rFValue substituted for all missing actual arguments of a function call.-inline-rThe base environment..inline-rThe empty environment./inline-rThe global environment. '()*+,-./0 -./+,*()0' (C) 2013 Amgen, Inc.None %,.1inline-rThe return code of a call to 75, indicating whether the parser failed or succeeded.7inline-r"parseVector text num status source' parses the input string into an AST. source#, if provided, names the origin of text (e.g. a filename). num0 limits the number of expressions to parse, or -1 if no limit.12345677123456 (C) 2013 Amgen, Inc.None,.HV2;inline-r1Constraint synonym for all operations on vectors.<inline-r1Constraint synonym for all operations on vectors.=inline-r>, in the form of a relation, for convenience.>inline-rYFunction from R types to the types of the representations of each element in the vector.;<=>>=<;$(C) 2013 Amgen, Inc.None8HV@inline-rUThe class of R interaction monads. For safety, in compiled code we normally use the A monad. For convenience, in a GHCi session, we normally use the  monad directly (by means of a @ instance for , imported only in GHCi).Ainline-r:A reification of an R execution context, i.e. a "session".Binline-rLift an  action.Cinline-rAcquire ownership in the current region of the given object. This means that the liveness of the object is guaranteed so long as the current region remains active (the R garbage collector will not attempt to free it).Dinline-r"Get the current execution context.Einline-rProvides no static guarantees that resources do not extrude the scope of their region. Acquired resources are not freed automatically upon exit. For internal use only.Finline-rC for .?@ABCDEF(C) 2013 Amgen, Inc.NoneGinline-rDeclare memory management for this value to be automatic. That is, the memory associated with it may be freed as soon as the garbage collector notices that it is safe to do so.@Values with automatic memory management are tagged with the global region. The reason is that just like for other global values, deallocation of the value can never be observed. Indeed, it is a mere "optimization" to deallocate the value sooner - it would still be semantically correct to never deallocate it at all.Hinline-rG for .GHGH(C) 2015 Tweag I/O Limited.None"#KIinline-r+Iterate over each input handler in a chain.Jinline-r Variant of I that throws away the result.Kinline-rfRegister all R input handlers with the given event manager. Set an alarm to process polled events if  R_wait_usecD is non-zero. Returns keys useful for unregistering input handlers.Linline-rProcess events in a loop. Uses a new GHC event manager under the hood. This function should be called from the main thread. It never returns.Currently unimplemented.Minline-r#Process events in a loop. Uses R's select()b mechanism under the hood. This function should be called from the main thread. It never returns.Ninline-rsManually trigger processing all pending events. Useful when at an interactive prompt and no event loop is running.IJKLMNIJKLMN%(C) 2016 Tweag I/O Limited.None>SX>&(C) 2016 Tweag I/O Limited.None%=>?@AHUVX,inline-r[Internal wrapper type for reflection. First type parameter is the reified type to reflect.Oinline-r@Mutable R vector. Represented in memory with the same header as t nodes. The second type parameter is phantom, reflecting at the type level the tag of the vector when viewed as a E. The tag of the vector and the representation type are related via >. OPQRSTU<(C) 2013 Amgen, Inc. 2016 Tweag I/O Limited.None,.=>?@AHSVX.(Vinline-rO(1) Create a vector from a .Winline-rO(1) in the common case, O(n)3 for proper slices. Convert a mutable vector to a _. This can be done efficiently, without copy, because vectors in this module always include a 6 header immediately before the vector data in memory.Xinline-rLength of the mutable vector.Yinline-r"Check whether the vector is empty.Zinline-r6Yield a part of the mutable vector without copying it.`inline-rWYield a part of the mutable vector without copying it. No bounds checks are performed.einline-r"Check whether two vectors overlap.finline-r,Create a mutable vector of the given length.ginline-rGCreate a mutable vector of the given length. The length is not checked.hinline-rmCreate a mutable vector of the given length (0 if the length is negative) and fill it with an initial value.iinline-rCreate a mutable vector of the given length (0 if the length is negative) and fill it with values produced by repeatedly executing the monadic action.jinline-r"Create a copy of a mutable vector.kinline-rReset all elements of the vector to some undefined value, clearing all references to external objects. This is usually a noop for unboxed vectors.linline-r(Yield the element at the given position.minline-r*Replace the element at the given position.ninline-r)Swap the elements at the given positions.oinline-rHYield the element at the given position. No bounds checks are performed.pinline-rJReplace the element at the given position. No bounds checks are performed.qinline-rISwap the elements at the given positions. No bounds checks are performed.rinline-r2Set all elements of the vector to the given value.sinline-rNCopy a vector. The two vectors must have the same length and may not overlap.tinline-rcCopy a vector. The two vectors must have the same length and may not overlap. This is not checked.uinline-rJMove the contents of a vector. The two vectors must have the same length.:If the vectors do not overlap, then this is equivalent to s. Otherwise, the copying is performed as if the source vector were copied to a temporary vector and then the temporary vector was copied to the target vector.vinline-rcMove the contents of a vector. The two vectors must have the same length, but this is not checked.:If the vectors do not overlap, then this is equivalent to t. Otherwise, the copying is performed as if the source vector were copied to a temporary vector and then the temporary vector was copied to the target vector.`inline-rstarting indexinline-rlength of the slicetinline-rtargetinline-rsourcevinline-rtargetinline-rsource$OTUVWXYZ[\]^_`abcdefghijklmnopqrstuv$OVWTUXYfghijZ^_[\]`cdabeklmnopqrsutv(C) 2013 Amgen, Inc.None%,.4=>?@AHMSVXinline-r[Internal wrapper type for reflection. First type parameter is the reified type to reflect.winline-rImmutable vectors. The second type paramater is a phantom parameter reflecting at the type level the tag of the vector when viewed as a E. The tag of the vector and the representation type are related via >.inline-r Create a  from .inline-r:Return Pointer of the first element of the vector storage.|inline-rO(n)# Create an immutable vector from a  . Because 2s are mutable, this function yields an immutable copy of the .}inline-rO(1) Unsafe convert a mutable  to an immutable vector without copying. The mutable vector must not be used after this operation, lest one runs the risk of breaking referential transparency.~inline-rO(n)+ Yield a (mutable) copy of the vector as a .inline-rO(1)5 Unsafely convert an immutable vector to a (mutable) N without copying. The immutable vector must not be used after this operation.inline-rO(n)# Convert a character vector into a .inline-rO(n)* Convert a character vector into a strict .inline-rThis function is unsafe and ByteString should not be used outside of the function. Any change to bytestring will be reflected in the source vector, thus breaking referencial transparancy.inline-rO(1) Yield the length of the vector.inline-rO(1) Test whether a vector if emptyinline-r O(1) Indexinginline-rO(1) Safe indexinginline-rO(1) First elementinline-rO(1) Last elementinline-rO(1)( Unsafe indexing without bounds checkinginline-rO(1)6 First element without checking if the vector is emptyinline-rO(1)5 Last element without checking if the vector is emptyinline-rO(1) Indexing in a monad.xThe monad allows operations to be strict in the vector when necessary. Suppose vector copying is implemented like this: &copy mv v = ... write mv i (v ! i) ...For lazy vectors, v ! i) would not be evaluated which means that mv, would unnecessarily retain a reference to v in each element written.With /, copying can be implemented like this instead: Scopy mv v = ... do x <- indexM v i write mv i xHere, no references to v$ are retained because indexing (but not% the elements) is evaluated eagerly.inline-rO(1)+ First element of a vector in a monad. See + for an explanation of why this is useful.inline-rO(1)* Last element of a vector in a monad. See + for an explanation of why this is useful.inline-rO(1)0 Indexing in a monad without bounds checks. See + for an explanation of why this is useful.inline-rO(1)C First element in a monad without checking for empty vectors. See * for an explanation of why this is useful.inline-rO(1)B Last element in a monad without checking for empty vectors. See * for an explanation of why this is useful.inline-rO(N)P Yield a slice of the vector with copying it. The vector must contain at least i+n elements.inline-rO(N)a Yield all but the last element, this operation will copy an array. The vector may not be empty.inline-rO(N)= Copy all but the first element. The vector may not be empty.inline-rO(N) Yield at the first n: elements with copying. The vector may contain less than n1 elements in which case it is returned unchanged.inline-rO(N) Yield all but the first n: elements with copying. The vector may contain less than n4 elements in which case an empty vector is returned.inline-rO(N) Yield the first n1 elements paired with the remainder with copying. Note that  n v is equivalent to ( n v,  n v) but slightly more efficient.inline-rO(N)M Yield a slice of the vector with copying. The vector must contain at least i+n" elements but this is not checked.inline-rO(N)c Yield all but the last element with copying. The vector may not be empty but this is not checked.inline-rO(N)d Yield all but the first element with copying. The vector may not be empty but this is not checked.inline-rO(N) Yield the first n: elements with copying. The vector must contain at least n" elements but this is not checked.inline-rO(N) Yield all but the first n: elements with copying. The vector must contain at least n" elements but this is not checked.inline-rO(1) Empty vectorinline-rO(1) Vector with exactly one elementinline-rO(n)@ Vector of the given length with the same value in each positioninline-rO(n)O Construct a vector of the given length by applying the function to each indexinline-rO(n)C Apply function n times to value. Zeroth element is original value.inline-rO(n)o Construct a Vector ty by repeatedly applying the generator function to a seed. The generator function yields Just' the next element and the new seed or Nothing if there are no more elements. Uunfoldr (\n -> if n == 0 then Nothing else Just (n,n-1)) 10 = <10,9,8,7,6,5,4,3,2,1>inline-rO(n)! Construct a vector with at most n] by repeatedly applying the generator function to the a seed. The generator function yields Just' the next element and the new seed or Nothing if there are no more elements. -unfoldrN 3 (\n -> Just (n,n-1)) 10 = <10,9,8>inline-rO(n) Construct a vector with ng elements by repeatedly applying the generator function to the already constructed part of the vector. DconstructN 3 f = let a = f <> ; b = f <a> ; c = f <a,b> in f <a,b,c>inline-rO(n) Construct a vector with n{ elements from right to left by repeatedly applying the generator function to the already constructed part of the vector. DconstructrN 3 f = let a = f <> ; b = f<a> ; c = f <b,a> in f <c,b,a>inline-rO(n): Yield a vector of the given length containing the values x, x+15 etc. This operation is usually more efficient than . enumFromN 5 3 = <5,6,7>inline-rO(n): Yield a vector of the given length containing the values x, x+y, x+y+y5 etc. This operations is usually more efficient than . +enumFromStepN 1 0.1 5 = <1,1.1,1.2,1.3,1.4>inline-rO(n) Enumerate values from x to y.WARNING:B This operation can be very inefficient. If at all possible, use  instead.inline-rO(n) Enumerate values from x to y with a specific step z.WARNING:B This operation can be very inefficient. If at all possible, use  instead.inline-rO(n) Prepend an elementinline-rO(n) Append an elementinline-rO(m+n) Concatenate two vectorsinline-rO(n)$ Concatenate all vectors in the listinline-rO(n)Y Execute the monadic action the given number of times and store the results in a vector.inline-rO(n)U Construct a vector of the given length by applying the monadic action to each indexinline-r;Execute the monadic action and freeze the resulting vector. Fcreate (do { v <- new 2; write v 0 'a'; write v 1 'b'; return v }) = <a,b> inline-rO(n)Y Yield the argument but force it not to retain any extra memory, possibly by copying it.@This is especially useful when dealing with slices. For example: force (slice 0 2 <huge vector>)Here, the slice retains a reference to the huge vector. Forcing it creates a copy of just the elements that belong to the slice and allows the huge vector to be garbage collected.inline-rO(m+n) For each pair (i,a)8 from the list, replace the vector element at position i by a. ,<5,9,2,7> // [(2,1),(0,3),(2,8)] = <3,9,8,7>inline-r Same as () but without bounds checking.inline-rO(m+n) For each pair (i,b), from the list, replace the vector element a at position i by f a b. ?accum (+) <5,9,2> [(2,4),(1,6),(0,3),(1,7)] = <5+3, 9+6+7, 2+4>inline-rSame as  but without bounds checking.inline-rO(n) Reverse a vectorinline-rO(n) Map a function over a vectorinline-rO(n)? Apply a function to every element of a Vector ty and its indexinline-r<Map a function over a Vector ty and concatenate the results.inline-rO(n)V Apply the monadic action to all elements of the vector, yielding a vector of resultsinline-rO(n)P Apply the monadic action to all elements of a Vector ty and ignore the resultsinline-rO(n)e Apply the monadic action to all elements of the vector, yielding a vector of results. Equvalent to flip .inline-rO(n)` Apply the monadic action to all elements of a Vector ty and ignore the results. Equivalent to flip .inline-r O(min(m,n))) Zip two vectors with the given function.inline-r*Zip three vectors with the given function.inline-r O(min(m,n))H Zip two vectors with a function that also takes the elements' indices.inline-r<Zip three vectors and their indices with the given function.inline-r O(min(m,n))K Zip the two vectors with the monadic action and yield a vector of resultsinline-r O(min(m,n))D Zip the two vectors with the monadic action and ignore the resultsinline-rO(n)0 Drop elements that do not satisfy the predicateinline-rO(n)^ Drop elements that do not satisfy the predicate which is applied to values and their indicesinline-rO(n)8 Drop elements that do not satisfy the monadic predicateinline-rO(n)M Yield the longest prefix of elements satisfying the predicate with copying.inline-rO(n)N Drop the longest prefix of elements that satisfy the predicate with copying.inline-rO(n) Split the vector in two parts, the first one containing those elements that satisfy the predicate and the second one those that don't. The relative order of the elements is preserved at the cost of a sometimes reduced performance compared to .inline-rO(n) Split the vector in two parts, the first one containing those elements that satisfy the predicate and the second one those that don't. The order of the elements is not preserved but the operation is often faster than .inline-rO(n)l Split the vector into the longest prefix of elements that satisfy the predicate and the rest with copying.inline-rO(n)s Split the vector into the longest prefix of elements that do not satisfy the predicate and the rest with copying.inline-rO(n)( Check if the vector contains an elementinline-rO(n)= Check if the vector does not contain an element (inverse of )inline-rO(n) Yield Just- the first element matching the predicate or Nothing if no such element exists.inline-rO(n) Yield Just; the index of the first element matching the predicate or Nothing if no such element exists.inline-rO(n) Yield Just; the index of the first occurence of the given element or NothingO if the vector does not contain the element. This is a specialised version of .inline-rO(n) Left foldinline-rO(n) Left fold on non-empty vectorsinline-rO(n)" Left fold with strict accumulatorinline-rO(n)7 Left fold on non-empty vectors with strict accumulatorinline-rO(n) Right foldinline-rO(n) Right fold on non-empty vectorsinline-rO(n)% Right fold with a strict accumulatorinline-rO(n)8 Right fold on non-empty vectors with strict accumulatorinline-rO(n); Left fold (function applied to each element and its index)inline-rO(n)T Left fold with strict accumulator (function applied to each element and its index)inline-rO(n)< Right fold (function applied to each element and its index)inline-rO(n)U Right fold with strict accumulator (function applied to each element and its index)inline-rO(n)- Check if all elements satisfy the predicate.inline-rO(n). Check if any element satisfies the predicate.inline-rO(n) Compute the sum of the elementsinline-rO(n)$ Compute the produce of the elementsinline-rO(n)G Yield the maximum element of the vector. The vector may not be empty.inline-rO(n)u Yield the maximum element of the Vector ty according to the given comparison function. The vector may not be empty.inline-rO(n)G Yield the minimum element of the vector. The vector may not be empty.inline-rO(n)u Yield the minimum element of the Vector ty according to the given comparison function. The vector may not be empty.inline-rO(n)T Yield the index of the maximum element of the vector. The vector may not be empty.inline-rO(n) Yield the index of the maximum element of the Vector ty according to the given comparison function. The vector may not be empty.inline-rO(n)T Yield the index of the minimum element of the vector. The vector may not be empty.inline-rO(n) Yield the index of the minimum element of the Vector ty according to the given comparison function. The vector may not be empty.inline-rO(n) Monadic foldinline-rO(n)$ Monadic fold over non-empty vectorsinline-rO(n)% Monadic fold with strict accumulatorinline-rO(n)< Monadic fold over non-empty vectors with strict accumulatorinline-rO(n)& Monadic fold that discards the resultinline-rO(n)= Monadic fold over non-empty vectors that discards the resultinline-rO(n)> Monadic fold with strict accumulator that discards the resultinline-rO(n)V Monadic fold over non-empty vectors with strict accumulator that discards the resultinline-rO(n) Prescan prescanl f z =  .  f z  Example: $prescanl (+) 0 <1,2,3,4> = <0,1,3,6>inline-rO(n) Prescan with strict accumulatorinline-rO(n) Scan postscanl f z =  .  f z  Example: &postscanl (+) 0 <1,2,3,4> = <1,3,6,10>inline-rO(n) Scan with strict accumulatorinline-rO(n) Haskell-style scan Sscanl f z <x1,...,xn> = <y1,...,y(n+1)> where y1 = z yi = f y(i-1) x(i-1) Example: $scanl (+) 0 <1,2,3,4> = <0,1,3,6,10>inline-rO(n)+ Haskell-style scan with strict accumulatorinline-rO(n) Scan over a non-empty vector Jscanl f <x1,...,xn> = <y1,...,yn> where y1 = x1 yi = f y(i-1) xiinline-rO(n)7 Scan over a non-empty vector with a strict accumulatorinline-rO(n) Right-to-left prescan prescanr f z =  .  (flip f) z .  inline-rO(n). Right-to-left prescan with strict accumulatorinline-rO(n) Right-to-left scaninline-rO(n)+ Right-to-left scan with strict accumulatorinline-rO(n)! Right-to-left Haskell-style scaninline-rO(n)9 Right-to-left Haskell-style scan with strict accumulatorinline-rO(n)+ Right-to-left scan over a non-empty vectorinline-rO(n)F Right-to-left scan over a non-empty vector with a strict accumulatorinline-rO(n) Convert a vector to a list inline-rO(n) Convert a list to a vector inline-rO(n) Convert the first n elements of a list to a vector fromListN n xs =   ( n xs)  inline-rO(1)| Unsafe convert a mutable vector to an immutable one with copying. The mutable vector may not be used after this operation. inline-rO(1) Unsafely convert an immutable vector to a mutable one with copying. The immutable vector may not be used after this operation. inline-rO(n). Yield a mutable copy of the immutable vector.inline-rO(n)/ Yield an immutable copy of the mutable vector.inline-rO(n)n Copy an immutable vector into a mutable one. The two vectors must have the same length. This is not checked.inline-rO(n)Y Copy an immutable vector into a mutable one. The two vectors must have the same length.inline-ri starting indexinline-rn lengthinline-ri starting indexinline-rn lengthinline-rinitial vector (of length m)inline-r%list of index/value pairs (of length n)inline-raccumulating function finline-rinitial vector (of length m)inline-r%list of index/value pairs (of length n);<>OPQRSwxyz{|}~     wxyz{OPQRS><;|}~     544(C) 2013 Amgen, Inc.None%&',-.FHIUVX25inline-rA view of R's internal  structure as an algebraic datatype. Because this is in fact a GADT, the use of named record fields is not possible here. Named record fields give rise to functions for whom it is not possible to assign a reasonable type (existentially quantified type variables would escape).fNote further that Haddock does not currently support constructor comments when using the GADT syntax.inline-r.Wrapper for partially applying a type synonym.,inline-rHeterogeneous equality.-inline-r%A view function projecting a view of J as an algebraic datatype, that can be analyzed through pattern matching..inline-rfInverse hexp view to the real structure, note that for scalar types hexp will allocate new SEXP, and  unhexp . hexpU is not an identity function. however for vector types it will return original SEXP./inline-rProject the vector out of s. !#"%$&'()*+,-./ !#"%$&'()*+,-./(C) 2013 Amgen, Inc.None%&',>344(C) 2013 Amgen, Inc.None "#.HMNSTVXa:inline-rConfiguration options for the R runtime. Configurations form monoids, so arguments can be accumulated left-to-right through monoidal composition.<inline-rProgram name. If  then the value of  will be used.=inline-rCommand-line arguments.>inline-rSet to ~ if you're happy to let R install its own signal handlers during initialization. By default R sets following signal handlers:SIGPIPE - ignore signal;/SIGUSR1 - save workspace and terminate program;5SIGUSR2 - terminate program without saving workspace;3SIGINT - cancel execution of the current function.yN.B.* When program is terminated, haskell runtime will not have any chances to run any exception handlers or finalizers.?inline-rThe ?e monad, for sequencing actions interacting with a single instance of the R interpreter, much as the ? monad sequences actions interacting with the real world. The ? monad embeds the  monad, so all  actions can be lifted to ? actions.inline-r_A static address that survives GHCi reloadings which indicates whether R has been initialized.@inline-rInitialize a new instance of R, execute actions that interact with the R instance and then finalize the instance. This is typically called at the very beginning of the main function of the program. main = withEmbeddedR $ do {...}Note that R does not currently support reinitialization after finalization, so this function should be called only once during the lifetime of the program (see srcunixsystem.c:Rf_initialize() in the R source code).Ainline-rRun an R action in the global R instance from the IO monad. This action provides no static guarantees that the R instance was indeed initialized and has not yet been finalized. Make sure to call it within the scope of @. runRegion m& fully evaluates the result of action m, to ensure that no thunks hold onto resources in a way that would extrude the scope of the region. This means that the result must be first-order data (i.e. not a function).throws  '$. Generaly any R function may throw RErrorA that is safe to be cached and computation can proceed. However RErroro will cancel entire R block. So in order to catch exception in more fine grained way one has to use function tryCatch inside R block.Cinline-rDefault argument to pass to D.inline-rPopulate environment with R_HOME variable if it does not exist.inline-r0Allocate and initialize a new array of elements.inline-rcAn MVar to make an atomic step of checking whether R is initialized and initializing it if needed.Dinline-rCreate a new embedded instance of the R interpreter. Only works from the main thread of the program. That is, from the same thread of execution that the program's main& function is running on. In GHCi, use -fno-ghci-sandbox to achieve this.Einline-rFinalize an R instance.inline-rArray elementsinline-r Continuation :;<=>?@ABCDE ?AB:;<=>C@DE(C) 2013 Amgen, Inc.None.mVinline-rGenerate wrappers from n to m.Winline-rGenerate wrapper.Example for input 5: foreign import ccall "wrapper" wrap5 :: ( SEXP a -> SEXP b -> SEXP c -> SEXP d -> SEXP e -> IO (SEXP f) ) -> IO (FunPtr ( SEXP a -> SEXP b -> SEXP c -> SEXP d -> SEXP e -> IO (SEXP f) ) ) Yinline-r&Generate Literal Instance for wrapper.Example for input 6:  instance ( Literal a a0, Literal b b0, Literal c c0, Literal d d0, Literal e e0 , Literal f f0, Literal g g0 ) => Literal (a -> b -> c -> d -> e -> f -> IO g) R.ExtPtr where mkSEXP = funToSEXP wrap6 fromSEXP = error "Unimplemented." VWXYVWYX2013 (C) Amgen, IncNoneni Z[\]^_`abcdef ]\[Z^_`abcdef2013 (C) Amgen, IncNone%&',.8=>?@ACX_~|inline-rBA class for functions that can be converted to functions on SEXPs.ginline-r Values that can be converted to .hinline-r0Internal function for converting a literal to a ' value. You probably want to be using j instead.jinline-r4Create a SEXP value and protect it in current regionkinline-rLike iV, but with no static type satefy. Performs a dynamic (i.e. at runtime) check instead.linline-rLike k, but behaves like the as.* family of functions in R, by performing a best effort conversion to the target form (e.g. rounds reals to integers, etc) for atomic types.qinline-rLCreate a pairlist from an association list. Result is either a pairlist or nilValuew if the input is the null list. These are two distinct forms. Hence why the type of this function is not more precise.rinline-rtCreate an association list from a pairlist. R Pairlists are nil-terminated chains of nested cons cells, as in LISP. gihjklmnopqrs gihqrkjlmnops2013 (C) Amgen, IncNone%&'. inline-r#Parse and then evaluate expression.inline-r3Parse file and perform some actions on parsed file.XThis function uses continuation because this is an easy way to make operations GC-safe.inline-rInternalize a symbol name.inline-r3Create an R character string from a Haskell string.inline-r0Create an R string vector from a Haskell string.inline-rbEvaluate a (sequence of) expression(s) in the given environment, returning the value of the last.inline-rAEvaluate a (sequence of) expression(s) in the global environment.inline-rSilent version of $ function that discards it's result.inline-r!Throw an R error as an exception.inline-rPCancel any ongoing R computation in the current process. After interruption an RError exception will be raised.This call is safe to run in any thread. If there is no R computation running, the next computaion will be immediately cancelled. Note that R will only interrupt computations at so-called "safe points" (in particular, not in the middle of a C call).inline-r,Throw an R exception with specified message.inline-rRead last error message.inline-r Text to parseinline-r2Whether to annotate the AST with source locations.inline-r#Environment in which to find error.{ ,*1"-/;.!2(9#+'$%&)0345678:>?@ANOPQRST^WUVefXYZ[\]_`abcdghijklmno'()*+,-./0GH:;<=>?@ABCDEgihjklmnopqrsNone%.Sinline-rInternalize a symbol name.Tinline-r#Call a pure binary R function. See U for additional comments.Uinline-rICall a pure unary R function of the given name in the global environment.STUUTS(C) 2013 Amgen, Inc.None%&'.=>?X_'inline-r8An R value, expressed as an R expression, in R's syntax.inline-rcQuasiquoter for pure R code (no side effects) and that does not depend on the global environment (referential transparency). This means that all symbols must appear qualified with a package namespace (whose bindings are locked by default), the code must not affect R shared state in any way, including the global environment, and must not perform I/O.inline-rSerialize quasiquotes using a global lock, because the compiler is allowed in theory to run them in parallel, yet the R runtime is not reentrant.inline-rQChop antiquotation variable names to get the corresponding Haskell variable name.inline-r Traverse 5 structure and find all occurences of antiquotations.inline-rAn R quasiquote is syntactic sugar for a function that we generate, which closes over all antiquotation variables, and applies the function to the Haskell values to which those variables are bound. Example: Q[r| x_hs + y_hs |] ==> apply (apply [r| function(x_hs, y_hs) x_hs + y_hs |] x) y Noneu >?@ANOPQRST^WUVefXYZ[\]_`abcdghijklmno !#"%$&'()*+'()*+,-./0?@ABCDEAFGHN,-./:;<=>?@ABCDEgihjklmnopqrsh@ABCDE?F>?@ANOPQRST^WUVefXYZ[\]_`abcdghijklmno'()*+,-./0GH:;<=>?@ABCDEgihjklmnopqrsN(c) 2016, AlphaSheets, Inc ExperimentalPortableNone %&'.7PSXinline-rException during matching.inline-rGeneric error.inline-r&SEXP's type differ from requested one.inline-r"Requested attribute does not exit.inline-rA composition of  destructors. A  is bound to the region where I is allocated, so extracted value will not leak out of the region scope.This matcher is a pure function, so if you need to allocate any object (for example for comparison or lookup) you should do it before running matcher.inline-rMatch a , returning a  MatchError if matching failed.Result is always fully evaluated, since otherwise it wouldn't be possible to guarantee that thunks in the return value will not escape the memory region.inline-rReturns current . Never fails.inline-rReturns current ; if it is of the requested type, fails otherwise, returns  TypeMissmatch in that case.inline-rRun a submatcher on another . All exceptions in the internal matcher are propagated to the parent one. This combinator allows to inspect nested structures without exiting the matcher, so it's possible to effectively combine it with alternative function.inline-rSucceeds if current SomeSEXP is (.inline-rSucceeds if current SomeSEXP7 is S4 object. This check is more accurate then using  guardType S4@ as it uses internal R's function to check if the object is S4.inline-r Succeeds if H is an S3 object of the given type. In general case it's better to use _ because it will run same check, but also will return the class(es) of the current expression.-This test is not expressible in terms of the u, because guardType does not see additional information about S3 types. And any raw object can be a class instance.inline-rContinue execution if SEXP have required type. This check tests basic types of the expression like if it's integer, or real or character vector and such. If you need to test object type use  or  directly.inline-r<Returns any attribute by its name if it exists. Fails with NoSuchAttribute otherwise.inline-rTyped version of the F call. In addition to retrieving value it's dynamically type checked.inline-rMatch all attributes, takes a matcher and applies it to the each attribute exists, returns list of the attribute name, together with matcher result. If matcher returns Nothing - result is omitted..inline-r1Find an attribute in attribute list if it exists.inline-r)* lifted to Matcher, applies hexp to the current value and allows you to run internal matcher on it. Is useful when you need to inspect data using high level functions from  Language.R.inline-r1Returns type of the current SEXP. Can never fail.inline-r3Return the class of the S3 object, fails otherwise.inline-rConvert String  to the list of s.inline-rGet  attribute.inline-rGet  attribute.inline-rGet  attribute.inline-rGet  attribute.inline-r)Execute first matcher that will not fail.inline-r Matches a List object.inline-r1Match a factor. Returns the levels of the factor.inline-r+Upper bound on number of elements to match.inline-r Matcher to apply to each element(C) 2013 Amgen, Inc.NoneHVRinline-rA form of the = function that is more convenient in an interactive session.inline-rA form of the = function that is more convenient in an interactive session. >?@ANOPQRST^WUVefXYZ[\]_`abcdghijklmno !#"%$&'()*+'()*+,-./0?@ABCDEAFGHN,-./:;<=>?ABCDEgihjklmnopqrsƋ >?@ANOPQRST^WUVefXYZ[\]_`abcdghijklmno !#"%$&'()*+'()*+,-./0?@ABCDEFGHN,-./:;<=>?ABCDEgihjklmnopqrs+,-./012345567889:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghVijklmnopqrstuvwxyz{|}~                                        ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ! ; < = > ? @ A B C D E F G  H I J K L A M N O P Q R S T U V W X Y Z$[$\$]$^$_$`$a$bcdefghij&k&k&l&m&n&&opqrstuvwxyz{|}~]]opqrvwstux{|yz8     LMNPOQRSTUVWXYZ[]^_`abc* !"#$$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPoQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz3({|?}~q* %%%&&&&&&ZYinline-r-0.10.3-inplaceForeign.R.TypeControl.Memory.RegionForeign.R.EmbeddedForeign.R.ErrorForeign.R.EventLoopForeign.R.ConstraintsForeign.R.ContextLanguage.R.HExpForeign.R.Internal Foreign.RLanguage.R.GlobalsForeign.R.ParseData.Vector.SEXP.Base H.Prelude Language.R.GCLanguage.R.EventData.Vector.SEXP.MutableData.Vector.SEXPLanguage.R.DebugLanguage.R.InstanceLanguage.R.Internal"Language.R.Internal.FunWrappers.THLanguage.R.Internal.FunWrappersLanguage.R.Literal Language.R Language.R.QQLanguage.R.MatcherH.Prelude.InteractiveInternal.Error withProtectedRprotect unprotectControl.Exceptionbracket_Control.Monad.R.ClassControl.Monad.R.Internal!Data.Vector.SEXP.Mutable.InternalErrorNullLanguage.R.Hexphexpsngltns-2.6-0e715d7eData.Singletons.InternalSing<=VGVoid GlobalRegion initEmbeddedR endEmbeddedRRError$fExceptionRError $fShowRError InputHandlerinputHandlerCallbackinputHandlerActivityinputHandlerActiveinputHandlerFDinputHandlerUserDatainputHandlerNext runHandlers checkActivity inputHandlersgraphicsPollingPeriodgraphicsPolledEvents pollingPeriod polledEventsaddInputHandlerremoveInputHandler$fStorableInputHandler$fEqInputHandler$fShowInputHandlerSEXPTYPENilSymbolListClosureEnvPromiseLangSpecialBuiltinCharLogicalIntRealComplexString DotDotDotAnyVectorExprBytecodeExtPtrWeakRefRawS4NewFreeFunIn:∈FALSETRUENASEXP0SEXPRECrCtx$fStorableLogical $fEqLogical $fOrdLogical $fShowLogical$fNFDataSEXPTYPE$fEnumSEXPTYPE $fEqSEXPTYPE $fOrdSEXPTYPE$fShowSEXPTYPE IsExpression IsPairListIsListIsGenericVectorIsVectorPairList SSEXPTYPESNilSSymbolSListSClosureSEnvSPromiseSLangSSpecialSBuiltinSCharSLogicalSIntSRealSComplexSString SDotDotDotSAnySVectorSExpr SBytecodeSExtPtrSWeakRefSRawSS4SNewSFreeSFun$fLiftSEXPTYPE$fSingISEXPTYPEFun$fSingISEXPTYPEFree$fSingISEXPTYPENew$fSingISEXPTYPES4$fSingISEXPTYPERaw$fSingISEXPTYPEWeakRef$fSingISEXPTYPEExtPtr$fSingISEXPTYPEBytecode$fSingISEXPTYPEExpr$fSingISEXPTYPEVector$fSingISEXPTYPEAny$fSingISEXPTYPEDotDotDot$fSingISEXPTYPEString$fSingISEXPTYPEComplex$fSingISEXPTYPEReal$fSingISEXPTYPEInt$fSingISEXPTYPELogical$fSingISEXPTYPEChar$fSingISEXPTYPEBuiltin$fSingISEXPTYPESpecial$fSingISEXPTYPELang$fSingISEXPTYPEPromise$fSingISEXPTYPEEnv$fSingISEXPTYPEClosure$fSingISEXPTYPEList$fSingISEXPTYPESymbol$fSingISEXPTYPENil$fSingKindSEXPTYPEHExpSEXPInfoinfoTypeinfoObj infoNamedinfoGpinfoMark infoDebug infoTrace infoSpare infoGcGen infoGcClsSomeSEXPSEXPunSEXPcisS4 cgetAttrib csetAttribcAttrib cSET_GCCLS cSET_GCGEN cSET_RSTEP cSET_RTRACE cSET_RDEBUG cSET_MARK cSETLEVELS cSET_NAMED cSET_OBJECT cSET_TYPEOFcGCCLScGCGENcRSTEPcRTRACEcRDEBUGcMARKcLEVELScNAMEDcOBJECTinterruptsPendingsignalHandlers globalEnvemptyEnvbaseEnv missingArg unboundValuenilValueisRInteractivecTYPEOFsexpunsexpsomesexprelease unsafeReleaseunsafeReleaseSome unSomeSEXPcIntConv cIntToEnumcUIntFromSingEnum cIntFromEnumtypeOfsetCarsetCdrsetTag unsafeCastcastasTypeOf unsafeCoercelengthunsafeSEXPToVectorPtrunsafeVectorPtrToSEXPpeekInfopokeInfomarknamedisS4 getAttributes getAttribute setAttributes $fNFDataSEXP $fShowSEXP$fNFDataSomeSEXP$fStorableSomeSEXP$fShowSomeSEXP$fEqSEXP $fOrdSEXP$fStorableSEXP$fShowSEXPInfoCEType CE_NativeCE_UTF8 CE_Latin1CE_Bytes CE_SymbolCE_AnycarcdrtagenvFrame envEnclosing envHashtabclosureFormals closureBody closureEnv promiseCode promiseEnv promiseValue trueLengthcharrealintegerrawlogicalcomplexstring readVector indexVector writeVectorsymbolPrintName symbolValuesymbolInternalmkStringmkCharmkCharCE mkCharLenCEinstall allocSEXP allocList allocVectorallocVectorProtectedconslcons printValue unprotectPtrgcpreserveObject releaseObjectevaltryEval tryEvalSilentlang1lang2lang3findFunfindVar mkWeakRef $fEnumCEType $fEqCEType $fShowCETypepokeRVariablessignalHandlersPtr ParseStatus PARSE_NULLPARSE_OKPARSE_INCOMPLETE PARSE_ERROR PARSE_EOF parseVector$fEnumParseStatus$fEqParseStatus$fShowParseStatusSVECTORVECTOREElemRepRegionMonadR ExecContextioacquiregetExecContextunsafeRunWithExecContext acquireSome automatic automaticSomeforIHforIH_registerREvents eventLoopPolleventLoopSelectrefreshMVector mvectorBase mvectorOffset mvectorLengthfromSEXPtoSEXPnullslicetakedropsplitAtinittail unsafeSlice unsafeTake unsafeDrop unsafeInit unsafeTailoverlapsnew unsafeNew replicate replicateMcloneclearreadwriteswap unsafeRead unsafeWrite unsafeSwapsetcopy unsafeCopymove unsafeMove vectorBase vectorOffset vectorLengthunsafeFromSEXP unsafeToSEXPtoString toByteStringunsafeWithByteString!!?headlast unsafeIndex unsafeHead unsafeLastindexMheadMlastM unsafeIndexM unsafeHeadM unsafeLastMempty singletongenerateiterateNunfoldrunfoldrN constructN constructrN enumFromN enumFromStepN enumFromToenumFromThenTosnoc++concat generateMcreateforce// unsafeUpdaccum unsafeAccumreversemapimap concatMapmapMmapM_forMforM_zipWithzipWith3zipWith4zipWith5zipWith6izipWith izipWith3 izipWith4 izipWith5 izipWith6zipWithM zipWithM_filterifilterfilterM takeWhile dropWhile partitionunstablePartitionspanbreakelemnotElemfind findIndex elemIndexfoldlfoldl1foldl'foldl1'foldrfoldr1foldr'foldr1'ifoldlifoldl'ifoldrifoldr'allanysumproductmaximum maximumByminimum minimumBymaxIndex maxIndexByminIndex minIndexByfoldMfold1MfoldM'fold1M'foldM_fold1M_foldM'_fold1M'_prescanl prescanl' postscanl postscanl'scanlscanl'scanl1scanl1'prescanr prescanr' postscanr postscanr'scanrscanr'scanr1scanr1'toListfromList fromListN unsafeFreeze unsafeThawthawfreeze$fIsListVector $fShowVector $fEqVector $fVectorWa===unhexpvector$fStorableHExp$fEqHExp$fTestEqualitySEXPTYPEHExp$fTestEqualitySEXPTYPEEinspect$fToJSONSomeSEXP $fToJSONSEXP$fToJSONComplex$fToJSONSEXPInfo$fToJSONSEXPTYPEConfigconfigProgName configArgsconfigSignalHandlers withEmbeddedR runRegionunsafeRunRegion defaultConfig initializefinalize $fMonadRR $fPrimMonadR $fMonadFailR$fMonoidConfig$fSemigroupConfig$fDefaultConfig$fApplicativeR $fFunctorR$fMonadR $fMonadIOR $fMonadCatchR $fMonadMaskR $fMonadThrowR installIOr2r1 thWrappers thWrapperthWrapperLiteralsthWrapperLiteralwrap3wrap2wrap1wrap0wrap12wrap11wrap10wrap9wrap8wrap7wrap6wrap5wrap4LiteralmkSEXPIOmkSEXP fromSomeSEXPdynSEXP mkSEXPVectormkSEXPVectorIOmkProtectedSEXPVectormkProtectedSEXPVectorIO toPairList fromPairList funToSEXP$fLiteral->ExtPtr$fLiteral->ExtPtr0$fLiteralRExtPtr$fLiteralSomeSEXPAny$fLiteralSEXPa$fLiteralMVectorty$fLiteralVectorty$fLiteral[]String$fLiteralComplexComplex$fLiteralDoubleReal$fLiteralInt32Int$fLiteralLogicalLogical$fLiteralTextString$fLiteral[]String0$fLiteral[]Complex$fLiteral[]Real$fLiteral[]Int$fLiteral[]Logical$fHFunWrap->-> $fHFunWrapRIO$fLiteral->ExtPtr1$fLiteral->ExtPtr2$fLiteral->ExtPtr3$fLiteral->ExtPtr4$fLiteral->ExtPtr5$fLiteral->ExtPtr6$fLiteral->ExtPtr7$fLiteral->ExtPtr8$fLiteral->ExtPtr9$fLiteral->ExtPtr10 parseFile parseTextstringsevalEnveval_throwRcancel throwRMessagerrsafeMatcher runMatcher matchOnlywiths4s3 guardType someAttribute attribute attributeslookupAttribute getS3ClasscharListdimdimnamesnamesrownameschoicelistfactor$fNFDataMatcherError$fMonoidMatcherError$fSemigroupMatcherError$fAlternativeMatcher$fFunctorMatcher$fApplicativeMatcher$fMonadFailMatcher$fMonadMatcher$fShowMatcherError$fGenericMatcherErrorPrintRprintRp printQuote $fMonadRIO$fPrintRSomeSEXP $fPrintRSEXPbaseForeign.StorableStorablepeekpokeghc-prim GHC.TypesTrueFalsefailure violation impossible unimplemented rVariablesIO AcquireIO withAcquireWunW unsafeToPtrproxyWwithW foreignSEXP ForeignSEXPGHC.Basebytestring-0.10.10.0Data.ByteString.Internal ByteString GHC.MaybeNothingSystem.Environment getProgNameisRInitializedPtr populateEnv newCArrayinitLockHFunWrap parseEvalgetErrorMessageqqLockchop collectAntisexpQQ MatcherError TypeMissmatchNoSuchAttribute