- readme update
bounded-nat
→ >= 35.0.0typesafe-array
→ >= 34.0.0
KeysSet
IdentitySet
add- switch from
( keys, keysToKey )
tokey keysToKey keys
where thekey keysToKey
isn't necessary if there's just one key
Keys
KeysWithFocus
,KeysBeingBuiltWithFocus
addkey
add- switch from
( keys, keysToKey )
tokey keysToKey keys
where thekey keysToKey
isn't necessary if there's just one key
typesafe-array
upgrade to >= 33.0.0bounded-nat
upgrade to >= 34.0.0
typesafe-array
upgrade to >= 32.0.0
KeysSet
fold
removefoldFrom
,foldFromOne
aren't order-independent anymore. Instead they now take a key and directionfoldUntilCompleteFrom
,foldUntilCompleteFromOne
add- fold2s use
AndOr
fold2FromOne
addmapTry
name →fillsMap
toKeys
return keys asKeys.Identity
Keys
- each key stores an access function instead of an index
keyIndex
→keyElement
Char.Order
- alphabetically name → aToZ
Int.Order
,Float.Order
- increasing → up, decreasing → down
typesafe-array
upgrade to >= 31.0.0
- readme prior art expand
miniBill/elm-generic-dict
disadvantages correct
linear-direction
→ >= 11.0.0typesafe-array
→ >= 30.0.0
- readme goodies add
KeySet
,KeysSet
merge- 👍
KeysSet
functionality while still running inlog n
- 👎 more complex API
elementRemove
name →remove
only
name →one
mapTry
type result keeppossiblyOrNever
- 👍
.Order
modules move fromlinear-direction
module Maybe.Order
removemodule Case
move intoChar.Linear
on
add- integrate tag into
Order
, so that simple sets don't require opaque tags, for example
intKeys : Keys.Identity Int Int.Order.Increasing intKeys = Keys.identity Int.Order.increasing
- 👎 chaining with `onTie` is a bit more verbose than `onTieNext [ ... ]` - 👍 chaining with `onTie` is more obvious and easier to read than `onTieNext [ ... ]`
- readme
KeySet
example ordering correct
KeySet
add
- indirection
ElementsWithUniquenessPromises
remove when
remove- in favor of
mapTry
- in favor of
set |> isUnique element
→element |> allDifferentFrom set
equal a b
→a |> isEqualTo b
at door key
→element ( door, key )
update door key
→elementAlter ( door, key )
updateAll
name →alter
remove
name →elementRemove
insertAll
name →insertList
mapTry
addlue-bird/elm-typed-value
dependency remove- in favor of opaque
type
immune to internal changes
- in favor of opaque
- performance improve
-
removed
KeysDict.toDict
-
removed
KeysDict.serialize
-
removed
KeysDict.Uniqueness.violated
-
changed
KeysDict.enterBy { door, key }
toat door key
-
changed
KeysDict.remove { door, key }
toremove door key
-
renamed
KeysDict
toKeysSet
-
moved
KeysDict.Uniqueness.Uniqueness
toKeysSet.Uniqueness
-
moved
KeysDict.Uniqueness.unique
toKeysSet.unique
-
renamed
KeysDict.foldHouses
tofold
-
renamed
KeysDict.countHouses
tosize
-
renamed
KeysDict.houses
totoList
-
renamed
KeysDict.enterableBy
topromising
-
added
KeysSet.insertAll
-
added
KeysSet.update
-
added
KeysSet.updateAll
-
added
KeysSet.where
-
added
KeysSet.isUnique
-
added
KeysSet.all
-
added
KeysSet.any
-
added
KeysSet.isEmpty
indique/elm-keysdict → lue-bird/elm-keysset