haskell / haskell/critbit

Inline vs. Inlinable?

Open
#60 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Haskell
Stars
141
Forks
40
PR merge metrics
No merged PRs in 30d

Description

`member` is marked INLINABLE while `notMember` is marked INLINE, despite both habing essentially identical structure. Other things that are INLINE while similar functions are INLINABLE: `foldlWithKeyWith`, `foldrWithKeyWith` (in these cases I would expect the API wrapper functions to be INLINE and the longer core function INLINABLE, if anything), `updateExtremity`.

Functions missing any such pragma that I think may want one: `null`, `empty`, `elems`, `assocs`, `keys`, `unionWith`, `unionWithKey`, `unions`, `unionsWith`, `intersectionWithKey`, `map`, `mapKeys`, `toAscList`, `toDescList`, `filter`.

Is there some reason to these decisions that I have overlooked?

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.