18

In PureScript, how does List differ from Array?

What are the reasons to use one over the other?

1 Answer 1

23

The representation for Array is a JavaScript array, whereas List is implemented as a cons (linked) list.

Lists have better performance characteristics when being built up item-by-item, or iterated over by taking an item from front each time - basically List has O(1) cons and uncons, vs O(n) for Array.

Take a look at the documentation for Array and List on Pursuit for more information about the running time of various operations.

Sign up to request clarification or add additional context in comments.

3 Comments

It is worth noting that the List notation in Purescript (for example [1,2,3]) produces an Array of the given type and not a List.
To add further, 1 : 2 : 3 : Nil will give you the required List of elements [1,2,3]
Also, import Data.List (range) then range 1 3 also produces (1 : 2 : 3 : Nil), which is a list, and not an array.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.