map -package:Cabal -package:base -package:case-insensitive -package:vector -package:blaze-html -package:hedgehog -package:dlist is:module -package:wai-session -package:range-set-list -package:containers
Contains implementation of polymorphic type classes for data types
Set and
Map.
Strict
Map. Import as:
import qualified RIO.Map as Map
This module does not export any partial or unchecked functions. For
those, see
RIO.Map.Partial and
RIO.Map.Unchecked
Instances to convert between Map and association list.
Copyright (C) 2009-2011 John Goerzen
jgoerzen@complete.org
All rights reserved.
For license and copyright information, see the file LICENSE
Map type used to represent records and unions
TOML-specific combinators for converting between TOML and Haskell
Map-like data types.
There are two way to represent map-like structures with the
tomland library.
- Map structure with the key and value represented as key-value
pairs:
foo = [ {myKey = "name", myVal = 42} , {myKey =
"otherName", myVal = 100} ]
- Map structure as a table with the TOML key as the map
key:
[foo] name = 42 otherName = 100
You can find both types of the codecs in this module for different
map-like structures. See the following table for the heads up:
TODO: table
Note: in case of the missing key on the
TOML side an
empty map structure is returned.
This module defines finite maps where the key and value types are
parameterized by an arbitrary kind.
Some code was adapted from containers.
Bijections via strict maps.
Utilities for mapping or transforming
Exprs.
A non-blocking concurrent map from hashable keys to values.
The implementation is based on
lock-free concurrent hash tries
(aka
Ctries) as described by:
- Aleksander Prokopec, Phil Bagwell, Martin Odersky, "Cache-Aware
Lock-Free Concurent Hash Tries"
- Aleksander Prokopec, Nathan G. Bronson, Phil Bagwell, Martin
Odersky "Concurrent Tries with Efficient Non-Blocking
Snapshots"
Operations have a worst-case complexity of
O(log n), with a
base equal to the size of the native
Word.