ava/notes/lists.md

515 B

Lists

Lists are a standard Ava type. Specifically [A] represents a linked list.

let x: [Int32] := [1, 2, 3]
let y := prepend x 0
let alt_y := 0 :- x
let z := append x [4, 5]
let w: Option[Int32] := head x
let tail: [Int32] := tail x
let sz: [Int32] := size x

Type Class Support

  • Monad
  • Monoid
  • Show
  • Eq

NonEmptyList

The type NonEmptyList is a list which cannot be empty:

given A
record NonEmptyList(head: A, tail: [A])

Indexing

Lists cannot be accessed by index.