Module Prelude.PreludeArrays

Support for Java reflective arrays.

Imports

Table of Content

Definitions

type ArrayOf s a = Mutable s (JArray a)

short hand for Mutable s (JArray a)

data JArray a = native java.lang.Object

The type JArray X corresponds to Java's J[] for any type X where J is the corresponding java type of X, but note that Java does not really have generic arrays.

We can use arrays of non-primitive types generically inside Frege, but native code that expects or returns arrays will not be generic.

The native interface will take every occurrence of

 JArray X

or

 Mutable s (JArray X)

in native declarations to denote the corresponding Java array type. But when the type argument is variable, it will be just Object. This corresponds to the usage in the array reflection API.

Multi-dimensional arrays are not very well supported out of the box. If one needs more than 1 dimensions, the type will get quite complex, as of course arrays are mutable and so one will have multiple levels of JArray nested in Mutable nested in JArray and so forth. Moreover, multi-dimensional arrays cannot be generic at all.

Note that there are really two different APIs:

  1. With the JArray.getElemAt, JArray.getAt, JArray.setAt, JArray.setElemAt, JArray.itemAt and JArray.elemAt it is possible to work on Java objects with java compile time type X[] for some (non primitive!) java type X.
  2. With the ArrayElement.newArray, ArrayElement.getElemAt, ArrayElement.getAt, ArrayElement.setAt, ArrayElement.setElemAt, ArrayElement.itemAt and ArrayElement.elemAt functions of the ArrayElement class for some type F that is an instance of ArrayElement, we can work on Java objects with Java compile time type X[], where X is the Java type corresponding to F, but the run time type is always X[].

The former ones are usable only in polymorphic functions where the type argument for JArray is a variable and we don't (want to) have ArrayElement constraints. They are not good for interfacing native methods that take or return arrays of a certain type. Run time type errors are possible because native methods could put anything there. However, when used in Frege only, the typing is safe.

The latter ones are truly type safe, because their Frege type corresponds to the expected Java compile time type, which is also the actual run time type.

Here is a cheat sheet for the different array get and set methods:

             Array type            Argument/    Description
                                   Result
 setAt       Mutable (JArray s X)  Maybe X     set null or data element
 setElemAt   Mutable (JArray s X)  X           set data element
 getAt       Mutable (JArray s X)  Maybe X     get null or data element
 getElemAt   Mutable (JArray s X)  X           get data element (unsafe)
 itemAt      JArray s X            Maybe X     get null or data element (pure)
 elemAt      JArray s X            X           get data element (pure, unsafe)

"unsafe" in this context applies only to non-primitive types and means that the function will fail with a NullPointerException if the value accessed is a Java null.

Member Functions

genericElemAtJArray aInt → a
pure native PreludeArrays.aGet

Like JArray.genericItemAt but the result is not wrapped in Maybe.

The user is expected to prove that the element cannot be null or else risk a NullPointerException.

Can not be used with arrays of primitive values.

genericFoldArrayElement α ⇒ (β → α → β) → β → ArrayOf γ αST γ β

Equivalent of fold for mutable arrays.

Can not be used with arrays of primitive values.

genericFromIndexListJavaType α ⇒ [(Int, α)]STMutable β (JArray α)

Create a mutable array from a finite index/value list.

Indexes not mentioned in the list remain null for non primitive array elements and 0 otherwise.

Can not be used with arrays of primitive values.

genericFromListArrayElement α ⇒ [α] → STMutable β (JArray α)

Create a mutable array from a finite list.

Can not be used with arrays of primitive values.

genericGetAtArrayOf s aIntST s (Maybe a)
native PreludeArrays.aGet

Get the array element at a certain index of a mutable array and return it in the ST monad.

This will throw an IndexOutOfBoundsException if the index is lower than 0 or greater or equal to the length of the array.

Because in general, array elements may be null, the return value is wrapped in Maybe, as usual.

Can not be used with arrays of primitive values.

genericGetElemAtArrayOf s aIntST s a
native PreludeArrays.aGet

Get the array element at a certain index of a mutable array and return it in the ST monad.

This will throw an IndexOutOfBoundsException if the index is lower than 0 or greater or equal to the length of the array.

Unlike with JArray.getAt the element must not be null.

The user is expected to prove that the element cannot be null or else risk a NullPointerException.

Can not be used with arrays of primitive values.

genericItemAtJArray aIntMaybe a
pure native PreludeArrays.aGet

Get the array element at a given index. This will throw an IndexOutOfBoundsException if the index is lower than 0 or greater or equal to the length of the array.

Because in general, array elements may be null, the return value is wrapped in Maybe, as usual.

Can not be used with arrays of primitive values.

genericModifyArrayElement α ⇒ (α → α) → ArrayOf β αST β ()

Modify a mutable array by applying a function to all its elements.

Can not be used with arrays of primitive values.

genericSetAtArrayOf s aIntMaybe aST s ()
native java.lang.reflect.Array.set

Set the element at a certain index of a mutable array to a value that is wrapped in Maybe. This won't work for primitive element types.

This will throw an IndexOutOfBoundsException if the index is lower than 0 or greater or equal to the length of the array.

To set the corresponding array element to null, pass Maybe.Nothing, otherwise pass a Maybe.Just value.

Can not be used with arrays of primitive values.

genericSetElemAtArrayOf s aIntaST s ()
native java.lang.reflect.Array.set

Set the element at a certain index of a mutable array.

This will throw an IndexOutOfBoundsException if the index is lower than 0 or greater or equal to the length of the array.

Can not be used with arrays of primitive values.

getLengthArrayOf α βST α Int

Return the length of a mutable array in the ST monad.

lengthJArray aInt
pure native java.lang.reflect.Array.getLength

Tell the length of an immutable Java array.

Because the length of an array cannot change, it is safe to use this function with Mutable.readonly.

newClass aIntSTMutable s (JArray a)
native PreludeArrays.newInstance

create a one dimensional Java array

genericToMaybeListJArray α → [Maybe α]

Unload an immutable array to a list.

The non-null elements become Maybe.Just values, the nulls translate to Maybe.Nothing

genericArrayFromIndexListJavaType α ⇒ [(Int, α)]JArray α

Create an immutable generic array from a finite index/value list.

Uses JArray.genericFromIndexList and freezes the resulting array.

(This is used in the parsers generated with YYGen)

genericArrayFold ∷ (α → β → α) → αJArray β → α

Left fold an immutable array

class JavaType a ⇒ ArrayElement a

Type class for basic JArray operations. The element type must be an instance of this class to support arrays of that type.

ArrayElement is derivable.

The operations are mostly overloaded on return type and provide the appropriate java.lang.Class object when needed.

This supports one dimensional arrays, though more dimensions would be possible with some extra effort.

Note that JArray cannot be an instance of ArrayElement itself, because it has no fixed java.lang.Class instance.

Known Instances

Int, Char, Bool, Float, Double, Long, StringJ, ->, (,), (,,), Integer, []

Member Functions

arrayFromIndexListArrayElement a ⇒ [(Int, a)] → JArray a

Create an immutable JArray from a finite index/value list. See ArrayElement.arrayFromIndexListST

arrayFromIndexListSTArrayElement a ⇒ [(Int, a)] → STMutable β (JArray a)

Create a mutable array from a finite index/value list.

Indexes not mentioned in the list remain null for non primitive array elements and 0 otherwise.

arrayFromListArrayElement a ⇒ [a] → JArray a

Create an immutable array from a finite list whose elements are 'ArrayElement`

Uses JArray.fromList and freezes the resulting array.

arrayFromListSTArrayElement a ⇒ [a] → STMutable β (JArray a)

Create a mutable array from a finite list.

arrayFromMaybeListArrayElement a ⇒ [Maybe a] → JArray a

Create an immutable JArray from a finite list of Maybe values.

arrayFromMaybeListSTArrayElement a ⇒ [Maybe a] → STMutable β (JArray a)

Create a mutable array from a finite list of Maybe values.

arrayLengthArrayElement a ⇒ JArray a → Int
pure native .length

The size of an JArray

elemAtArrayElement a ⇒ JArray a → Int → a
pure native [i]

Get non-null element at index from immutable array, see JArray.elemAt

getAtArrayElement a ⇒ ArrayOf s a → IntST s (Maybe a)
native [i]

Get item at index from mutable array, see JArray.getAt

getElemAtArrayElement a ⇒ ArrayOf s a → IntST s a
native [i]

Get non null item at index from mutable array, see JArray.getElemAt

itemAtArrayElement a ⇒ JArray a → IntMaybe a
pure native [i]

Get item at index from immutable array, see JArray.itemAt

listFromArrayArrayElement a ⇒ JArray a → [a]

Unload JArray to a list, lazily

maybeListFromArrayArrayElement a ⇒ JArray a → [Maybe a]

Unload JArray to a maybe list, lazily

modifyAtArrayElement a ⇒ (a → a) → ArrayOf s a → IntST s ()

Modify item at index in mutable array with result of function application.

modifyElemAtArrayElement a ⇒ (a → a) → ArrayOf s a → IntST s ()

Modify non null item at index in mutable array with result of function application.

newArrayArrayElement a ⇒ IntSTMutable s (JArray a)
native new[]

Create a one dimensional array with elements of the instantiated type.

setAtArrayElement a ⇒ ArrayOf s a → IntMaybe a → ST s ()
native []=

Set item or null at index in mutable array, see JArray.setAt

setElemAtArrayElement a ⇒ ArrayOf s a → Int → a → ST s ()
native []=

Set item at index in mutable array. see JArray.setElemAt

arrayCacheSTArrayElement a ⇒ (IntJArray a → a) → IntSTMutable s (JArray a)

Create a mutable array of a given size and compute the values of its elements by some function. The function gets the current index and the already computed values in the form of an immutable array, where it can access elements with a smaller index than the current one.

The restriction to smaller indexes is because array elements are strict in Frege. For example, we can't store unevaluated values in an String[] array, because the Java type of unevaluated values is not String.

To create an array of 1000 Fibonacci numbers, one could write:

 cache fib 1000 where
   fib 0 _ = 1n
   fib 1 _ = 1n
   fib n a = a.[n-1] + a.[n-2]
arrayCacheArrayElement a ⇒ (IntJArray a → a) → IntJArray a

Memoize a number of results from a function that maps Int to the array element.

Uses ArrayElement.cache and makes it immutable

genericArrayMap ∷ (ArrayElement a, ArrayElement β) ⇒ (a → β) → JArray a → JArray β

Map a function over the elements of an immutable array, and collect the results in another immutable array.

Uses ArrayElement.mapArrayST and makes result read-only.

class (JavaType a, ArrayElement a) ⇒ PrimitiveArrayElement a

Type class for array elements of primitive type.

Not thought for public use, as all instances are pre-defined.

The default implementation of PrimitiveArrayElement.setAt does not support passing Maybe.Nothing, because there can be no null in primitive arrays.

Known Instances

Int, Char, Bool, Float, Double, Long

Member Functions

getAtPrimitiveArrayElement a ⇒ ArrayOf s a → IntST s (Maybe a)

Default implementation suitable for primitive types, wraps result with Maybe.Just

itemAtPrimitiveArrayElement a ⇒ JArray a → IntMaybe a

Default implementation suitable for primitive types, wraps result with Maybe.Just

setAtPrimitiveArrayElement a ⇒ ArrayOf s a → IntMaybe a → ST s ()

Default implementation suitable for primitive types.

It is an error to put Maybe.Nothing in a primitive array.

Instances

instance ArrayElement (a, b)

Member Functions

arrayFromIndexList[(Int, (𝖇, 𝖆))]JArray (𝖇, 𝖆)

inherited from ArrayElement.arrayFromIndexList

arrayFromIndexListST[(Int, (𝖇, 𝖆))]STMutable 𝖈 (JArray (𝖇, 𝖆))

inherited from ArrayElement.arrayFromIndexListST

arrayFromList[(𝖇, 𝖆)]JArray (𝖇, 𝖆)

inherited from ArrayElement.arrayFromList

arrayFromListST[(𝖇, 𝖆)]STMutable 𝖈 (JArray (𝖇, 𝖆))

inherited from ArrayElement.arrayFromListST

arrayFromMaybeList[Maybe (𝖇, 𝖆)]JArray (𝖇, 𝖆)

inherited from ArrayElement.arrayFromMaybeList

arrayFromMaybeListST[Maybe (𝖇, 𝖆)]STMutable 𝖈 (JArray (𝖇, 𝖆))

inherited from ArrayElement.arrayFromMaybeListST

arrayLengthJArray (𝖇, 𝖆)Int
pure native .length

inherited from ArrayElement.arrayLength

elemAtJArray (𝖇, 𝖆)Int → (𝖇, 𝖆)
pure native [i]

inherited from ArrayElement.elemAt

getAtArrayOf 𝖈 (𝖇, 𝖆)IntST 𝖈 (Maybe (𝖇, 𝖆))
native [i]

inherited from ArrayElement.getAt

getElemAtArrayOf 𝖈 (𝖇, 𝖆)IntST 𝖈 (𝖇, 𝖆)
native [i]

inherited from ArrayElement.getElemAt

itemAtJArray (𝖇, 𝖆)IntMaybe (𝖇, 𝖆)
pure native [i]

inherited from ArrayElement.itemAt

javaClassClass (𝖇, 𝖆)
pure native frege.prelude.PreludeBase.TTuple2.class
listFromArrayJArray (𝖇, 𝖆) → [(𝖇, 𝖆)]

inherited from ArrayElement.listFromArray

maybeListFromArrayJArray (𝖇, 𝖆) → [Maybe (𝖇, 𝖆)]

inherited from ArrayElement.maybeListFromArray

modifyAt ∷ ((𝖇, 𝖆) → (𝖇, 𝖆)) → ArrayOf 𝖈 (𝖇, 𝖆)IntST 𝖈 ()

inherited from ArrayElement.modifyAt

modifyElemAt ∷ ((𝖇, 𝖆) → (𝖇, 𝖆)) → ArrayOf 𝖈 (𝖇, 𝖆)IntST 𝖈 ()

inherited from ArrayElement.modifyElemAt

newArrayIntSTMutable 𝖈 (JArray (𝖇, 𝖆))
native new[]

inherited from ArrayElement.newArray

setAtArrayOf 𝖈 (𝖇, 𝖆)IntMaybe (𝖇, 𝖆)ST 𝖈 ()
native []=

inherited from ArrayElement.setAt

setElemAtArrayOf 𝖈 (𝖇, 𝖆)Int(𝖇, 𝖆)ST 𝖈 ()
native []=

inherited from ArrayElement.setElemAt

instance ArrayElement (a, b, c)

Member Functions

arrayFromIndexList[(Int, (𝖇, 𝖈, 𝖆))]JArray (𝖇, 𝖈, 𝖆)

inherited from ArrayElement.arrayFromIndexList

arrayFromIndexListST[(Int, (𝖇, 𝖈, 𝖆))]STMutable 𝖉 (JArray (𝖇, 𝖈, 𝖆))

inherited from ArrayElement.arrayFromIndexListST

arrayFromList[(𝖇, 𝖈, 𝖆)]JArray (𝖇, 𝖈, 𝖆)

inherited from ArrayElement.arrayFromList

arrayFromListST[(𝖇, 𝖈, 𝖆)]STMutable 𝖉 (JArray (𝖇, 𝖈, 𝖆))

inherited from ArrayElement.arrayFromListST

arrayFromMaybeList[Maybe (𝖇, 𝖈, 𝖆)]JArray (𝖇, 𝖈, 𝖆)

inherited from ArrayElement.arrayFromMaybeList

arrayFromMaybeListST[Maybe (𝖇, 𝖈, 𝖆)]STMutable 𝖉 (JArray (𝖇, 𝖈, 𝖆))

inherited from ArrayElement.arrayFromMaybeListST

arrayLengthJArray (𝖇, 𝖈, 𝖆)Int
pure native .length

inherited from ArrayElement.arrayLength

elemAtJArray (𝖇, 𝖈, 𝖆)Int → (𝖇, 𝖈, 𝖆)
pure native [i]

inherited from ArrayElement.elemAt

getAtArrayOf 𝖉 (𝖇, 𝖈, 𝖆)IntST 𝖉 (Maybe (𝖇, 𝖈, 𝖆))
native [i]

inherited from ArrayElement.getAt

getElemAtArrayOf 𝖉 (𝖇, 𝖈, 𝖆)IntST 𝖉 (𝖇, 𝖈, 𝖆)
native [i]

inherited from ArrayElement.getElemAt

itemAtJArray (𝖇, 𝖈, 𝖆)IntMaybe (𝖇, 𝖈, 𝖆)
pure native [i]

inherited from ArrayElement.itemAt

javaClassClass (𝖇, 𝖈, 𝖆)
pure native frege.prelude.PreludeBase.TTuple3.class
listFromArrayJArray (𝖇, 𝖈, 𝖆) → [(𝖇, 𝖈, 𝖆)]

inherited from ArrayElement.listFromArray

maybeListFromArrayJArray (𝖇, 𝖈, 𝖆) → [Maybe (𝖇, 𝖈, 𝖆)]

inherited from ArrayElement.maybeListFromArray

modifyAt ∷ ((𝖇, 𝖈, 𝖆) → (𝖇, 𝖈, 𝖆)) → ArrayOf 𝖉 (𝖇, 𝖈, 𝖆)IntST 𝖉 ()

inherited from ArrayElement.modifyAt

modifyElemAt ∷ ((𝖇, 𝖈, 𝖆) → (𝖇, 𝖈, 𝖆)) → ArrayOf 𝖉 (𝖇, 𝖈, 𝖆)IntST 𝖉 ()

inherited from ArrayElement.modifyElemAt

newArrayIntSTMutable 𝖉 (JArray (𝖇, 𝖈, 𝖆))
native new[]

inherited from ArrayElement.newArray

setAtArrayOf 𝖉 (𝖇, 𝖈, 𝖆)IntMaybe (𝖇, 𝖈, 𝖆)ST 𝖉 ()
native []=

inherited from ArrayElement.setAt

setElemAtArrayOf 𝖉 (𝖇, 𝖈, 𝖆)Int(𝖇, 𝖈, 𝖆)ST 𝖉 ()
native []=

inherited from ArrayElement.setElemAt

instance ArrayElement (a→b)

Member Functions

arrayFromIndexList[(Int, 𝖆→𝖇)]JArray (𝖆→𝖇)

inherited from ArrayElement.arrayFromIndexList

arrayFromIndexListST[(Int, 𝖆→𝖇)]STMutable 𝖈 (JArray (𝖆→𝖇))

inherited from ArrayElement.arrayFromIndexListST

arrayFromList[𝖆→𝖇]JArray (𝖆→𝖇)

inherited from ArrayElement.arrayFromList

arrayFromListST[𝖆→𝖇]STMutable 𝖈 (JArray (𝖆→𝖇))

inherited from ArrayElement.arrayFromListST

arrayFromMaybeList[Maybe (𝖆→𝖇)]JArray (𝖆→𝖇)

inherited from ArrayElement.arrayFromMaybeList

arrayFromMaybeListST[Maybe (𝖆→𝖇)]STMutable 𝖈 (JArray (𝖆→𝖇))

inherited from ArrayElement.arrayFromMaybeListST

arrayLengthJArray (𝖆→𝖇)Int
pure native .length

inherited from ArrayElement.arrayLength

elemAtJArray (𝖆→𝖇)Int → 𝖆→𝖇
pure native [i]

inherited from ArrayElement.elemAt

getAtArrayOf 𝖈 (𝖆→𝖇)IntST 𝖈 (Maybe (𝖆→𝖇))
native [i]

inherited from ArrayElement.getAt

getElemAtArrayOf 𝖈 (𝖆→𝖇)IntST 𝖈 (𝖆→𝖇)
native [i]

inherited from ArrayElement.getElemAt

itemAtJArray (𝖆→𝖇)IntMaybe (𝖆→𝖇)
pure native [i]

inherited from ArrayElement.itemAt

javaClassClass (𝖆→𝖇)
pure native Func.U.class
listFromArrayJArray (𝖆→𝖇) → [𝖆→𝖇]

inherited from ArrayElement.listFromArray

maybeListFromArrayJArray (𝖆→𝖇) → [Maybe (𝖆→𝖇)]

inherited from ArrayElement.maybeListFromArray

modifyAt ∷ ((𝖆→𝖇) → 𝖆→𝖇) → ArrayOf 𝖈 (𝖆→𝖇)IntST 𝖈 ()

inherited from ArrayElement.modifyAt

modifyElemAt ∷ ((𝖆→𝖇) → 𝖆→𝖇) → ArrayOf 𝖈 (𝖆→𝖇)IntST 𝖈 ()

inherited from ArrayElement.modifyElemAt

newArrayIntSTMutable 𝖈 (JArray (𝖆→𝖇))
native new[]

inherited from ArrayElement.newArray

setAtArrayOf 𝖈 (𝖆→𝖇)IntMaybe (𝖆→𝖇)ST 𝖈 ()
native []=

inherited from ArrayElement.setAt

setElemAtArrayOf 𝖈 (𝖆→𝖇)Int → (𝖆→𝖇) → ST 𝖈 ()
native []=

inherited from ArrayElement.setElemAt

instance ArrayElement Integer

Member Functions

arrayFromIndexList[(Int, Integer)]JArray Integer

inherited from ArrayElement.arrayFromIndexList

arrayFromIndexListST[(Int, Integer)]STMutable 𝖆 (JArray Integer)

inherited from ArrayElement.arrayFromIndexListST

arrayFromList[Integer]JArray Integer

inherited from ArrayElement.arrayFromList

arrayFromListST[Integer]STMutable 𝖆 (JArray Integer)

inherited from ArrayElement.arrayFromListST

arrayFromMaybeList[Maybe Integer]JArray Integer

inherited from ArrayElement.arrayFromMaybeList

arrayFromMaybeListST[Maybe Integer]STMutable 𝖆 (JArray Integer)

inherited from ArrayElement.arrayFromMaybeListST

arrayLengthJArray IntegerInt
pure native .length

inherited from ArrayElement.arrayLength

elemAtJArray IntegerIntInteger
pure native [i]

inherited from ArrayElement.elemAt

getAtArrayOf 𝖆 IntegerIntST 𝖆 (Maybe Integer)
native [i]

inherited from ArrayElement.getAt

getElemAtArrayOf 𝖆 IntegerIntST 𝖆 Integer
native [i]

inherited from ArrayElement.getElemAt

itemAtJArray IntegerIntMaybe Integer
pure native [i]

inherited from ArrayElement.itemAt

javaClassClass Integer
pure native java.math.BigInteger.class
listFromArrayJArray Integer → [Integer]

inherited from ArrayElement.listFromArray

maybeListFromArrayJArray Integer → [Maybe Integer]

inherited from ArrayElement.maybeListFromArray

modifyAt ∷ (IntegerInteger) → ArrayOf 𝖆 IntegerIntST 𝖆 ()

inherited from ArrayElement.modifyAt

modifyElemAt ∷ (IntegerInteger) → ArrayOf 𝖆 IntegerIntST 𝖆 ()

inherited from ArrayElement.modifyElemAt

newArrayIntSTMutable 𝖆 (JArray Integer)
native new[]

inherited from ArrayElement.newArray

setAtArrayOf 𝖆 IntegerIntMaybe IntegerST 𝖆 ()
native []=

inherited from ArrayElement.setAt

setElemAtArrayOf 𝖆 IntegerIntIntegerST 𝖆 ()
native []=

inherited from ArrayElement.setElemAt

instance ArrayElement String

Member Functions

arrayFromIndexList[(Int, String)]JArray String

inherited from ArrayElement.arrayFromIndexList

arrayFromIndexListST[(Int, String)]STMutable 𝖆 (JArray String)

inherited from ArrayElement.arrayFromIndexListST

arrayFromList[String]JArray String

inherited from ArrayElement.arrayFromList

arrayFromListST[String]STMutable 𝖆 (JArray String)

inherited from ArrayElement.arrayFromListST

arrayFromMaybeList[Maybe String]JArray String

inherited from ArrayElement.arrayFromMaybeList

arrayFromMaybeListST[Maybe String]STMutable 𝖆 (JArray String)

inherited from ArrayElement.arrayFromMaybeListST

arrayLengthJArray StringInt
pure native .length

inherited from ArrayElement.arrayLength

elemAtJArray StringIntString
pure native [i]

inherited from ArrayElement.elemAt

getAtArrayOf 𝖆 StringIntST 𝖆 (Maybe String)
native [i]

inherited from ArrayElement.getAt

getElemAtArrayOf 𝖆 StringIntST 𝖆 String
native [i]

inherited from ArrayElement.getElemAt

itemAtJArray StringIntMaybe String
pure native [i]

inherited from ArrayElement.itemAt

javaClassClass String
native java.lang.String.class
listFromArrayJArray String → [String]

inherited from ArrayElement.listFromArray

maybeListFromArrayJArray String → [Maybe String]

inherited from ArrayElement.maybeListFromArray

modifyAt ∷ (StringString) → ArrayOf 𝖆 StringIntST 𝖆 ()

inherited from ArrayElement.modifyAt

modifyElemAt ∷ (StringString) → ArrayOf 𝖆 StringIntST 𝖆 ()

inherited from ArrayElement.modifyElemAt

newArrayIntSTMutable 𝖆 (JArray String)
native new[]

inherited from ArrayElement.newArray

setAtArrayOf 𝖆 StringIntMaybe StringST 𝖆 ()
native []=

inherited from ArrayElement.setAt

setElemAtArrayOf 𝖆 StringIntStringST 𝖆 ()
native []=

inherited from ArrayElement.setElemAt

instance ArrayElement [a]

Member Functions

arrayFromIndexList[(Int, [𝖆])]JArray [𝖆]

inherited from ArrayElement.arrayFromIndexList

arrayFromIndexListST[(Int, [𝖆])]STMutable 𝖇 (JArray [𝖆])

inherited from ArrayElement.arrayFromIndexListST

arrayFromList[[𝖆]]JArray [𝖆]

inherited from ArrayElement.arrayFromList

arrayFromListST[[𝖆]]STMutable 𝖇 (JArray [𝖆])

inherited from ArrayElement.arrayFromListST

arrayFromMaybeList[Maybe [𝖆]]JArray [𝖆]

inherited from ArrayElement.arrayFromMaybeList

arrayFromMaybeListST[Maybe [𝖆]]STMutable 𝖇 (JArray [𝖆])

inherited from ArrayElement.arrayFromMaybeListST

arrayLengthJArray [𝖆]Int
pure native .length

inherited from ArrayElement.arrayLength

elemAtJArray [𝖆]Int → [𝖆]
pure native [i]

inherited from ArrayElement.elemAt

getAtArrayOf 𝖇 [𝖆]IntST 𝖇 (Maybe [𝖆])
native [i]

inherited from ArrayElement.getAt

getElemAtArrayOf 𝖇 [𝖆]IntST 𝖇 [𝖆]
native [i]

inherited from ArrayElement.getElemAt

itemAtJArray [𝖆]IntMaybe [𝖆]
pure native [i]

inherited from ArrayElement.itemAt

javaClassClass [𝖆]
pure native frege.prelude.PreludeBase.TList.class
listFromArrayJArray [𝖆] → [[𝖆]]

inherited from ArrayElement.listFromArray

maybeListFromArrayJArray [𝖆] → [Maybe [𝖆]]

inherited from ArrayElement.maybeListFromArray

modifyAt ∷ ([𝖆] → [𝖆]) → ArrayOf 𝖇 [𝖆]IntST 𝖇 ()

inherited from ArrayElement.modifyAt

modifyElemAt ∷ ([𝖆] → [𝖆]) → ArrayOf 𝖇 [𝖆]IntST 𝖇 ()

inherited from ArrayElement.modifyElemAt

newArrayIntSTMutable 𝖇 (JArray [𝖆])
native new[]

inherited from ArrayElement.newArray

setAtArrayOf 𝖇 [𝖆]IntMaybe [𝖆]ST 𝖇 ()
native []=

inherited from ArrayElement.setAt

setElemAtArrayOf 𝖇 [𝖆]Int[𝖆]ST 𝖇 ()
native []=

inherited from ArrayElement.setElemAt

instance Eq a ⇒ Eq (JArray a)

Member Functions

!=Eq 𝖆 ⇒ JArray 𝖆JArray 𝖆Bool
infix  7

inherited from Eq.!=

==Eq 𝖆 ⇒ JArray 𝖆JArray 𝖆Bool
infix  7
hashCodeEq 𝖆 ⇒ JArray 𝖆Int
instance JavaType (JArray Int)

Member Functions

javaClassClass (JArray Int)
native int[].class
instance ListSource JArray

Member Functions

toListJArray 𝖆 → [𝖆]

Unload an immutable array to a list

The resulting list consists of all the non null elements of the array argument.

This will work for arrays of reference type only!

instance PrimitiveArrayElement Bool

Member Functions

arrayFromIndexList[(Int, Bool)]JArray Bool

inherited from ArrayElement.arrayFromIndexList

arrayFromIndexListST[(Int, Bool)]STMutable 𝖆 (JArray Bool)

inherited from ArrayElement.arrayFromIndexListST

arrayFromList[Bool]JArray Bool

inherited from ArrayElement.arrayFromList

arrayFromListST[Bool]STMutable 𝖆 (JArray Bool)

inherited from ArrayElement.arrayFromListST

arrayFromMaybeList[Maybe Bool]JArray Bool

inherited from ArrayElement.arrayFromMaybeList

arrayFromMaybeListST[Maybe Bool]STMutable 𝖆 (JArray Bool)

inherited from ArrayElement.arrayFromMaybeListST

arrayLengthJArray BoolInt
pure native .length

inherited from ArrayElement.arrayLength

elemAtJArray BoolIntBool
pure native [i]

inherited from ArrayElement.elemAt

getAtArrayOf 𝖆 BoolIntST 𝖆 (Maybe Bool)

inherited from PrimitiveArrayElement.getAt

getElemAtArrayOf 𝖆 BoolIntST 𝖆 Bool
native [i]

inherited from ArrayElement.getElemAt

itemAtJArray BoolIntMaybe Bool

inherited from PrimitiveArrayElement.itemAt

javaClassClass Bool
native boolean.class
listFromArrayJArray Bool → [Bool]

inherited from ArrayElement.listFromArray

maybeListFromArrayJArray Bool → [Maybe Bool]

inherited from ArrayElement.maybeListFromArray

modifyAt ∷ (BoolBool) → ArrayOf 𝖆 BoolIntST 𝖆 ()

inherited from ArrayElement.modifyAt

modifyElemAt ∷ (BoolBool) → ArrayOf 𝖆 BoolIntST 𝖆 ()

inherited from ArrayElement.modifyElemAt

newArrayIntSTMutable 𝖆 (JArray Bool)
native new[]

inherited from ArrayElement.newArray

setAtArrayOf 𝖆 BoolIntMaybe BoolST 𝖆 ()

inherited from PrimitiveArrayElement.setAt

setElemAtArrayOf 𝖆 BoolIntBoolST 𝖆 ()
native []=

inherited from ArrayElement.setElemAt

instance PrimitiveArrayElement Char

Member Functions

arrayFromIndexList[(Int, Char)]JArray Char

inherited from ArrayElement.arrayFromIndexList

arrayFromIndexListST[(Int, Char)]STMutable 𝖆 (JArray Char)

inherited from ArrayElement.arrayFromIndexListST

arrayFromList[Char]JArray Char

inherited from ArrayElement.arrayFromList

arrayFromListST[Char]STMutable 𝖆 (JArray Char)

inherited from ArrayElement.arrayFromListST

arrayFromMaybeList[Maybe Char]JArray Char

inherited from ArrayElement.arrayFromMaybeList

arrayFromMaybeListST[Maybe Char]STMutable 𝖆 (JArray Char)

inherited from ArrayElement.arrayFromMaybeListST

arrayLengthJArray CharInt
pure native .length

inherited from ArrayElement.arrayLength

elemAtJArray CharIntChar
pure native [i]

inherited from ArrayElement.elemAt

getAtArrayOf 𝖆 CharIntST 𝖆 (Maybe Char)

inherited from PrimitiveArrayElement.getAt

getElemAtArrayOf 𝖆 CharIntST 𝖆 Char
native [i]

inherited from ArrayElement.getElemAt

itemAtJArray CharIntMaybe Char

inherited from PrimitiveArrayElement.itemAt

javaClassClass Char
native char.class
listFromArrayJArray Char → [Char]

inherited from ArrayElement.listFromArray

maybeListFromArrayJArray Char → [Maybe Char]

inherited from ArrayElement.maybeListFromArray

modifyAt ∷ (CharChar) → ArrayOf 𝖆 CharIntST 𝖆 ()

inherited from ArrayElement.modifyAt

modifyElemAt ∷ (CharChar) → ArrayOf 𝖆 CharIntST 𝖆 ()

inherited from ArrayElement.modifyElemAt

newArrayIntSTMutable 𝖆 (JArray Char)
native new[]

inherited from ArrayElement.newArray

setAtArrayOf 𝖆 CharIntMaybe CharST 𝖆 ()

inherited from PrimitiveArrayElement.setAt

setElemAtArrayOf 𝖆 CharIntCharST 𝖆 ()
native []=

inherited from ArrayElement.setElemAt

instance PrimitiveArrayElement Double

Member Functions

arrayFromIndexList[(Int, Double)]JArray Double

inherited from ArrayElement.arrayFromIndexList

arrayFromIndexListST[(Int, Double)]STMutable 𝖆 (JArray Double)

inherited from ArrayElement.arrayFromIndexListST

arrayFromList[Double]JArray Double

inherited from ArrayElement.arrayFromList

arrayFromListST[Double]STMutable 𝖆 (JArray Double)

inherited from ArrayElement.arrayFromListST

arrayFromMaybeList[Maybe Double]JArray Double

inherited from ArrayElement.arrayFromMaybeList

arrayFromMaybeListST[Maybe Double]STMutable 𝖆 (JArray Double)

inherited from ArrayElement.arrayFromMaybeListST

arrayLengthJArray DoubleInt
pure native .length

inherited from ArrayElement.arrayLength

elemAtJArray DoubleIntDouble
pure native [i]

inherited from ArrayElement.elemAt

getAtArrayOf 𝖆 DoubleIntST 𝖆 (Maybe Double)

inherited from PrimitiveArrayElement.getAt

getElemAtArrayOf 𝖆 DoubleIntST 𝖆 Double
native [i]

inherited from ArrayElement.getElemAt

itemAtJArray DoubleIntMaybe Double

inherited from PrimitiveArrayElement.itemAt

javaClassClass Double
native double.class
listFromArrayJArray Double → [Double]

inherited from ArrayElement.listFromArray

maybeListFromArrayJArray Double → [Maybe Double]

inherited from ArrayElement.maybeListFromArray

modifyAt ∷ (DoubleDouble) → ArrayOf 𝖆 DoubleIntST 𝖆 ()

inherited from ArrayElement.modifyAt

modifyElemAt ∷ (DoubleDouble) → ArrayOf 𝖆 DoubleIntST 𝖆 ()

inherited from ArrayElement.modifyElemAt

newArrayIntSTMutable 𝖆 (JArray Double)
native new[]

inherited from ArrayElement.newArray

setAtArrayOf 𝖆 DoubleIntMaybe DoubleST 𝖆 ()

inherited from PrimitiveArrayElement.setAt

setElemAtArrayOf 𝖆 DoubleIntDoubleST 𝖆 ()
native []=

inherited from ArrayElement.setElemAt

instance PrimitiveArrayElement Float

Member Functions

arrayFromIndexList[(Int, Float)]JArray Float

inherited from ArrayElement.arrayFromIndexList

arrayFromIndexListST[(Int, Float)]STMutable 𝖆 (JArray Float)

inherited from ArrayElement.arrayFromIndexListST

arrayFromList[Float]JArray Float

inherited from ArrayElement.arrayFromList

arrayFromListST[Float]STMutable 𝖆 (JArray Float)

inherited from ArrayElement.arrayFromListST

arrayFromMaybeList[Maybe Float]JArray Float

inherited from ArrayElement.arrayFromMaybeList

arrayFromMaybeListST[Maybe Float]STMutable 𝖆 (JArray Float)

inherited from ArrayElement.arrayFromMaybeListST

arrayLengthJArray FloatInt
pure native .length

inherited from ArrayElement.arrayLength

elemAtJArray FloatIntFloat
pure native [i]

inherited from ArrayElement.elemAt

getAtArrayOf 𝖆 FloatIntST 𝖆 (Maybe Float)

inherited from PrimitiveArrayElement.getAt

getElemAtArrayOf 𝖆 FloatIntST 𝖆 Float
native [i]

inherited from ArrayElement.getElemAt

itemAtJArray FloatIntMaybe Float

inherited from PrimitiveArrayElement.itemAt

javaClassClass Float
native float.class
listFromArrayJArray Float → [Float]

inherited from ArrayElement.listFromArray

maybeListFromArrayJArray Float → [Maybe Float]

inherited from ArrayElement.maybeListFromArray

modifyAt ∷ (FloatFloat) → ArrayOf 𝖆 FloatIntST 𝖆 ()

inherited from ArrayElement.modifyAt

modifyElemAt ∷ (FloatFloat) → ArrayOf 𝖆 FloatIntST 𝖆 ()

inherited from ArrayElement.modifyElemAt

newArrayIntSTMutable 𝖆 (JArray Float)
native new[]

inherited from ArrayElement.newArray

setAtArrayOf 𝖆 FloatIntMaybe FloatST 𝖆 ()

inherited from PrimitiveArrayElement.setAt

setElemAtArrayOf 𝖆 FloatIntFloatST 𝖆 ()
native []=

inherited from ArrayElement.setElemAt

instance PrimitiveArrayElement Int

Member Functions

arrayFromIndexList[(Int, Int)]JArray Int

inherited from ArrayElement.arrayFromIndexList

arrayFromIndexListST[(Int, Int)]STMutable 𝖆 (JArray Int)

inherited from ArrayElement.arrayFromIndexListST

arrayFromList[Int]JArray Int

inherited from ArrayElement.arrayFromList

arrayFromListST[Int]STMutable 𝖆 (JArray Int)

inherited from ArrayElement.arrayFromListST

arrayFromMaybeList[Maybe Int]JArray Int

inherited from ArrayElement.arrayFromMaybeList

arrayFromMaybeListST[Maybe Int]STMutable 𝖆 (JArray Int)

inherited from ArrayElement.arrayFromMaybeListST

arrayLengthJArray IntInt
pure native .length

inherited from ArrayElement.arrayLength

elemAtJArray IntIntInt
pure native [i]

inherited from ArrayElement.elemAt

getAtArrayOf 𝖆 IntIntST 𝖆 (Maybe Int)

inherited from PrimitiveArrayElement.getAt

getElemAtArrayOf 𝖆 IntIntST 𝖆 Int
native [i]

inherited from ArrayElement.getElemAt

itemAtJArray IntIntMaybe Int

inherited from PrimitiveArrayElement.itemAt

javaClassClass Int
native int.class
listFromArrayJArray Int → [Int]

inherited from ArrayElement.listFromArray

maybeListFromArrayJArray Int → [Maybe Int]

inherited from ArrayElement.maybeListFromArray

modifyAt ∷ (IntInt) → ArrayOf 𝖆 IntIntST 𝖆 ()

inherited from ArrayElement.modifyAt

modifyElemAt ∷ (IntInt) → ArrayOf 𝖆 IntIntST 𝖆 ()

inherited from ArrayElement.modifyElemAt

newArrayIntSTMutable 𝖆 (JArray Int)
native new[]

inherited from ArrayElement.newArray

setAtArrayOf 𝖆 IntIntMaybe IntST 𝖆 ()

inherited from PrimitiveArrayElement.setAt

setElemAtArrayOf 𝖆 IntIntIntST 𝖆 ()
native []=

inherited from ArrayElement.setElemAt

instance PrimitiveArrayElement Long

Member Functions

arrayFromIndexList[(Int, Long)]JArray Long

inherited from ArrayElement.arrayFromIndexList

arrayFromIndexListST[(Int, Long)]STMutable 𝖆 (JArray Long)

inherited from ArrayElement.arrayFromIndexListST

arrayFromList[Long]JArray Long

inherited from ArrayElement.arrayFromList

arrayFromListST[Long]STMutable 𝖆 (JArray Long)

inherited from ArrayElement.arrayFromListST

arrayFromMaybeList[Maybe Long]JArray Long

inherited from ArrayElement.arrayFromMaybeList

arrayFromMaybeListST[Maybe Long]STMutable 𝖆 (JArray Long)

inherited from ArrayElement.arrayFromMaybeListST

arrayLengthJArray LongInt
pure native .length

inherited from ArrayElement.arrayLength

elemAtJArray LongIntLong
pure native [i]

inherited from ArrayElement.elemAt

getAtArrayOf 𝖆 LongIntST 𝖆 (Maybe Long)

inherited from PrimitiveArrayElement.getAt

getElemAtArrayOf 𝖆 LongIntST 𝖆 Long
native [i]

inherited from ArrayElement.getElemAt

itemAtJArray LongIntMaybe Long

inherited from PrimitiveArrayElement.itemAt

javaClassClass Long
native long.class
listFromArrayJArray Long → [Long]

inherited from ArrayElement.listFromArray

maybeListFromArrayJArray Long → [Maybe Long]

inherited from ArrayElement.maybeListFromArray

modifyAt ∷ (LongLong) → ArrayOf 𝖆 LongIntST 𝖆 ()

inherited from ArrayElement.modifyAt

modifyElemAt ∷ (LongLong) → ArrayOf 𝖆 LongIntST 𝖆 ()

inherited from ArrayElement.modifyElemAt

newArrayIntSTMutable 𝖆 (JArray Long)
native new[]

inherited from ArrayElement.newArray

setAtArrayOf 𝖆 LongIntMaybe LongST 𝖆 ()

inherited from PrimitiveArrayElement.setAt

setElemAtArrayOf 𝖆 LongIntLongST 𝖆 ()
native []=

inherited from ArrayElement.setElemAt

Functions and Values by Type

JArray StringIntMaybe String

ArrayElement_String.itemAt

JArray StringIntString

ArrayElement_String.elemAt

JArray String → [Maybe String]

ArrayElement_String.maybeListFromArray

JArray String → [String]

ArrayElement_String.listFromArray

JArray StringInt

ArrayElement_String.arrayLength

JArray BoolIntMaybe Bool

PrimitiveArrayElement_Bool.itemAt

JArray BoolIntBool

PrimitiveArrayElement_Bool.elemAt

JArray Bool → [Maybe Bool]

PrimitiveArrayElement_Bool.maybeListFromArray

JArray Bool → [Bool]

PrimitiveArrayElement_Bool.listFromArray

JArray BoolInt

PrimitiveArrayElement_Bool.arrayLength

JArray CharIntMaybe Char

PrimitiveArrayElement_Char.itemAt

JArray CharIntChar

PrimitiveArrayElement_Char.elemAt

JArray Char → [Maybe Char]

PrimitiveArrayElement_Char.maybeListFromArray

JArray Char → [Char]

PrimitiveArrayElement_Char.listFromArray

JArray CharInt

PrimitiveArrayElement_Char.arrayLength

JArray DoubleIntMaybe Double

PrimitiveArrayElement_Double.itemAt

JArray DoubleIntDouble

PrimitiveArrayElement_Double.elemAt

JArray Double → [Maybe Double]

PrimitiveArrayElement_Double.maybeListFromArray

JArray Double → [Double]

PrimitiveArrayElement_Double.listFromArray

JArray DoubleInt

PrimitiveArrayElement_Double.arrayLength

JArray FloatIntMaybe Float

PrimitiveArrayElement_Float.itemAt

JArray FloatIntFloat

PrimitiveArrayElement_Float.elemAt

JArray Float → [Maybe Float]

PrimitiveArrayElement_Float.maybeListFromArray

JArray Float → [Float]

PrimitiveArrayElement_Float.listFromArray

JArray FloatInt

PrimitiveArrayElement_Float.arrayLength

JArray IntIntMaybe Int

PrimitiveArrayElement_Int.itemAt

JArray IntIntInt

PrimitiveArrayElement_Int.elemAt

JArray Int → [Maybe Int]

PrimitiveArrayElement_Int.maybeListFromArray

JArray Int → [Int]

PrimitiveArrayElement_Int.listFromArray

JArray IntInt

PrimitiveArrayElement_Int.arrayLength

JArray IntegerIntMaybe Integer

ArrayElement_Integer.itemAt

JArray IntegerIntInteger

ArrayElement_Integer.elemAt

JArray Integer → [Maybe Integer]

ArrayElement_Integer.maybeListFromArray

JArray Integer → [Integer]

ArrayElement_Integer.listFromArray

JArray IntegerInt

ArrayElement_Integer.arrayLength

JArray LongIntMaybe Long

PrimitiveArrayElement_Long.itemAt

JArray LongIntLong

PrimitiveArrayElement_Long.elemAt

JArray Long → [Maybe Long]

PrimitiveArrayElement_Long.maybeListFromArray

JArray Long → [Long]

PrimitiveArrayElement_Long.listFromArray

JArray LongInt

PrimitiveArrayElement_Long.arrayLength

[(Int, String)] → JArray String

ArrayElement_String.arrayFromIndexList

[(Int, Bool)] → JArray Bool

PrimitiveArrayElement_Bool.arrayFromIndexList

[(Int, Char)] → JArray Char

PrimitiveArrayElement_Char.arrayFromIndexList

[(Int, Double)] → JArray Double

PrimitiveArrayElement_Double.arrayFromIndexList

[(Int, Float)] → JArray Float

PrimitiveArrayElement_Float.arrayFromIndexList

[(Int, Int)] → JArray Int

PrimitiveArrayElement_Int.arrayFromIndexList

[(Int, Integer)] → JArray Integer

ArrayElement_Integer.arrayFromIndexList

[(Int, Long)] → JArray Long

PrimitiveArrayElement_Long.arrayFromIndexList

[Maybe String] → JArray String

ArrayElement_String.arrayFromMaybeList

[Maybe Bool] → JArray Bool

PrimitiveArrayElement_Bool.arrayFromMaybeList

[Maybe Char] → JArray Char

PrimitiveArrayElement_Char.arrayFromMaybeList

[Maybe Double] → JArray Double

PrimitiveArrayElement_Double.arrayFromMaybeList

[Maybe Float] → JArray Float

PrimitiveArrayElement_Float.arrayFromMaybeList

[Maybe Int] → JArray Int

PrimitiveArrayElement_Int.arrayFromMaybeList

[Maybe Integer] → JArray Integer

ArrayElement_Integer.arrayFromMaybeList

[Maybe Long] → JArray Long

PrimitiveArrayElement_Long.arrayFromMaybeList

[String] → JArray String

ArrayElement_String.arrayFromList

[Bool] → JArray Bool

PrimitiveArrayElement_Bool.arrayFromList

[Char] → JArray Char

PrimitiveArrayElement_Char.arrayFromList

[Double] → JArray Double

PrimitiveArrayElement_Double.arrayFromList

[Float] → JArray Float

PrimitiveArrayElement_Float.arrayFromList

[Int] → JArray Int

PrimitiveArrayElement_Int.arrayFromList

[Integer] → JArray Integer

ArrayElement_Integer.arrayFromList

[Long] → JArray Long

PrimitiveArrayElement_Long.arrayFromList

Class (JArray Int)

JavaType_JArray.javaClass

Class String

ArrayElement_String.javaClass

Class Bool

PrimitiveArrayElement_Bool.javaClass

Class Char

PrimitiveArrayElement_Char.javaClass

Class Double

PrimitiveArrayElement_Double.javaClass

Class Float

PrimitiveArrayElement_Float.javaClass

Class Int

PrimitiveArrayElement_Int.javaClass

Class Integer

ArrayElement_Integer.javaClass

Class Long

PrimitiveArrayElement_Long.javaClass

(StringString) → ArrayOf 𝖆 StringIntST 𝖆 ()

ArrayElement_String.modifyAt, ArrayElement_String.modifyElemAt

(BoolBool) → ArrayOf 𝖆 BoolIntST 𝖆 ()

PrimitiveArrayElement_Bool.modifyAt, PrimitiveArrayElement_Bool.modifyElemAt

(CharChar) → ArrayOf 𝖆 CharIntST 𝖆 ()

PrimitiveArrayElement_Char.modifyAt, PrimitiveArrayElement_Char.modifyElemAt

(DoubleDouble) → ArrayOf 𝖆 DoubleIntST 𝖆 ()

PrimitiveArrayElement_Double.modifyAt, PrimitiveArrayElement_Double.modifyElemAt

(FloatFloat) → ArrayOf 𝖆 FloatIntST 𝖆 ()

PrimitiveArrayElement_Float.modifyAt, PrimitiveArrayElement_Float.modifyElemAt

(IntInt) → ArrayOf 𝖆 IntIntST 𝖆 ()

PrimitiveArrayElement_Int.modifyAt, PrimitiveArrayElement_Int.modifyElemAt

(IntegerInteger) → ArrayOf 𝖆 IntegerIntST 𝖆 ()

ArrayElement_Integer.modifyAt, ArrayElement_Integer.modifyElemAt

(LongLong) → ArrayOf 𝖆 LongIntST 𝖆 ()

PrimitiveArrayElement_Long.modifyAt, PrimitiveArrayElement_Long.modifyElemAt

ArrayOf 𝖆 StringIntMaybe StringST 𝖆 ()

ArrayElement_String.setAt

ArrayOf 𝖆 StringIntStringST 𝖆 ()

ArrayElement_String.setElemAt

ArrayOf 𝖆 StringIntST 𝖆 (Maybe String)

ArrayElement_String.getAt

ArrayOf 𝖆 StringIntST 𝖆 String

ArrayElement_String.getElemAt

ArrayOf 𝖆 BoolIntMaybe BoolST 𝖆 ()

PrimitiveArrayElement_Bool.setAt

ArrayOf 𝖆 BoolIntBoolST 𝖆 ()

PrimitiveArrayElement_Bool.setElemAt

ArrayOf 𝖆 BoolIntST 𝖆 (Maybe Bool)

PrimitiveArrayElement_Bool.getAt

ArrayOf 𝖆 BoolIntST 𝖆 Bool

PrimitiveArrayElement_Bool.getElemAt

ArrayOf 𝖆 CharIntMaybe CharST 𝖆 ()

PrimitiveArrayElement_Char.setAt

ArrayOf 𝖆 CharIntCharST 𝖆 ()

PrimitiveArrayElement_Char.setElemAt

ArrayOf 𝖆 CharIntST 𝖆 (Maybe Char)

PrimitiveArrayElement_Char.getAt

ArrayOf 𝖆 CharIntST 𝖆 Char

PrimitiveArrayElement_Char.getElemAt

ArrayOf 𝖆 DoubleIntMaybe DoubleST 𝖆 ()

PrimitiveArrayElement_Double.setAt

ArrayOf 𝖆 DoubleIntDoubleST 𝖆 ()

PrimitiveArrayElement_Double.setElemAt

ArrayOf 𝖆 DoubleIntST 𝖆 (Maybe Double)

PrimitiveArrayElement_Double.getAt

ArrayOf 𝖆 DoubleIntST 𝖆 Double

PrimitiveArrayElement_Double.getElemAt

ArrayOf 𝖆 FloatIntMaybe FloatST 𝖆 ()

PrimitiveArrayElement_Float.setAt

ArrayOf 𝖆 FloatIntFloatST 𝖆 ()

PrimitiveArrayElement_Float.setElemAt

ArrayOf 𝖆 FloatIntST 𝖆 (Maybe Float)

PrimitiveArrayElement_Float.getAt

ArrayOf 𝖆 FloatIntST 𝖆 Float

PrimitiveArrayElement_Float.getElemAt

ArrayOf 𝖆 IntIntMaybe IntST 𝖆 ()

PrimitiveArrayElement_Int.setAt

ArrayOf 𝖆 IntIntIntST 𝖆 ()

PrimitiveArrayElement_Int.setElemAt

ArrayOf 𝖆 IntIntST 𝖆 (Maybe Int)

PrimitiveArrayElement_Int.getAt

ArrayOf 𝖆 IntIntST 𝖆 Int

PrimitiveArrayElement_Int.getElemAt

ArrayOf 𝖆 IntegerIntMaybe IntegerST 𝖆 ()

ArrayElement_Integer.setAt

ArrayOf 𝖆 IntegerIntIntegerST 𝖆 ()

ArrayElement_Integer.setElemAt

ArrayOf 𝖆 IntegerIntST 𝖆 (Maybe Integer)

ArrayElement_Integer.getAt

ArrayOf 𝖆 IntegerIntST 𝖆 Integer

ArrayElement_Integer.getElemAt

ArrayOf 𝖆 LongIntMaybe LongST 𝖆 ()

PrimitiveArrayElement_Long.setAt

ArrayOf 𝖆 LongIntLongST 𝖆 ()

PrimitiveArrayElement_Long.setElemAt

ArrayOf 𝖆 LongIntST 𝖆 (Maybe Long)

PrimitiveArrayElement_Long.getAt

ArrayOf 𝖆 LongIntST 𝖆 Long

PrimitiveArrayElement_Long.getElemAt

JArray [𝖆] → IntMaybe [𝖆]

ArrayElement_[].itemAt

JArray [𝖆] → Int → [𝖆]

ArrayElement_[].elemAt

JArray [𝖆] → [Maybe [𝖆]]

ArrayElement_[].maybeListFromArray

JArray [𝖆] → [[𝖆]]

ArrayElement_[].listFromArray

JArray [𝖆] → Int

ArrayElement_[].arrayLength

JArray a → IntMaybe a

JArray.genericItemAt

JArray a → Int → a

JArray.genericElemAt

JArray a → Int

JArray.length

JArray α → [Maybe α]

genericToMaybeList

JArray 𝖆 → [𝖆]

ListSource_JArray.toList

[(Int, String)] → STMutable 𝖆 (JArray String)

ArrayElement_String.arrayFromIndexListST

[(Int, [𝖆])] → JArray [𝖆]

ArrayElement_[].arrayFromIndexList

[(Int, Bool)] → STMutable 𝖆 (JArray Bool)

PrimitiveArrayElement_Bool.arrayFromIndexListST

[(Int, Char)] → STMutable 𝖆 (JArray Char)

PrimitiveArrayElement_Char.arrayFromIndexListST

[(Int, Double)] → STMutable 𝖆 (JArray Double)

PrimitiveArrayElement_Double.arrayFromIndexListST

[(Int, Float)] → STMutable 𝖆 (JArray Float)

PrimitiveArrayElement_Float.arrayFromIndexListST

[(Int, Int)] → STMutable 𝖆 (JArray Int)

PrimitiveArrayElement_Int.arrayFromIndexListST

[(Int, Integer)] → STMutable 𝖆 (JArray Integer)

ArrayElement_Integer.arrayFromIndexListST

[(Int, Long)] → STMutable 𝖆 (JArray Long)

PrimitiveArrayElement_Long.arrayFromIndexListST

[Maybe String] → STMutable 𝖆 (JArray String)

ArrayElement_String.arrayFromMaybeListST

[Maybe [𝖆]] → JArray [𝖆]

ArrayElement_[].arrayFromMaybeList

[Maybe Bool] → STMutable 𝖆 (JArray Bool)

PrimitiveArrayElement_Bool.arrayFromMaybeListST

[Maybe Char] → STMutable 𝖆 (JArray Char)

PrimitiveArrayElement_Char.arrayFromMaybeListST

[Maybe Double] → STMutable 𝖆 (JArray Double)

PrimitiveArrayElement_Double.arrayFromMaybeListST

[Maybe Float] → STMutable 𝖆 (JArray Float)

PrimitiveArrayElement_Float.arrayFromMaybeListST

[Maybe Int] → STMutable 𝖆 (JArray Int)

PrimitiveArrayElement_Int.arrayFromMaybeListST

[Maybe Integer] → STMutable 𝖆 (JArray Integer)

ArrayElement_Integer.arrayFromMaybeListST

[Maybe Long] → STMutable 𝖆 (JArray Long)

PrimitiveArrayElement_Long.arrayFromMaybeListST

[String] → STMutable 𝖆 (JArray String)

ArrayElement_String.arrayFromListST

[[𝖆]] → JArray [𝖆]

ArrayElement_[].arrayFromList

[Bool] → STMutable 𝖆 (JArray Bool)

PrimitiveArrayElement_Bool.arrayFromListST

[Char] → STMutable 𝖆 (JArray Char)

PrimitiveArrayElement_Char.arrayFromListST

[Double] → STMutable 𝖆 (JArray Double)

PrimitiveArrayElement_Double.arrayFromListST

[Float] → STMutable 𝖆 (JArray Float)

PrimitiveArrayElement_Float.arrayFromListST

[Int] → STMutable 𝖆 (JArray Int)

PrimitiveArrayElement_Int.arrayFromListST

[Integer] → STMutable 𝖆 (JArray Integer)

ArrayElement_Integer.arrayFromListST

[Long] → STMutable 𝖆 (JArray Long)

PrimitiveArrayElement_Long.arrayFromListST

IntSTMutable 𝖆 (JArray String)

ArrayElement_String.newArray

IntSTMutable 𝖆 (JArray Bool)

PrimitiveArrayElement_Bool.newArray

IntSTMutable 𝖆 (JArray Char)

PrimitiveArrayElement_Char.newArray

IntSTMutable 𝖆 (JArray Double)

PrimitiveArrayElement_Double.newArray

IntSTMutable 𝖆 (JArray Float)

PrimitiveArrayElement_Float.newArray

IntSTMutable 𝖆 (JArray Int)

PrimitiveArrayElement_Int.newArray

IntSTMutable 𝖆 (JArray Integer)

ArrayElement_Integer.newArray

IntSTMutable 𝖆 (JArray Long)

PrimitiveArrayElement_Long.newArray

ArrayElement a ⇒ (IntJArray a → a) → IntJArray a

arrayCache

ArrayElement a ⇒ JArray a → IntMaybe a

ArrayElement.itemAt

ArrayElement a ⇒ JArray a → Int → a

ArrayElement.elemAt

ArrayElement a ⇒ JArray a → [Maybe a]

ArrayElement.maybeListFromArray

ArrayElement a ⇒ JArray a → [a]

ArrayElement.listFromArray

ArrayElement a ⇒ JArray a → Int

ArrayElement.arrayLength

ArrayElement a ⇒ [(Int, a)] → JArray a

ArrayElement.arrayFromIndexList

ArrayElement a ⇒ [Maybe a] → JArray a

ArrayElement.arrayFromMaybeList

ArrayElement a ⇒ [a] → JArray a

ArrayElement.arrayFromList

PrimitiveArrayElement a ⇒ JArray a → IntMaybe a

PrimitiveArrayElement.itemAt

Eq 𝖆 ⇒ JArray 𝖆 → JArray 𝖆 → Bool

Eq_JArray.!=, Eq_JArray.==

Eq 𝖆 ⇒ JArray 𝖆 → Int

Eq_JArray.hashCode

JavaType α ⇒ [(Int, α)] → JArray α

genericArrayFromIndexList

Class [𝖆]

ArrayElement_[].javaClass

([𝖆] → [𝖆]) → ArrayOf 𝖇 [𝖆] → IntST 𝖇 ()

ArrayElement_[].modifyAt, ArrayElement_[].modifyElemAt

(α → β → α) → α → JArray β → α

genericArrayFold

ArrayOf s a → IntMaybe a → ST s ()

JArray.genericSetAt

ArrayOf s a → Int → a → ST s ()

JArray.genericSetElemAt

ArrayOf s a → IntST s (Maybe a)

JArray.genericGetAt

ArrayOf s a → IntST s a

JArray.genericGetElemAt

ArrayOf α β → ST α Int

JArray.getLength

ArrayOf 𝖇 [𝖆] → IntMaybe [𝖆] → ST 𝖇 ()

ArrayElement_[].setAt

ArrayOf 𝖇 [𝖆] → Int → [𝖆] → ST 𝖇 ()

ArrayElement_[].setElemAt

ArrayOf 𝖇 [𝖆] → IntST 𝖇 (Maybe [𝖆])

ArrayElement_[].getAt

ArrayOf 𝖇 [𝖆] → IntST 𝖇 [𝖆]

ArrayElement_[].getElemAt

JArray (𝖇, 𝖆) → Int → (𝖇, 𝖆)

ArrayElement_(,).elemAt

JArray (𝖇, 𝖆) → IntMaybe (𝖇, 𝖆)

ArrayElement_(,).itemAt

JArray (𝖇, 𝖆) → [(𝖇, 𝖆)]

ArrayElement_(,).listFromArray

JArray (𝖇, 𝖆) → [Maybe (𝖇, 𝖆)]

ArrayElement_(,).maybeListFromArray

JArray (𝖇, 𝖆) → Int

ArrayElement_(,).arrayLength

JArray (𝖆→𝖇) → Int → 𝖆→𝖇

ArrayElement_->.elemAt

JArray (𝖆→𝖇) → IntMaybe (𝖆→𝖇)

ArrayElement_->.itemAt

JArray (𝖆→𝖇) → [𝖆→𝖇]

ArrayElement_->.listFromArray

JArray (𝖆→𝖇) → [Maybe (𝖆→𝖇)]

ArrayElement_->.maybeListFromArray

JArray (𝖆→𝖇) → Int

ArrayElement_->.arrayLength

Class a → IntSTMutable s (JArray a)

JArray.new

[(Int, (𝖇, 𝖆))] → JArray (𝖇, 𝖆)

ArrayElement_(,).arrayFromIndexList

[(Int, 𝖆→𝖇)] → JArray (𝖆→𝖇)

ArrayElement_->.arrayFromIndexList

[(Int, [𝖆])] → STMutable 𝖇 (JArray [𝖆])

ArrayElement_[].arrayFromIndexListST

[(𝖇, 𝖆)] → JArray (𝖇, 𝖆)

ArrayElement_(,).arrayFromList

[𝖆→𝖇] → JArray (𝖆→𝖇)

ArrayElement_->.arrayFromList

[Maybe (𝖇, 𝖆)] → JArray (𝖇, 𝖆)

ArrayElement_(,).arrayFromMaybeList

[Maybe (𝖆→𝖇)] → JArray (𝖆→𝖇)

ArrayElement_->.arrayFromMaybeList

[Maybe [𝖆]] → STMutable 𝖇 (JArray [𝖆])

ArrayElement_[].arrayFromMaybeListST

[[𝖆]] → STMutable 𝖇 (JArray [𝖆])

ArrayElement_[].arrayFromListST

IntSTMutable 𝖇 (JArray [𝖆])

ArrayElement_[].newArray

ArrayElement a ⇒ (IntJArray a → a) → IntSTMutable s (JArray a)

arrayCacheST

ArrayElement a ⇒ (a → a) → ArrayOf s a → IntST s ()

ArrayElement.modifyElemAt, ArrayElement.modifyAt

ArrayElement a ⇒ ArrayOf s a → IntMaybe a → ST s ()

ArrayElement.setAt

ArrayElement a ⇒ ArrayOf s a → Int → a → ST s ()

ArrayElement.setElemAt

ArrayElement a ⇒ ArrayOf s a → IntST s (Maybe a)

ArrayElement.getAt

ArrayElement a ⇒ ArrayOf s a → IntST s a

ArrayElement.getElemAt

ArrayElement a ⇒ [(Int, a)] → STMutable β (JArray a)

ArrayElement.arrayFromIndexListST

ArrayElement a ⇒ [Maybe a] → STMutable β (JArray a)

ArrayElement.arrayFromMaybeListST

ArrayElement a ⇒ [a] → STMutable β (JArray a)

ArrayElement.arrayFromListST

ArrayElement a ⇒ IntSTMutable s (JArray a)

ArrayElement.newArray

(ArrayElement a, ArrayElement β) ⇒ (a → β) → JArray a → JArray β

genericArrayMap

ArrayElement α ⇒ (α → α) → ArrayOf β α → ST β ()

JArray.genericModify

ArrayElement α ⇒ [α] → STMutable β (JArray α)

JArray.genericFromList

PrimitiveArrayElement a ⇒ ArrayOf s a → IntMaybe a → ST s ()

PrimitiveArrayElement.setAt

PrimitiveArrayElement a ⇒ ArrayOf s a → IntST s (Maybe a)

PrimitiveArrayElement.getAt

JavaType α ⇒ [(Int, α)] → STMutable β (JArray α)

JArray.genericFromIndexList

Class (𝖇, 𝖆)

ArrayElement_(,).javaClass

Class (𝖆→𝖇)

ArrayElement_->.javaClass

((𝖇, 𝖆) → (𝖇, 𝖆)) → ArrayOf 𝖈 (𝖇, 𝖆) → IntST 𝖈 ()

ArrayElement_(,).modifyAt, ArrayElement_(,).modifyElemAt

((𝖆→𝖇) → 𝖆→𝖇) → ArrayOf 𝖈 (𝖆→𝖇) → IntST 𝖈 ()

ArrayElement_->.modifyAt, ArrayElement_->.modifyElemAt

ArrayOf 𝖈 (𝖇, 𝖆) → Int → (𝖇, 𝖆) → ST 𝖈 ()

ArrayElement_(,).setElemAt

ArrayOf 𝖈 (𝖇, 𝖆) → IntMaybe (𝖇, 𝖆) → ST 𝖈 ()

ArrayElement_(,).setAt

ArrayOf 𝖈 (𝖇, 𝖆) → IntST 𝖈 (𝖇, 𝖆)

ArrayElement_(,).getElemAt

ArrayOf 𝖈 (𝖇, 𝖆) → IntST 𝖈 (Maybe (𝖇, 𝖆))

ArrayElement_(,).getAt

ArrayOf 𝖈 (𝖆→𝖇) → Int → (𝖆→𝖇) → ST 𝖈 ()

ArrayElement_->.setElemAt

ArrayOf 𝖈 (𝖆→𝖇) → IntMaybe (𝖆→𝖇) → ST 𝖈 ()

ArrayElement_->.setAt

ArrayOf 𝖈 (𝖆→𝖇) → IntST 𝖈 (𝖆→𝖇)

ArrayElement_->.getElemAt

ArrayOf 𝖈 (𝖆→𝖇) → IntST 𝖈 (Maybe (𝖆→𝖇))

ArrayElement_->.getAt

JArray (𝖇, 𝖈, 𝖆) → Int → (𝖇, 𝖈, 𝖆)

ArrayElement_(,,).elemAt

JArray (𝖇, 𝖈, 𝖆) → IntMaybe (𝖇, 𝖈, 𝖆)

ArrayElement_(,,).itemAt

JArray (𝖇, 𝖈, 𝖆) → [(𝖇, 𝖈, 𝖆)]

ArrayElement_(,,).listFromArray

JArray (𝖇, 𝖈, 𝖆) → [Maybe (𝖇, 𝖈, 𝖆)]

ArrayElement_(,,).maybeListFromArray

JArray (𝖇, 𝖈, 𝖆) → Int

ArrayElement_(,,).arrayLength

[(𝖇, 𝖈, 𝖆)] → JArray (𝖇, 𝖈, 𝖆)

ArrayElement_(,,).arrayFromList

[(Int, (𝖇, 𝖈, 𝖆))] → JArray (𝖇, 𝖈, 𝖆)

ArrayElement_(,,).arrayFromIndexList

[(Int, (𝖇, 𝖆))] → STMutable 𝖈 (JArray (𝖇, 𝖆))

ArrayElement_(,).arrayFromIndexListST

[(Int, 𝖆→𝖇)] → STMutable 𝖈 (JArray (𝖆→𝖇))

ArrayElement_->.arrayFromIndexListST

[(𝖇, 𝖆)] → STMutable 𝖈 (JArray (𝖇, 𝖆))

ArrayElement_(,).arrayFromListST

[𝖆→𝖇] → STMutable 𝖈 (JArray (𝖆→𝖇))

ArrayElement_->.arrayFromListST

[Maybe (𝖇, 𝖈, 𝖆)] → JArray (𝖇, 𝖈, 𝖆)

ArrayElement_(,,).arrayFromMaybeList

[Maybe (𝖇, 𝖆)] → STMutable 𝖈 (JArray (𝖇, 𝖆))

ArrayElement_(,).arrayFromMaybeListST

[Maybe (𝖆→𝖇)] → STMutable 𝖈 (JArray (𝖆→𝖇))

ArrayElement_->.arrayFromMaybeListST

IntSTMutable 𝖈 (JArray (𝖇, 𝖆))

ArrayElement_(,).newArray

IntSTMutable 𝖈 (JArray (𝖆→𝖇))

ArrayElement_->.newArray

ArrayElement α ⇒ (β → α → β) → β → ArrayOf γ α → ST γ β

JArray.genericFold

Class (𝖇, 𝖈, 𝖆)

ArrayElement_(,,).javaClass

((𝖇, 𝖈, 𝖆) → (𝖇, 𝖈, 𝖆)) → ArrayOf 𝖉 (𝖇, 𝖈, 𝖆) → IntST 𝖉 ()

ArrayElement_(,,).modifyAt, ArrayElement_(,,).modifyElemAt

ArrayOf 𝖉 (𝖇, 𝖈, 𝖆) → Int → (𝖇, 𝖈, 𝖆) → ST 𝖉 ()

ArrayElement_(,,).setElemAt

ArrayOf 𝖉 (𝖇, 𝖈, 𝖆) → IntMaybe (𝖇, 𝖈, 𝖆) → ST 𝖉 ()

ArrayElement_(,,).setAt

ArrayOf 𝖉 (𝖇, 𝖈, 𝖆) → IntST 𝖉 (𝖇, 𝖈, 𝖆)

ArrayElement_(,,).getElemAt

ArrayOf 𝖉 (𝖇, 𝖈, 𝖆) → IntST 𝖉 (Maybe (𝖇, 𝖈, 𝖆))

ArrayElement_(,,).getAt

[(𝖇, 𝖈, 𝖆)] → STMutable 𝖉 (JArray (𝖇, 𝖈, 𝖆))

ArrayElement_(,,).arrayFromListST

[(Int, (𝖇, 𝖈, 𝖆))] → STMutable 𝖉 (JArray (𝖇, 𝖈, 𝖆))

ArrayElement_(,,).arrayFromIndexListST

[Maybe (𝖇, 𝖈, 𝖆)] → STMutable 𝖉 (JArray (𝖇, 𝖈, 𝖆))

ArrayElement_(,,).arrayFromMaybeListST

IntSTMutable 𝖉 (JArray (𝖇, 𝖈, 𝖆))

ArrayElement_(,,).newArray

Valid HTML 4.01 Strict