This type is basically a wrapper over Arrays, which:
- Have a ZipList like applicative implementation.
- Have parallel processing semantics by default.
open FSharpPlus
open FSharpPlus.Data
let arr1 = [| 1..100000|]
let arr2 = [|10..100000|]
let arr1_plus_arr2 = (+) <!> parray arr1 <*> parray arr2
open FSharpPlus.Math.Applicative
let arr1_plus_arr2' = parray arr1 .+. parray arr2
let arrCombined = 10 *. parray arr1 .+. parray arr2 .- 5
let asMonoid = Infinite "Hello " </plus/> parray [|"City"; "World"; "Sun"|]
namespace FSharpPlus
namespace FSharpPlus.Data
val arr1: int array
val arr2: int array
val arr1_plus_arr2: parray<int>
Multiple items
val parray: s: 'a array -> ParallelArray<'a>
<summary>
Creates a parallel array from a normal array.
</summary>
--------------------
type parray<'t> = ParallelArray<'t>
<summary>
A type alias for ParallelArray<'T>
</summary>
namespace FSharpPlus.Math
module Applicative
from FSharpPlus.Math
<summary>Math Operators ready to use over Applicative Functors.</summary>
val arr1_plus_arr2': ParallelArray<int>
val arrCombined: ParallelArray<int>
val asMonoid: ParallelArray<string>
union case ParallelArray.Infinite: 't -> ParallelArray<'t>
val plus: x: 'Monoid -> y: 'Monoid -> 'Monoid (requires member ``+``)
<summary>
Combines two monoids in one.
</summary>
<category index="4">Monoid</category>