Skip to content

2015 003l ArraySlice

John Reppy edited this page Jul 9, 2023 · 1 revision
structure ArraySlice : ARRAY_SLICE

We propose two new functions for the ArraySlice module.

This page is part of proposal 2015-003.


Synopsis

val toList     : 'a slice -> 'a list
val toVector   : 'a slice -> 'a vector

Description

  • toList arr

returns the list of the elements of the array `arr`.
  • toVector vec

returns a vector of the elements of the array `arr`.

Discussion

The toVector function is the same as the existing vector function, but it follows the toType/fromType naming convention.

Rationale

The toList operation complements the existing fromList and can be implemented more efficiently than by using List.tabulate. Adding the fromVector and toVector functions help reduce the friction of converting between different sequence types.