homepage: https://github.com/re-xyr/rec-smallarray#readme
changelog-type: markdown
hash: 41032cc3fd0be87a5f5ebd8a1b66fd1ca6b3aa65df610bc847b951aee035d90c
test-bench-deps:
  base: '>=4.12 && <5'
  hspec: -any
  rec-smallarray: -any
  primitive: '>=0.6 && <0.8'
maintainer: xy.r@outlook.com
synopsis: SmallArray-based extensible records for small-scale fast reads
changelog: |
  # Changelog for rec-smallarray

  ## 0.1.0.0 (2022-02-04)

  - Initial API
basic-deps:
  base: '>=4.12 && <5'
  primitive: '>=0.6 && <0.8'
all-versions:
- 0.1.0.0
author: Xy Ren
latest: 0.1.0.0
description-type: markdown
description: |
  # rec-smallarray

  [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/re-xyr/rec-smallarray/build)](https://github.com/re-xyr/rec-smallarray/actions/workflows/build.yaml)
  [![Hackage](https://img.shields.io/hackage/v/rec-smallarray)](https://hackage.haskell.org/package/rec-smallarray)

  An immutable extensible record type based on `SmallArray`s, intended to provide fast reads on small structures.

  ## Asymptotics

  - Index: Amorized `O(1)` with low constant factor
  - Update: `O(n)`
  - Slice: `O(1)`
  - Cons: `O(n)`

  Note that this structure slows down GC when its size exceeds 128.

  ## Contribution

  This library started out as a module in [`cleff`](https://github.com/re-xyr/cleff), an extensible effects library, and it needs to continue accommodating that. Contribution is welcome as long as it does not impede this library's performance nor increase its dependency footprint.
license-name: BSD-3-Clause

Update from Hackage at 2022-02-04T11:21:16Z
Update from Hackage at 2022-02-04T11:21:16Z
