Skip to content

Add changelog entries since v5.3.1 #209

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Jan 21, 2021
Merged
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,32 @@ Notable changes to this project are documented in this file. The format is based
## [Unreleased]

Breaking changes:
- Added support for PureScript 0.14 and dropped support for all previous versions (#181)
- Renamed `Data.Array.ST.empty` to `Data.Array.ST.new` (#191, #198)
- Renamed `group'` to `groupAll` (#194, #200)

New features:
- Added specialized monomorphic functions from `Data.Foldable` (#201):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I actually find this a bit confusing, because these functions aren’t actually from Data.Foldable, they’re versions of those functions. I’d suggest “Added specialized versions of the functions from Data.Foldable”. Saying they’re specialized is the same thing as saying they’re monomorphic, and I think using both words makes this a bit harder to parse.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about

Exported monomorphic functions from Data.Foldable (i.e. f is forced to be Array)

It doesn't include the HeytingAlgebra being forced to be Boolean changes we also made (e.g. all, any), but that's the heart of it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still prefer to say “Added specialized versions of the functions from Data.Foldable“. My problem is with saying the functions are from Data.Foldable (as opposed to being versions of the functions from Data.Foldable).

- Added `foldl`, `foldr`, `foldMap`, `fold`, `intercalate` to `Array`
- Added `foldl1`, `foldr1`, `foldMap1`, `foldl1`, `intercalate` to `Array.NonEmpty`
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reorganized the nested bullets to cut down on duplication. What's the follow-up step for intercalate mentioned in the earlier discussion?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The question is whether intercalate should get its own Array specific implementation (for performance) rather than just being a specialization of the intercalate from Data.Foldable. I think it probably should, or at least we should measure to see if an Array-based implementation would speed it up, but I suppose that doesn’t need to happen right now.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've opened #210 to track this.

- Added monomorphic `elem`, `notElem`, `find`, `findMap`, `scanl`, `scanr`, `any`, `all` (#189, #193, #201)
- Added `intersperse`, `groupAllBy`, `splitAt` (#179, #188, #194, #200, #201)
- Added `mapWithIndex`, `groupBy` to `Array.NonEmpty` (#201, #164)

Bugfixes:
- Fixed `sort`, so `undefined` is sorted by comparison function and not simply moved to the end of the array (#195, #197)

Other improvements:
- Generated changelog and added PR template (#208, #209)
- Added benchmarking (#178)
- Migrated to GitHub Actions for CI (#187, #169)
- Removed some internal usages of `unsafeCoerce` (#184)
- Changed `foldM` type signature to more closely match `foldl` (#160)
- Updated installation instructions to use Spago (#171)
- Replaced foreign `cons`, `snoc`, `drop`, `take` with purescript implementations (#180)
- Removed `return {}` from FFI function for a small performance boost (#175)
- Bumped pulp version (#174)
- Removed primes from foreign modules exports (#168)

## [v5.3.1](https://github.com/purescript/purescript-arrays/releases/tag/v5.3.1) - 2019-10-13

Expand Down