Skip to content

v0.3.0

Compare
Choose a tag to compare
@dgkf dgkf released this 29 Sep 20:21
· 100 commits to main since this release
4e60cd9

As always, you can try out the latest development release online.

"Days of Abandon"

Major Changes

  • Vector indexed assignment (x[1:3] <- 10) is now supported! What's more,
    it avoids intermediate replications of the vector by keeping track of the
    indexing operation as a "view" of the vector.

    x <- 1:10
    x[2:8][2:5][[2]] <- 1000
    x
    # [1]    1    2    3 1000    5    6    7    8    9   10
  • Mutating assignment implemented for Lists, including by named index.

    x <- list(a = 1, b = 2, c = 3, d = 4, e = 5)
    x[2:3][[1]] <- 200
    x[1:4][c("d", "c")] <- 1000
    x
    # list(a = 1, b = 200, c = 1000, d = 1000, e = 5)

Internals

  • "altreps" are now supported internally, though currently only a "Subset"
    (used for indexed assignment) is implemented.

  • Lists were reworked to use a HashMap of named values, allowing for
    more immediate access to named values without repeated traversals of a
    vector of pairs.