Commit Graph

25 Commits

Author SHA1 Message Date
mniip
88b9ac5a23
Add keysWith and toListWith (#106)
* Add keysWith and toListWith

* Add some tests
2021-03-14 12:15:21 +00:00
Chris Penner
b3c8d19563
Add intersection/intersectionWith (#96)
* Add intersection/intersectionWith

* Refactor for code style

* More correct O notations
2020-10-27 17:25:13 +00:00
Chris Penner
1b739d841e
Add "alter" combinator (#95)
* Add "alter" combinator

* Add insert, delete, adjust equivalency tests for alter

* Eta reduce

* Compat with old GHC versions

* Fix imports

* Fix constraint typo

* Conditionally add `Eq` instance for old GHC versions in tests
2020-10-25 10:34:38 +00:00
Chris Penner
aeef5b8cf5
Remove dependency on containers (#93)
* Efficient TypeRepMap unionWith

* Remove containers dependency

* Results shouldn't need re-sorting

* Results shouldn't need re-sorting

* Fix trailing whitespace

* Cleanup

* Updates

* Fix "generateOrderMapping"

* Cleanup

* Better interface for refactor

* Undo insert perf update, move it to a different branch

* Clean up whitespace

* Address stylistic and documentation concerns

* Add generateOrderMapping invariant property test
2020-10-10 22:10:34 +01:00
Veronika Romashkina
22af858341
[#90] Check more ghc warnings through ghc-options (#91)
* [#90] Check more ghc warnings through ghc-options

Resolves #90

* Clean up LANGUAGE extensions
2020-04-18 19:51:04 +01:00
Veronika Romashkina
5d78b489b2
[#87] Move tests to hspec (#88)
Resolves #87
2020-04-18 17:15:01 +01:00
Brandon Hamilton
9e1c7c6f73 Support ghc-8.8.1 (#79)
* Support ghc-8.8.1

* Update test/Test/TypeRep/MapProperty.hs

Co-Authored-By: Dmitrii Kovanikov <kovanikov@gmail.com>

* Remove allow-newer for stack
2019-10-01 15:15:01 +04:00
Alexander Vershilov
2aff258312 Introduce invariant check. (#63)
This check provides if internal structure maintains required
invariants and can be used when changing the logic of the
modification functions.
2019-08-18 12:10:10 +04:00
Dmitrii Kovanikov
b0860b56e1 [#73] Bump up to GHC 8.6.5 (#74)
Resolves #73
2019-05-18 11:14:31 +08:00
Dmitrii Kovanikov
449d5973c1 [#47] Add Eq instance to TypeRepMap using QuantifiedConstraints (#72)
* [#47] Add Eq instance to TypeRepMap using QuantifiedConstraints

Resolves #47

* Fix tests on old GHCs
2019-03-27 19:25:06 +08:00
Veronika Romashkina
290856c713 [#43] IsList instance (#44)
* Put fromList into IsList instance

* Implement IsList instance

Rename TF to WrapTypeable
Add keys field to TypeRepMap

* Fix TypeRep, Add hoistA function
2018-07-27 21:30:22 +08:00
Vladislav Zavialov
2df2fcd0ea Update documentation and module structure (#38) 2018-07-10 22:04:48 +08:00
Dmitrii Kovanikov
dccb742ca1 [#31] Add Semigroup and Monoid instances (#34)
* [#31] Add Semigroup and Monoid instances

* Add imports

* Fix imports again

* Fix cache for stack

* Fix review comments

* Fix Travis cache properly
2018-07-10 13:45:47 +08:00
Veronika Romashkina
bc49de4ee9 [#25] Add TMap, restructure internal lib (#32)
* Add TMap, restructure internal lib

* Add all TMap functions
2018-07-10 09:54:39 +08:00
Dmitrii Kovanikov
979991b437 [#24] Add union and unionWith (#29) 2018-07-09 21:02:15 +08:00
Dmitrii Kovanikov
cbcbb076fe [#17] Add more map-like functions (#19)
* [#17] Add more map-like functions

* Fix review comments
2018-07-09 16:47:53 +08:00
Veronika Romashkina
75b6a57f20 [#6] Add README, refresh docs, refactor, add hlint (#18)
* [#6] Add README, refresh docs, refactor, add hlint

* Fix after review
2018-07-09 12:59:31 +08:00
Veronika Romashkina
e3462514ff [#8] Add property tests for insert lookup (#16)
* Add property tests for insert lookup

Remove Tree structure and convert sorted list directly
to the list with the required order.

Fix work with 8.0.2

* Add insert.insert test, fix CI
2018-07-08 22:58:20 +08:00
Dmitrii Kovanikov
71aa479806 [#7] Implement insert for CachedMap (#13) 2018-07-07 18:30:40 +08:00
Veronika Romashkina
43e8973e03 [#3] Attemp to impl Cached binary search (#11)
* [#3] Attemp to impl Cached binary search

* Improve cached binary search

* Make CacheMap main solution

Move all others into internal folder
Make CacheMap work without losing performance because of the moving
out of the internal modules.

* Inline lookup and binary search
2018-07-07 16:43:40 +08:00
Dmitrii Kovanikov
5ad21784db
[#5] Rename OptimalVector to Map (#9)
* [#5] Rename OptimalVector to Map

* Fix stack travis CI
2018-07-01 18:43:35 +08:00
vrom911
fde78a62f3 Add Unbox instance Fingerprint on 1 Vector, bench 2018-07-01 17:20:18 +08:00
vrom911
bac9009df1
Change TypeRepMap to TypeRepMap f (k -> *) 2017-12-17 17:10:56 +03:00
vrom911
54feff42f4
Add simple tests for TypeRepMap 2017-12-16 15:56:41 +03:00
vrom911
fccc59905d
Create the project 2017-12-16 02:16:25 +03:00