haskell / haskell/vector

Length in unboxed instances

Open
#393 12 comments 0 reactions 0 assignees View on GitHub
Dominant language
Haskell
Stars
400
Forks
145
PR merge metrics
No merged PRs in 30d

Description

`Unbox` instances for tuples (defined in `unbox-tuple-instances`) are backed by vectors of the form:
```haskell
data instance Vector (a, b)
= V_2 {-# UNPACK #-} !Int !(Vector a) !(Vector b)
```

This stores the length of each vector. Is there a fundamental reason why we need this length? It seems, naively, like it wastes an extra word as each vector already contains the length and an invariant of the representation should be that both lengths remain identical.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.