Copyright | (c) Target RWE 2023 |
---|---|
License | BSD3 |
Maintainer | bbrown@targetrwe.com ljackman@targetrwe.com dpritchard@targetrwe.com |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Synopsis
- module Variable
- module EventDataTheory
- module Features
- data BaselineInterval a
- class Intervallic i => Baseline i where
- baselineMeets :: SizedIv (Interval a) => Moment (Interval a) -> i a -> BaselineInterval a
- baselineBefore :: SizedIv (Interval a) => Moment (Interval a) -> Moment (Interval a) -> i a -> BaselineInterval a
- baselineFinishedBy :: (SizedIv (Interval a), Ord a) => Moment (Interval a) -> i a -> BaselineInterval a
- data FollowupInterval a
- class Intervallic i => Followup i a where
- followup :: (SizedIv (Interval a), Ord (Moment (Interval a)), Num (Moment (Interval a)), Intervallic i) => Moment (Interval a) -> i a -> FollowupInterval a
- followupMetBy :: (SizedIv (Interval a), Intervallic i) => Moment (Interval a) -> i a -> FollowupInterval a
- followupAfter :: (SizedIv (Interval a), Intervallic i) => Moment (Interval a) -> Moment (Interval a) -> i a -> FollowupInterval a
- data AssessmentInterval a
- makeBaselineMeetsIndex :: (Baseline i, SizedIv (Interval a)) => Moment (Interval a) -> i a -> AssessmentInterval a
- makeBaselineBeforeIndex :: (Baseline i, SizedIv (Interval a)) => Moment (Interval a) -> Moment (Interval a) -> i a -> AssessmentInterval a
- makeBaselineFinishedByIndex :: (Baseline i, SizedIv (Interval a), Ord a) => Moment (Interval a) -> i a -> AssessmentInterval a
- makeFollowupStartedByIndex :: (Followup i a, SizedIv (Interval a), Ord (Moment (Interval a)), Num (Moment (Interval a))) => Moment (Interval a) -> i a -> AssessmentInterval a
- makeFollowupMetByIndex :: (Followup i a, SizedIv (Interval a)) => Moment (Interval a) -> i a -> AssessmentInterval a
- makeFollowupAfterIndex :: (Followup i a, SizedIv (Interval a)) => Moment (Interval a) -> Moment (Interval a) -> i a -> AssessmentInterval a
- fromList :: IsList l => [Item l] -> l
- toList :: IsList l => l -> [Item l]
- data CohortSpec t m a = MkCohortSpec {
- runIndices :: NonEmpty (Event t m a) -> IndexSet a
- runCriteria :: NonEmpty (Event t m a) -> Interval a -> Criteria
- runVariables :: NonEmpty (Event t m a) -> Interval a -> VariableRow
- type CohortSpecMap t m a = Map Text (CohortSpec t m a)
- data IndexSet b
- excludeIf :: Bool -> Status
- includeIf :: Bool -> Status
- data Status
- data Criterion = MkCriterion {
- statusLabel :: Text
- status :: Status
- cohortMain :: CohortConstraints t m a b => Map Text (CohortSpec t m a) -> IO ()
- makeLineFilterApp :: (Eq a, Eq i, Show i, MonadLogger m, MonadIO m) => String -> (ByteString -> Maybe i) -> (ByteString -> Maybe a) -> (a -> Bool) -> m ()
- makeFilterEventLineApp :: (Eventable t m a, EventLineAble t m a b, FromJSONEvent t m a, MonadLogger f, MonadIO f) => String -> (Event t m a -> Bool) -> TaggerConfig t c m -> f ()
- runLineFilterAppSimple :: (Eq a, Eq i, Show i) => String -> (ByteString -> Maybe i) -> (ByteString -> Maybe a) -> (a -> Bool) -> IO ()
- runFilterEventLineAppSimple :: (Eventable t m a, EventLineAble t m a b, FromJSONEvent t m a) => String -> (Event t m a -> Bool) -> IO ()
- data TaggerConfig t c m where
- MkTaggerConfig :: FromDhall c => {..} -> TaggerConfig t c m
- inputTagMap :: TaggerConfig t c m -> IO (Map Text c)
- findWithDefault :: Ord k => a -> k -> Map k a -> a
- data Map k a
- lookup :: Ord k => k -> Map k a -> Maybe a
- (!?) :: Ord k => Map k a -> k -> Maybe a
- data Set a
- member :: Ord a => a -> Set a -> Bool
- empty :: Set a
- data DayOfWeek
- toGregorian :: Day -> (Year, MonthOfYear, DayOfMonth)
- gregorianMonthLength :: Year -> MonthOfYear -> DayOfMonth
- fromGregorian :: Year -> MonthOfYear -> DayOfMonth -> Day
- addGregorianDurationClip :: CalendarDiffDays -> Day -> Day
- type Year = Integer
- type MonthOfYear = Int
- type DayOfMonth = Int
- data Day
- diffDays :: Day -> Day -> Integer
- data CalendarDiffDays = CalendarDiffDays {}
- data Text
- pack :: String -> Text
- (^?) :: s -> Getting (First a) s a -> Maybe a
- headMay :: [a] -> Maybe a
- initMay :: [a] -> Maybe [a]
- lastMay :: [a] -> Maybe a
- maximumMay :: Ord a => [a] -> Maybe a
- minimumMay :: Ord a => [a] -> Maybe a
- tailMay :: [a] -> Maybe [a]
- (!>) :: a -> (a -> b) -> b
- (.>) :: (a -> b) -> (b -> c) -> a -> c
- (<!) :: (a -> b) -> a -> b
- (<.) :: (b -> c) -> (a -> b) -> a -> c
- (<|) :: (a -> b) -> a -> b
- (|>) :: a -> (a -> b) -> b
- class Functor f => Filterable (f :: Type -> Type) where
- class (Traversable t, Filterable t) => Witherable (t :: Type -> Type) where
- wither :: Applicative f => (a -> f (Maybe b)) -> t a -> f (t b)
- witherM :: Monad m => (a -> m (Maybe b)) -> t a -> m (t b)
- filterA :: Applicative f => (a -> f Bool) -> t a -> f (t a)
- witherMap :: Applicative m => (t b -> r) -> (a -> m (Maybe b)) -> t a -> m r
- class FromJSON a where
- parseJSON :: Value -> Parser a
- parseJSONList :: Value -> Parser [a]
- class ToJSON a where
- toJSON :: a -> Value
- toEncoding :: a -> Encoding
- toJSONList :: [a] -> Value
- toEncodingList :: [a] -> Encoding
- data Options
- genericParseJSON :: (Generic a, GFromJSON Zero (Rep a)) => Options -> Value -> Parser a
- defaultOptions :: Options
- data SumEncoding
- encode :: ToJSON a => a -> ByteString
- class HasField (field :: Symbol) s t a b | s field -> a, t field -> b, s field b -> t, t field a -> s where
- field :: Lens s t a b
- (^.) :: s -> ((a -> Const a a) -> s -> Const a s) -> a
- class AsAny (sel :: k) a s | s sel -> a where
- _As :: Prism s s a a
- after_ :: DependencyType -> Expr -> TestTree -> TestTree
- testGroup :: TestName -> [TestTree] -> TestTree
- data DependencyType
- type TestName = String
- data TestTree
- adjustOption :: IsOption v => (v -> v) -> TestTree -> TestTree
- askOption :: IsOption v => (v -> TestTree) -> TestTree
- defaultIngredients :: [Ingredient]
- defaultMain :: TestTree -> IO ()
- localOption :: IsOption v => v -> TestTree -> TestTree
- withResource :: IO a -> (a -> IO ()) -> (IO a -> TestTree) -> TestTree
- defaultMainWithIngredients :: [Ingredient] -> TestTree -> IO ()
- includingOptions :: [OptionDescription] -> Ingredient
- mkTimeout :: Integer -> Timeout
- data Timeout
- pPrint :: (MonadIO m, Show a) => a -> m ()
Overview
Hasklepias
provides an API for constructing a command-line program to
produce analysis-ready datasets for epidemiological studies, referred to
as cohorts
in this documentation. It also provides some domain-aware types
and utilities to help Haskell programmers write custom logic for cohort
construction, to feed the application.
Users provide custom logic, written in Haskell, to transform subject-level input data into output data with computed variables and classifications of elements into one or more cohorts.
The following diagram describes the primary workflow Hasklepias
supports, at
a high level.
+---------------------------------+ +--------------------------+ |Configure cohort construction | |Write cohort-building code|-------->| via CohortSpecMap type | | computing subject-level | +---------------------------------+ | * index times | | | * inclusion criteria | | | * output variables | | +--------------------------+ | | +---------------------------|--------+ |Create an executable Cabal | | | package component that | | | runs the transformation | | | v | | +------------------------------+ | | |provide CohortSpecMap value as| | input data ---> | | input to cohortMain to create| | ---> output cohorts | | the data processing | | | | tranformation | | | + -----------------------------+ | | | +------------------------------------+
Terminology
Subject refers to the unit of input data, which internally is assigned a
subject id for processing. Internally, it has type Subject t m a
.
Subject-level data refers to [Event t m a]
, a list of events associated
with a subject.
Index time is a special temporal interval serving as reference for inclusion and exclusion criteria as well as computed output variables. A subject might have zero or more index times, as computed by a user-supplied function.
Cohort refers to the output produced by applying the functions in a single
CohortSpec
to a list of subjects. Internally, it has type Cohort a
.
Observational unit refers to the unit element of a given cohort. There is one observational unit for each subject and index time. Each observational unit has an identifier marking which subject and index time it is asssociated with.
Attrition information refers to the counts of: number of subjects processed, number of observational units processed, and number of units in each inclusion / exclusion category.
Cohort construction
The CohortSpec
type is the only way a user can influence how input data are
processed into output data as cohorts. It is
parameterized as
, where the parameters
match those of the subject-level data inputs in a
non-empty list of CohortSpec
t m a
.Event
t m a
One
is provided for each cohort to be
built, denoted by CohortSpec
t m aText
labels in Map Text (CohortSpec t
m a)
, with alias
. The map is passed
directly to CohortSpecMap
t m acohortMain
.
Specifically, a user must construct a CohortSpec
with the functions shown in the type definition:
data CohortSpec t m a = MkCohortSpec { runIndices :: NonEmpty (Event t m a) -> IndexSet a , runCriteria :: NonEmpty (Event t m a) -> Interval a -> Criteria , runVariables :: NonEmpty (Event t m a) -> Interval a -> VariableRow }
Each of those functions processes input data in a
NonEmpty
list of
associated with a single
subject. Subject input data is processed one at a time, cohort-by-cohort.
Subjects without any data cannot be processed in a well-defined manner, and
using the nonempty list type prevents such cases.Event
t m a
constructs the set of index times for a given subject, which are
given as runIndices
, the same type as the underlying temporal element of an
Interval
a
.Event
t m a
constructs a non-empty list of inclusion / exclusion criteria for
a single subject, relative to a particular index time.runCriteria
defines the output data of runVariables
type, for each
subject and index time. This will produce one set of variables per input
subject per index time.VariableRow
Using Variable
This module defines the return type of runVariables
along with the
type system for the supported output targets.
Currently the only target type system that is supported by asclepias is a subset of the R type system.
The VariableRow
type is a list of Variable
s. The intention is that the
list of Variable
s that is returned by runVariables
after being
applied to a single observational unit's Event
s represents one row of
data in a data frame, with one row per observational unit and one columns
per study variable.
The Variable
type wraps an underlying R type along with some metadata. The
type is not designed to be convenient to work with once it has been created,
so it is recommended to only produce Variable
values when assembling the
return value from runVariables
. Instead, for intermediate values the
recommended approach is to use one of the types used to represent R values,
such as RTypeRep
, Factor
, or Stype
.
All of the types used to represent R types in this module are either directly
or indirectly based upon the RTypeRep
type. The R types that are supported
by RTypeRep
are the atomic R vectors types as well as generic vectors (i.e.
lists). These vectors are modeled as arrays of Maybe (SEXPElem s)
s and
where Nothing
s represent NA*
values in the case of atomic vectors (see
the type documentation for more detail for a Nothing
value for the list
case).
The elements of the RTypeRep
vector representations are modeled using the
SEXPElem
type family. The types in this type family for the atomic types
correpond to the underlying element "type" that the various R atomic vectors are based
upon. Type is in quotations because R's SEXPTYPE does not provide a
separate type for the elements of an atomic vector: All singletons are
single-length vectors. For example, the SEXPElem 'INTSXP
type is a
synonym for Int32
, which is the same type that R INTSXP values (i.e. R
integer vectors) are based upon.
The SEXPElem 'VECSXP
type is used to represent R VECSXP values (i.e. R
generic vectors); see the type documentation for details.
module Variable
Using the CLI
Your project's Haskell program will include some Main.hs
module which should look like this
module Main where import MyProj import Hasklepias (cohortMain) main :: IO () main = cohortMain specs
Here specs
is your project-specific CohortSpecMap
, which in this case is
defined in some other module MyProj
.
Then, you can cabal run
to build and execute the program.
To view the available command-line options, for a target named myproj
, do
cabal run -v0 myproj -- --help
Your project's Haskell program will include some Main.hs
module which should look like this
module Main where import MyProj import Hasklepias (cohortMain) main :: IO () main = cohortMain specs
Here specs
is your project-specific CohortSpecMap
, which in this case is
defined in some other module MyProj
.
Then, you can cabal run
to build and execute the program.
To view the available command-line options, for a target named myproj
, do
cabal run -v0 myproj -- --help
cohortMain
guarantees
cohortMain
provides a controlled means to run the user-provided logic in a
CohortSpec
to subject-level data. A programmer creating an executable with
cohortMain
cannot inject arbitrary logic into the application.
In exchange for that lack of flexibility, the application runner cohortMain
seeks to provide a set of guarantees about how a cohort will be built from the
user specification.
- Only the user-defined code in
will ever manipulate, perform operations on or otherwise interact with the subject-level input data in aCohortSpec
t m a
.NonEmpty
(Event
t m a) - Functions in each
CohortSpec
are run only on input event data only for a single subject at a time. Input events from one subject do not influence results of another. runIndices
produces exactly one
containingIndexSet
a
values, the same type of value as the temporal component of the subject's input events.Interval
a- If a subject's
IndexSet
is empty, the subject is dropped from the cohort data output, has no variables computed, and is counted only in thesubjectsProcessed
field of the output attrition information. At present, there is no means to mark or otherwise inspect the values or even the number of subjects with no index value. That will change soon, and a subject without index will be treated as an unexpected error. - Each
in anInterval
a
appears exactly once. Uniqueness is determined by theIndexSet
abegin
andend
of the interval. - The user-supplied
runCriteria
function must produce a non-empty list of value typeCriterion
. That is enforced at compile time in the user's code, when aCohortSpec
value is created. - Each observational unit is associated with exactly one subject and one index
time. The
index time to which an observational unit is associated is part of the identifier for an observational unit, along with the subject identifier.Interval
a - Each observational unit has a list of
Criteria
, as defined byrunCriteria
. - Observational units whose
Criteria
contain at least oneExclude
status value are dropped from the cohort data output, andrunVariables
is not computed. In the output attrition information, excluded units contribute +1 to theunitsProcessed
element of the attrition information. The unit also contributes +1 to the count of units excluded with a given label. - An excluded observational unit is considered to be excluded by the first
Criterion
, in order of the list ofCriteria
. ThestatusLabel
supplied for thatCriterion
determines how the unit is counted in the output attrition information. - Observational units whose
Criteria
contain onlyInclude
status values are maintained in the cohort data output, andrunVariables
is computed on the unit's associated input data and index time. For the output attrition information, included units contribute +1 to theunitsProcessed
and +1 to the count ofIncluded
units. - Whether excluded or included in the cohort, units common to a single subject
together contribute +1 to the number of
subjectsProcessed
.
Input data format
The input data, regardless of source, must be in the event lines format, which is a JSON Lines format. Lines of input failing to parse into the appropriate format will be logged. See Logs produced.
Input data must also:
- contain all relevant events for a given subject, and
- have UTF-8 encoding.
Two flags allow the user to configure how intervals in input data will be parsed.
--fix-end
will convert intervals with nullend
fields into moment-length intervals.--add-moment
will add a moment to theend
time of intervals for which theend
is not null and theend >= begin
. Intervals with missingend
or for whichend
is less thanbegin
will still fail to parse.
These flags can be used together to specify both modifications should be applied. The default
behavior is not to modify input intervals at all, so that for example any event whose interval
has a null end
will fail to parse.
Output data format
An application created with cohortMain
will produce JSON output of a
consistent format. Only the VariableRow
JSON output differs in shape
based on the variables produced in runVariables
. See documentation
for that type for details.
The following example demonstrates the JSON shape produced. Here, "main" refers to a single cohort called "main". The output object can include one or more elements, all of which have the shape of "main" below.
{ "main": { "attritionJSON": { "attritionByStatus": [ [ { "tag": Included }, 2 ], [ { "contents": "continuousEnrollment", "tag": ExcludedBy }, 1 ] ], "subjectsProcessed": 4, "unitsProcessed": 3 }, "cohortJSON": [ { "obsIdJSON": { "fromSubjId": "3", "indexTime": [ "2015-01-02", "2015-01-03" ] }, "variableRowJSON": [ { "attrs": { "varName": "ageAtIndex", "varType": INTSXP }, "subAttrs": { "long_label": "Age at day of index, computed from January 7 of smallest provided birth year.", "short_label": "Age at day of index", "special_attrs": [ "51" ], "study_role": null, "stypeType": "v_nominal" }, "vals": [ 51 ], "varTarget": StypeVector }, { "attrs": { "varName": "primaryOutcome", "varType": INTSXP }, "subAttrs": [], "vals": [ null ], "varTarget": RVector } ] } ] } }
- "main" provides the top-level field for data on a given cohort, in this case called "main".
- "attritionJSON" is an
object
providing a summary of attrition information for the cohort. - "cohortJSON" is an
array
of the output data produced for the cohort. It can be thought of as an array of rows, with one row per observational unit of the cohort. Specifically, each element is anobject
with two fields: "obsIdJSON" and "variableRowJSON". - "obsIdJSON" is an
object
providing the subject id and index time pair uniquely identifying the observational unit. - "variableRowJSON" provides an
array
of all outputVariable
values for that observational unit. SeeVariableRow
for details on the shape of elements in this array.
At the moment, failure modes are not configurable. Logging is configurable via environment variables, as described in the top-level Blammo configuration documentation.
An application created with cohortMain
will fail at runtime if
- The command-line options parser,
[
execParser
](https:/hackage.haskell.orgpackageoptparse-applicative-0.17.0.0docs/Options-Applicative-Extra.html#v:execParser) fails. - File reads / writes fail.
- AWS and network errors, if input or output location is
S3Input
. - None of the input data event lines was parsed correctly, including cases in which there were no lines of input at all.
Logs produced at the info
level:
- The location from which data are read, as passed to the application from command-line options.
- The names of cohorts to be built, meaning the labels passed to
cohortMain
in user-defined code via keys ofMap Text (CohortSpec t m a)
. - The request http status and S3 object ETag hash, when S3 is the input source or output destination.
Note the application squashes AWS logs themselves, as produced in the
amazonka
package functions. These could be added if needed but are not
included as yet because they are verbose.
Logs produced at the error
level:
- Event line parsing errors, with a reference to the line of input that failed. Note the application continues to process correctly parsed lines, if able.
- A message stating no subject-level data parsed correctly, when applicable. The application then exits.
Event Data
Events depend heavily on the interval-algebra library. See that pacakge's documentation for information about the types and functions for working with intervals.
module EventDataTheory
Working with Features
Feature
present an interface for leveraging the type system to ensure the
inputs and outputs of functions you write are indeed what you intended, with
your intentions checked at compile time. At present, using Feature
s is
necessary for building an application with Hasklepias
via cohortMain
.
However, that requirement will be relaxed, and Feature
s will be provided as
an experimental API for building cohorts, which could be integrated more
tightly with the rest of Hasklepias
at some point.
A Feature
is a type parametrized by two types: name
and d
. The type d
here
stands for data, which then parametrizes the FeatureData
type which is the
singular value which a Feature
contains. The d
here can be almost anything
and need not be a scalar, for example, all the following are valid types for d
:
The name
type a bit special: it does not appear on the right-hand side of the `=`.
In type-theory parlance, name
is a phantom type.
We'll see in a bit how this can be useful. For now, think of the name
as the
name of a variable as you would in most programming languages. To summarize,
a Feature
's type constructor takes two arguments (name
and d
), but its
*value* constructor (MkFeature
) takes a single value of type FeatureData d
.
Values of the FeatureData
type contain the data we're ultimately interested
in analyzing or passing along to downstream applications. However, a FeatureData
value does not simply contain data of type d
. The type allows for the possibility
of missingness, failures, or errors by using the Either
type. A value
of a FeatureData
, then, is either a
or a
Left
FeatureProblemFlag
.Right
d
The use of Either
has important implications when defining Features, as we will see.
Now that we know the internals of a Feature
, how do we create Feature
s? There
are two ways to create features: (1) pure
ly lifting data into a Feature
or
(2) writing a Definition
: a function that define
s a Feature
based on other
Feature
s.
The first method is a way to get data directly into a Feature
. Fhe following
function takes a list of Events
and makes a Feature
of them:
allEvents :: [Event Day] -> Feature "allEvents" [Event Day] allEvents = pure
The pure
lifting is generally used to lift a subject's input data into a Feature
,
so that other features can be defined from a subject's data. Feature
s are
derived from other Feature
s by the Definition
type. Specifically,
Definition
is a type which contains a function which maps Feature
inputs
to a Feature
output, for example:
myDef :: Definition (Feature "a" Int -> Feature "b" Bool) myDef = define (x -> if x > 0 then True else False)
A Definition
is created by the define
(or defineA
) function. One may ask
why define
is necessary, and we don't directly define the function
(Feature "a" Int -> Feature "b" Bool
) directly. What may not be obvious in
the above, is that x
is type Int
not Feature "a" Int
and the return type
is Bool
not Feature "b" Bool
. The define
function and Definition
type
do the magic of lifting these types to the Feature
level. To see this,
in the following, myDef2
is equivalent to myDef
:
intToBool :: Int -> Bool intToBool x = if x > 0 then True else False) myDef2 :: Definition (Feature "a" Int -> Feature "b" Bool) myDef2 = define intToBoo
The define
function, then, let's us focus on the *logic* of our Feature
s
without needing to worry handling the error cases. If we were to write a function
with signature Feature "a" Int -> Feature "b" Bool
directly, it would look
something like:
myFeat :: Feature "a" Int -> Feature "b" Bool myFeat (MkFeature (MkFeatureData (Left r))) = MkFeature (MkFeatureData (Left r)) myFeat (MkFeature (MkFeatureData (Right x))) = MkFeature (MkFeatureData (Right $ intToBool x))
One would need to pattern match all the possible types of inputs, which gets
more complicated as the number of inputs increases. As an aside, since Feature
s are
[Functors]( https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Functor.html),
one could instead write:
myFeat :: Feature "a" Int -> Feature "b" Bool myFeat = fmap intToBool
This would require understanding how Functors and similar structures are used.
The define
and defineA
functions provide a common interface to these structures
without needing to understand the details.
Evaluating Definitions
To evaluate a Definition
, we use the eval
function. Consider the following example.
The input data is a list of Int
s if the list is empty (null
), this is considered
an error in feat1
. If the list has more than 3 elements, then in feat2
,
the sum is computed; otherwise 0
is returned.
featInts :: [Int] -> Feature "someInts" [Int] featInts = pure feat1 :: Definition (Feature "someInts" [Int] -> Feature "hasMoreThan3" Bool) feat1 = defineA (ints -> if null ints then makeFeature (missingBecause $ CustomFlag "no data") else makeFeature $ featureDataR (length ints > 3)) feat2 :: Definition ( Feature "hasMoreThan3" Bool -> Feature "someInts" [Int] -> Feature "sum" Int) feat2 = define (b ints -> if b then sum ints else 0) ex0 = featInts [] ex0a = eval feat1 ex0 -- MkFeature (MkFeatureData (Left (CustomFlag "no data"))) ex0b = eval feat2 (ex0a, ex0) -- MkFeature (MkFeatureData (Left (CustomFlag "no data"))) ex1 = featInts [3, 8] ex1a = eval feat1 ex1 -- MkFeature (MkFeatureData (Right False)) ex1b = eval feat2 (ex1a, ex1) -- MkFeature (MkFeatureData (Right 0)) ex2 = featInts [1..4] ex2a = eval feat1 ex2 -- MkFeature (MkFeatureData (Right True)) ex2b = eval feat2 (ex2a, ex2) -- MkFeature (MkFeatureData (Right 10))
Note the value of ex0b
. It is a Left
because the value of ex0a
is a Left
;
in other words, errors propogate along Feature
s. If a given Feature
's dependency
is a Left
then that Feature
will also be Left
. A Feature
's internal
Either
structure has important implications for designing Feature
s and
performance. Capturing an error in a Left
is a way to prevent downstream
dependencies from needing to be computed.
Type Safety of Features
In describing the Feature
type, the utility of having the name as a type may
not have been clear. To clarify, consider the following example:
x :: Feature "someInt" Natural x = pure 39 y :: Feature "age" Natural y = pure 43 f :: Definition (Feature "age" Natural -> Feature "isOld" Bool) f = define (>= 39) fail = eval f x pass = eval f y
In the example, fail
does not compile because "someInt"
is not "age"
,
even though both the data type are Natural
.
Further reading
Feature
s are an example of
providing tight type-level control over a library API using phantom types, the
name
of a Feature
, in the same spirit as the Noonan's Ghost of Departed
Proofs.
module Features
Intervals based on an index
The assessment intervals provided are:
Baseline
: an interval which eithermeets
orprecedes
index. Covariates are typically assessed during baseline intervals. A cohort's specification may include multiple baseline intervals, as different features may require different baseline intervals. For example, one feature may use a baseline interval of 365 days prior to index, while another uses a baseline interval of 90 days before index up to 30 days before index.Followup
: an interval which isstartedBy
,metBy
, orafter
an index. Outcomes are typically assessed during followup intervals. Similar toBaseline
, a cohort's specification may include multiple followup intervals, as different features may require different followup intervals.
In future versions, one subject may have multiple values for an index
corresponding to unique ObsUnit
. That is, there is a 1-to-1 map between
index values and observational units, but there may be a 1-to-many map from
subjects to indices.
While users are protected from forming invalid assessment intervals, they still need to carefully consider how to filter events based on the assessment interval. Consider the following data:
_ <- Index (15, 16) ---------- <- Baseline (5, 15) --- <- A (1, 4) --- <- B (2, 5) --- <- C (4, 7) --- <- D (5, 8) --- <- E (8, 11) --- <- F (12, 15) --- <- G (14, 17) ___ <- H (17, 20) |----|----|----|----| 0 10 20
We have index, baseline, and 8 events (A-H). If Baseline is our assessment interval,
then the events concuring (i.e. not disjoint) with Baseline are C-G. While C-F
probably make sense to use in deriving some covariate, what about G? The event G
begins during baseline but ends after index. If you want, for example, to know
how many events started during baseline, then you’d want to include G in your
filter (using concur
). But if you wanted to know the durations
of events enclosed by baseline, then you wouldn’t want to filter using concur
and instead perhaps use enclosedBy
.
data BaselineInterval a Source #
A type to contain baseline intervals. See the Baseline
typeclass for methods
to create values of this type.
Instances
class Intervallic i => Baseline i where Source #
Provides functions for creating a BaselineInterval
from an index. The
baselineMeets
function should satify:
- Meets
relate
(baselineMeets
d i) i =Meets
The baselineBefore
function should satisfy:
- Before
relate
(baselineBefore
s d i) i =Before
The baselineFinishedBy
function should satisfy:
- FinishedBy
relate
(baselineFinishedBy
s d i) i =FinishedBy
>>>
x = (beginerval 1 10)
>>>
b =baselineMeets 10 x
>>>
b
MkBaselineInterval (0, 10)
>>>
relate b x
Meets
>>>
x = (beginerval 1 10)
>>>
b = baselineBefore 2 4 x
>>>
b
MkBaselineInterval (4, 8)
>>>
relate b x
Before
Nothing
:: SizedIv (Interval a) | |
=> Moment (Interval a) | duration of baseline |
-> i a | the index event |
-> BaselineInterval a |
Creates a BaselineInterval
of the given duration that Meets
the index interval.
:: SizedIv (Interval a) | |
=> Moment (Interval a) | duration to shift back |
-> Moment (Interval a) | duration of baseline |
-> i a | the index event |
-> BaselineInterval a |
Creates a BaselineInterval
of the given duration that precedes
the index interval.
:: (SizedIv (Interval a), Ord a) | |
=> Moment (Interval a) | duration of baseline - not including the duration of index |
-> i a | the index event |
-> BaselineInterval a |
Creates a BaselineInterval
of the given duration that FinishedBy
the index interval.
Instances
Baseline Interval Source # | |
Defined in Hasklepias.AssessmentIntervals baselineMeets :: SizedIv (Interval a) => Moment (Interval a) -> Interval a -> BaselineInterval a Source # baselineBefore :: SizedIv (Interval a) => Moment (Interval a) -> Moment (Interval a) -> Interval a -> BaselineInterval a Source # baselineFinishedBy :: (SizedIv (Interval a), Ord a) => Moment (Interval a) -> Interval a -> BaselineInterval a Source # |
data FollowupInterval a Source #
A type to contain followup intervals. See the Followup
typeclass for methods
to create values of this type.
Instances
class Intervallic i => Followup i a where Source #
Provides functions for creating a FollowupInterval
from an index. The
followup
function should satify:
- StartedBy
relate
(followup
d i) i =StartedBy
The followupMetBy
function should satisfy:
- MetBy
relate
(followupMetBy
d i) i =MetBy
The followupAfter
function should satisfy:
- After
relate
(followupAfter
s d i) i =After
>>>
x = (beginerval 1 10)
>>>
f = followup 10 x
>>>
f
MkFollowupInterval (10, 20)
>>>
relate f x
StartedBy
Note the consequence of providing a duration less than or equal to the duration
of the index: a 'IntervalAlgebra.moment is added to the duration, so that the
end of the FollowupInterval
is greater than the end of the index.
>>>
x = (beginerval 1 10)
>>>
f = followup 1 x
>>>
f
MkFollowupInterval (10, 12)
>>>
relate f x
StartedBy
>>>
x = (beginerval 1 10)
>>>
f = followupMetBy 9 x
>>>
f
MkFollowupInterval (11, 20)
>>>
relate f x
MetBy
>>>
x = (beginerval 1 10)
>>>
f = followupAfter 1 9 x
>>>
f
MkFollowupInterval (12, 21)
>>>
relate f x
After
Nothing
:: (SizedIv (Interval a), Ord (Moment (Interval a)), Num (Moment (Interval a)), Intervallic i) | |
=> Moment (Interval a) | duration of followup |
-> i a | the index event |
-> FollowupInterval a |
:: (SizedIv (Interval a), Intervallic i) | |
=> Moment (Interval a) | duration of followup |
-> i a | the index event |
-> FollowupInterval a |
:: (SizedIv (Interval a), Intervallic i) | |
=> Moment (Interval a) | duration add between the end of index and begin of followup |
-> Moment (Interval a) | duration of followup |
-> i a | the index event |
-> FollowupInterval a |
Instances
Followup Interval a Source # | |
Defined in Hasklepias.AssessmentIntervals followup :: Moment (Interval a) -> Interval a -> FollowupInterval a Source # followupMetBy :: Moment (Interval a) -> Interval a -> FollowupInterval a Source # followupAfter :: Moment (Interval a) -> Moment (Interval a) -> Interval a -> FollowupInterval a Source # |
data AssessmentInterval a Source #
A data type that contains variants of intervals during which assessment may occur.
Instances
makeBaselineMeetsIndex :: (Baseline i, SizedIv (Interval a)) => Moment (Interval a) -> i a -> AssessmentInterval a Source #
Creates an AssessmentInterval
using the baseline
function.
>>>
x = beginerval 1 10
>>>
makeBaselineMeetsIndex 10 x
Bl (MkBaselineInterval (0, 10))
makeBaselineBeforeIndex :: (Baseline i, SizedIv (Interval a)) => Moment (Interval a) -> Moment (Interval a) -> i a -> AssessmentInterval a Source #
Creates an AssessmentInterval
using the baselineBefore
function.
>>>
x = beginerval 1 10
>>>
makeBaselineBeforeIndex 2 10 x
Bl (MkBaselineInterval (-2, 8))
makeBaselineFinishedByIndex :: (Baseline i, SizedIv (Interval a), Ord a) => Moment (Interval a) -> i a -> AssessmentInterval a Source #
Creates an AssessmentInterval
using the baselineFinishedBy
function.
>>>
x = beginerval 1 10
>>>
makeBaselineFinishedByIndex 10 x
Bl (MkBaselineInterval (0, 11))
makeFollowupStartedByIndex :: (Followup i a, SizedIv (Interval a), Ord (Moment (Interval a)), Num (Moment (Interval a))) => Moment (Interval a) -> i a -> AssessmentInterval a Source #
Creates an AssessmentInterval
using the followup
function.
>>>
x = beginerval 1 10
>>>
makeFollowupStartedByIndex 10 x
Fl (MkFollowupInterval (10, 20))
makeFollowupMetByIndex :: (Followup i a, SizedIv (Interval a)) => Moment (Interval a) -> i a -> AssessmentInterval a Source #
Creates an AssessmentInterval
using the followupMetBy
function.
>>>
x = beginerval 1 10
>>>
makeFollowupMetByIndex 10 x
Fl (MkFollowupInterval (11, 21))
makeFollowupAfterIndex :: (Followup i a, SizedIv (Interval a)) => Moment (Interval a) -> Moment (Interval a) -> i a -> AssessmentInterval a Source #
Creates an AssessmentInterval
using the followupAfter
function.
>>>
x = beginerval 1 10
>>>
makeFollowupAfterIndex 10 10 x
Fl (MkFollowupInterval (21, 31))
Specifying and building cohorts
fromList :: IsList l => [Item l] -> l #
The fromList
function constructs the structure l
from the given
list of Item l
toList :: IsList l => l -> [Item l] #
The toList
function extracts a list of Item l
from the structure l
.
It should satisfy fromList . toList = id.
data CohortSpec t m a #
A container for all logic needed to construct a cohort. The provided
functions will be run on subject-level data, subject-by-subject. Logic will
be executed as part of a
pipeline. The type CohortApp
CohortApp
itself
is not exported, but the user will create such a pipeline via the exported
cohortMain
.
Note runVariables
must construct *all* output variables. For a more
detailed explanation of the cohort-building pipeline, see the Hasklepias
module documentation from `hasklepias-main`.
MkCohortSpec | |
|
type CohortSpecMap t m a = Map Text (CohortSpec t m a) #
Container for CohortSpec
for different cohorts, as given by the Text
keys.
A type containing a Data.Set.
of type Set
Interval b
, values of which
serve as index times when defining cohorts. In cohort terminology, indices are
the points in time at which an observational unit
can be assessed whether it meets the criteria for inclusion in the cohort. For
example, when i
is Interval Day
, then index events are days.
A reason for using a set as the underlying type is that indices must be unique within a subject. A subject cannot have multiple observational units for a given index.
Construct an IndexSet
using toList
.
Helpers to convert a Bool
to a
.Status
>>>
includeIf True
>>>
includeIf False
Include Exclude
Helpers to convert a Bool
to a
.Status
>>>
includeIf True
>>>
includeIf False
Include Exclude
Indication of whether a given subject should be included or excluded from the cohort.
A Status
paired with some descriptive label.
MkCriterion | |
|
Create a cohort application
cohortMain :: CohortConstraints t m a b => Map Text (CohortSpec t m a) -> IO () Source #
Create a command-line application for processing event-line data into
cohorts, using the logic provided in each CohortSpec
. See the top-level
Hasklepias
module documentation for details.
Create an application for filtering subjects
:: (Eq a, Eq i, Show i, MonadLogger m, MonadIO m) | |
=> String | name of the app (e.g. a project's id) |
-> (ByteString -> Maybe i) | parser for line identifier |
-> (ByteString -> Maybe a) | parser |
-> (a -> Bool) | predicate |
-> m () |
Creates a application that filters (groups of) lines based on:
- a function which constructs an identifier from a line indicating which group the line belongs to
- a function which parses a line into some type
a
- a predicate function:
a -> Bool
All groups of lines where at least one line satisfies the predicate are output. The rest are dropped.
makeFilterEventLineApp Source #
:: (Eventable t m a, EventLineAble t m a b, FromJSONEvent t m a, MonadLogger f, MonadIO f) | |
=> String | name of the app (e.g. a project's id) |
-> (Event t m a -> Bool) | predicate to evaluate for each event |
-> TaggerConfig t c m | List of tagging functions producing |
-> f () |
Create a application that filters event data with two arguments:
- a string for the name of the application (e.g. the project ID)
- a predicate function of type
Event c m a -> Bool
.
The application takes event data formatted as ndjson
(i.e. one event per line).
The application returns the event data
filtered to all those subjects
who have at least one event satisfying the given predicate.
Each subject's data must be grouped in contiguous chunks of lines;
otherwise, the application may not behave as expected
and will not warn or raise an error.
Lines that fail to parse as an Event
do not satisfy the predicate,
but are not dropped from the output.
In other words,
all of a subject's data is returned in the same order as the input,
provided that at least one line successfully parses
into an Event
and satisfies the predicate.
runLineFilterAppSimple Source #
:: (Eq a, Eq i, Show i) | |
=> String | name of the app (e.g. a project's id) |
-> (ByteString -> Maybe i) | parser for line identifier |
-> (ByteString -> Maybe a) | parser |
-> (a -> Bool) | predicate |
-> IO () |
Creates an IO
action from makeLineFilterApp
runFilterEventLineAppSimple Source #
:: (Eventable t m a, EventLineAble t m a b, FromJSONEvent t m a) | |
=> String | name of the app (e.g. a project's id) |
-> (Event t m a -> Bool) | predicate to evaluate for each event |
-> IO () |
Creates an IO
action from
.makeFilterEventLineApp
data TaggerConfig t c m where Source #
Entrypoint for specifying taggers in the asclepias
line filter app.
Configuration required to read in a dhall
file, tagMapFile
, as a M.Map
Text c
for use in each of the Tagger t c m
functions. t
is the tag type
returned, and m
is the type with which values in the M.Map Text c
argument of the tagger will be compared to produce the tag. When
TaggerConfig t c m
is used in the asclepias
line fitltering app, t, m
will correspond to Event t m a
.
c
will almost invariably be a Codelist
type, as exported by the
non-public `fact-models` package, and similarly the m
will be a model type
from that package. Nonetheless they are left generic because the Codelist
and model types are not and will not be imported into `hasklepias-main`.
Note that c
is required to be FromDhall
. The dhall
shape from which
M.Map Text c
is marshaled is of the form `toMap { key1 = val1, key2
= val2, ... }`, where `val1, val2` are values that marshal to the Haskell
type c
.
The path tagMapFile
should be relative to where the line filter app will
execute.
This example (not run in doctests) assumes you have a P0000Model in the
`fact-models` package that has a simple Diagnosis
variant, which holds a
Code
fact in its code
field.
import Models.P0000Model
import qualified Data.Map.Strict as M
isCancer :: M.Map Text Codelist -> P0000Model -> Maybe Text
isCancer cls (Diagnosis cd) = makeTag =lookInCl cd.code . (cl - cl.sets) $ SM.lookup "cancer" cls
where lookInCl cd' csets' = any (cs -> cd'.codebook == cs.codebook && (cd'.code elem
Prelude.map (x -> x.code) cs.codes)) csets'
makeTag b = if b then Just "is_cancer" else Nothing
tc :: TaggerConfig Text Codelist P0000Model tc = MkTaggerConfig [isCancer] "plans/codelists.dhall"
MkTaggerConfig | |
|
inputTagMap :: TaggerConfig t c m -> IO (Map Text c) Source #
Construct the M.Map Text c
by parsing the tagMapFile
.
Rexported Functions and modules
Re-exports
findWithDefault :: Ord k => a -> k -> Map k a -> a #
O(log n). The expression (
returns
the value at key findWithDefault
def k map)k
or returns default value def
when the key is not in the map.
findWithDefault 'x' 1 (fromList [(5,'a'), (3,'b')]) == 'x' findWithDefault 'x' 5 (fromList [(5,'a'), (3,'b')]) == 'a'
A Map from keys k
to values a
.
The Semigroup
operation for Map
is union
, which prefers
values from the left operand. If m1
maps a key k
to a value
a1
, and m2
maps the same key to a different value a2
, then
their union m1 <> m2
maps k
to a1
.
Instances
Bifoldable Map | Since: containers-0.6.3.1 |
Eq2 Map | Since: containers-0.5.9 |
Ord2 Map | Since: containers-0.5.9 |
Defined in Data.Map.Internal | |
Show2 Map | Since: containers-0.5.9 |
Hashable2 Map | |
Defined in Data.Hashable.Class | |
FilterableWithIndex k (Map k) | |
WitherableWithIndex k (Map k) | |
(Ord k, Arbitrary k) => Arbitrary1 (Map k) | |
Defined in Test.QuickCheck.Arbitrary liftArbitrary :: Gen a -> Gen (Map k a) liftShrink :: (a -> [a]) -> Map k a -> [Map k a] | |
(FromJSONKey k, Ord k) => FromJSON1 (Map k) | |
Defined in Data.Aeson.Types.FromJSON liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (Map k a) liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [Map k a] | |
ToJSONKey k => ToJSON1 (Map k) | |
Defined in Data.Aeson.Types.ToJSON liftToJSON :: (a -> Value) -> ([a] -> Value) -> Map k a -> Value liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [Map k a] -> Value liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> Map k a -> Encoding liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [Map k a] -> Encoding | |
Foldable (Map k) | Folds in order of increasing key. |
Defined in Data.Map.Internal fold :: Monoid m => Map k m -> m # foldMap :: Monoid m => (a -> m) -> Map k a -> m # foldMap' :: Monoid m => (a -> m) -> Map k a -> m # foldr :: (a -> b -> b) -> b -> Map k a -> b # foldr' :: (a -> b -> b) -> b -> Map k a -> b # foldl :: (b -> a -> b) -> b -> Map k a -> b # foldl' :: (b -> a -> b) -> b -> Map k a -> b # foldr1 :: (a -> a -> a) -> Map k a -> a # foldl1 :: (a -> a -> a) -> Map k a -> a # elem :: Eq a => a -> Map k a -> Bool # maximum :: Ord a => Map k a -> a # minimum :: Ord a => Map k a -> a # | |
Eq k => Eq1 (Map k) | Since: containers-0.5.9 |
Ord k => Ord1 (Map k) | Since: containers-0.5.9 |
Defined in Data.Map.Internal | |
(Ord k, Read k) => Read1 (Map k) | Since: containers-0.5.9 |
Defined in Data.Map.Internal | |
Show k => Show1 (Map k) | Since: containers-0.5.9 |
Traversable (Map k) | Traverses in order of increasing key. |
Functor (Map k) | |
Hashable k => Hashable1 (Map k) | |
Defined in Data.Hashable.Class | |
Filterable (Map k) | |
Witherable (Map k) | |
Defined in Witherable | |
(Ord k, Arbitrary k, Arbitrary v) => Arbitrary (Map k v) | |
(CoArbitrary k, CoArbitrary v) => CoArbitrary (Map k v) | |
Defined in Test.QuickCheck.Arbitrary coarbitrary :: Map k v -> Gen b -> Gen b | |
(Ord a, Function a, Function b) => Function (Map a b) | |
Defined in Test.QuickCheck.Function | |
(FromJSONKey k, Ord k, FromJSON v) => FromJSON (Map k v) | |
Defined in Data.Aeson.Types.FromJSON | |
(ToJSON v, ToJSONKey k) => ToJSON (Map k v) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Map k v -> Encoding # toJSONList :: [Map k v] -> Value # toEncodingList :: [Map k v] -> Encoding # | |
(Data k, Data a, Ord k) => Data (Map k a) | |
Defined in Data.Map.Internal gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Map k a -> c (Map k a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Map k a) # toConstr :: Map k a -> Constr # dataTypeOf :: Map k a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Map k a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Map k a)) # gmapT :: (forall b. Data b => b -> b) -> Map k a -> Map k a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Map k a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Map k a -> r # gmapQ :: (forall d. Data d => d -> u) -> Map k a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Map k a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) # | |
Ord k => Monoid (Map k v) | |
Ord k => Semigroup (Map k v) | |
Ord k => IsList (Map k v) | Since: containers-0.5.6.2 |
(Ord k, Read k, Read e) => Read (Map k e) | |
(Show k, Show a) => Show (Map k a) | |
(NFData k, NFData a) => NFData (Map k a) | |
Defined in Data.Map.Internal | |
(Ord k, FromDhall k, FromDhall v) => FromDhall (Map k v) | |
Defined in Dhall.Marshal.Decode | |
(ToDhall k, ToDhall v) => ToDhall (Map k v) | |
Defined in Dhall.Marshal.Encode injectWith :: InputNormalizer -> Encoder (Map k v) | |
(Eq k, Eq a) => Eq (Map k a) | |
(Ord k, Ord v) => Ord (Map k v) | |
(Hashable k, Hashable v) => Hashable (Map k v) | |
Defined in Data.Hashable.Class | |
Ord k => At (Map k a) | |
Ord k => Ixed (Map k a) | |
Defined in Control.Lens.At | |
Ord k => Wrapped (Map k a) | |
Defined in Control.Lens.Wrapped type Unwrapped (Map k a) | |
Ord k => GrowingAppend (Map k v) | |
Defined in Data.MonoTraversable | |
MonoFoldable (Map k v) | |
Defined in Data.MonoTraversable ofoldMap :: Monoid m => (Element (Map k v) -> m) -> Map k v -> m ofoldr :: (Element (Map k v) -> b -> b) -> b -> Map k v -> b ofoldl' :: (a -> Element (Map k v) -> a) -> a -> Map k v -> a otoList :: Map k v -> [Element (Map k v)] oall :: (Element (Map k v) -> Bool) -> Map k v -> Bool oany :: (Element (Map k v) -> Bool) -> Map k v -> Bool ocompareLength :: Integral i => Map k v -> i -> Ordering otraverse_ :: Applicative f => (Element (Map k v) -> f b) -> Map k v -> f () ofor_ :: Applicative f => Map k v -> (Element (Map k v) -> f b) -> f () omapM_ :: Applicative m => (Element (Map k v) -> m ()) -> Map k v -> m () oforM_ :: Applicative m => Map k v -> (Element (Map k v) -> m ()) -> m () ofoldlM :: Monad m => (a -> Element (Map k v) -> m a) -> a -> Map k v -> m a ofoldMap1Ex :: Semigroup m => (Element (Map k v) -> m) -> Map k v -> m ofoldr1Ex :: (Element (Map k v) -> Element (Map k v) -> Element (Map k v)) -> Map k v -> Element (Map k v) ofoldl1Ex' :: (Element (Map k v) -> Element (Map k v) -> Element (Map k v)) -> Map k v -> Element (Map k v) headEx :: Map k v -> Element (Map k v) lastEx :: Map k v -> Element (Map k v) unsafeHead :: Map k v -> Element (Map k v) unsafeLast :: Map k v -> Element (Map k v) maximumByEx :: (Element (Map k v) -> Element (Map k v) -> Ordering) -> Map k v -> Element (Map k v) minimumByEx :: (Element (Map k v) -> Element (Map k v) -> Ordering) -> Map k v -> Element (Map k v) | |
MonoFunctor (Map k v) | |
MonoTraversable (Map k v) | |
Defined in Data.MonoTraversable | |
(t ~ Map k' a', Ord k) => Rewrapped (Map k a) t | |
Defined in Control.Lens.Wrapped | |
type Item (Map k v) | |
Defined in Data.Map.Internal | |
type Index (Map k a) | |
Defined in Control.Lens.At type Index (Map k a) = k | |
type IxValue (Map k a) | |
Defined in Control.Lens.At type IxValue (Map k a) = a | |
type Unwrapped (Map k a) | |
Defined in Control.Lens.Wrapped type Unwrapped (Map k a) = [(k, a)] | |
type Element (Map k v) | |
Defined in Data.MonoTraversable type Element (Map k v) = v |
lookup :: Ord k => k -> Map k a -> Maybe a #
O(log n). Lookup the value at a key in the map.
The function will return the corresponding value as (
,
or Just
value)Nothing
if the key isn't in the map.
An example of using lookup
:
import Prelude hiding (lookup) import Data.Map employeeDept = fromList([("John","Sales"), ("Bob","IT")]) deptCountry = fromList([("IT","USA"), ("Sales","France")]) countryCurrency = fromList([("USA", "Dollar"), ("France", "Euro")]) employeeCurrency :: String -> Maybe String employeeCurrency name = do dept <- lookup name employeeDept country <- lookup dept deptCountry lookup country countryCurrency main = do putStrLn $ "John's currency: " ++ (show (employeeCurrency "John")) putStrLn $ "Pete's currency: " ++ (show (employeeCurrency "Pete"))
The output of this program:
John's currency: Just "Euro" Pete's currency: Nothing
(!?) :: Ord k => Map k a -> k -> Maybe a infixl 9 #
O(log n). Find the value at a key.
Returns Nothing
when the element can not be found.
fromList [(5, 'a'), (3, 'b')] !? 1 == Nothing
fromList [(5, 'a'), (3, 'b')] !? 5 == Just 'a'
Since: containers-0.5.9
A set of values a
.
Instances
ToJSON1 Set | |
Defined in Data.Aeson.Types.ToJSON liftToJSON :: (a -> Value) -> ([a] -> Value) -> Set a -> Value liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [Set a] -> Value liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> Set a -> Encoding liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [Set a] -> Encoding | |
Foldable Set | Folds in order of increasing key. |
Defined in Data.Set.Internal fold :: Monoid m => Set m -> m # foldMap :: Monoid m => (a -> m) -> Set a -> m # foldMap' :: Monoid m => (a -> m) -> Set a -> m # foldr :: (a -> b -> b) -> b -> Set a -> b # foldr' :: (a -> b -> b) -> b -> Set a -> b # foldl :: (b -> a -> b) -> b -> Set a -> b # foldl' :: (b -> a -> b) -> b -> Set a -> b # foldr1 :: (a -> a -> a) -> Set a -> a # foldl1 :: (a -> a -> a) -> Set a -> a # elem :: Eq a => a -> Set a -> Bool # maximum :: Ord a => Set a -> a # | |
Eq1 Set | Since: containers-0.5.9 |
Ord1 Set | Since: containers-0.5.9 |
Defined in Data.Set.Internal | |
Show1 Set | Since: containers-0.5.9 |
Hashable1 Set | |
Defined in Data.Hashable.Class | |
(Ord a, Arbitrary a) => Arbitrary (Set a) | |
CoArbitrary a => CoArbitrary (Set a) | |
Defined in Test.QuickCheck.Arbitrary coarbitrary :: Set a -> Gen b -> Gen b | |
(Ord a, Function a) => Function (Set a) | |
Defined in Test.QuickCheck.Function | |
(Ord a, FromJSON a) => FromJSON (Set a) | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON a => ToJSON (Set a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Set a -> Encoding # toJSONList :: [Set a] -> Value # toEncodingList :: [Set a] -> Encoding # | |
(Data a, Ord a) => Data (Set a) | |
Defined in Data.Set.Internal gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Set a -> c (Set a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Set a) # dataTypeOf :: Set a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Set a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Set a)) # gmapT :: (forall b. Data b => b -> b) -> Set a -> Set a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Set a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Set a -> r # gmapQ :: (forall d. Data d => d -> u) -> Set a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Set a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Set a -> m (Set a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Set a -> m (Set a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Set a -> m (Set a) # | |
Ord a => Monoid (Set a) | |
Ord a => Semigroup (Set a) | Since: containers-0.5.7 |
Ord a => IsList (Set a) | Since: containers-0.5.6.2 |
(Read a, Ord a) => Read (Set a) | |
Show a => Show (Set a) | |
NFData a => NFData (Set a) | |
Defined in Data.Set.Internal | |
(FromDhall a, Ord a, Show a) => FromDhall (Set a) | |
Defined in Dhall.Marshal.Decode | |
ToDhall a => ToDhall (Set a) | |
Defined in Dhall.Marshal.Encode injectWith :: InputNormalizer -> Encoder (Set a) | |
Eq a => Eq (Set a) | |
Ord a => Ord (Set a) | |
Hashable v => Hashable (Set v) | |
Defined in Data.Hashable.Class | |
Ord k => At (Set k) | |
Ord a => Contains (Set a) | |
Defined in Control.Lens.At | |
Ord k => Ixed (Set k) | |
Defined in Control.Lens.At | |
Ord a => Wrapped (Set a) | |
Defined in Control.Lens.Wrapped type Unwrapped (Set a) | |
Ord v => GrowingAppend (Set v) | |
Defined in Data.MonoTraversable | |
Ord e => MonoFoldable (Set e) | |
Defined in Data.MonoTraversable ofoldMap :: Monoid m => (Element (Set e) -> m) -> Set e -> m ofoldr :: (Element (Set e) -> b -> b) -> b -> Set e -> b ofoldl' :: (a -> Element (Set e) -> a) -> a -> Set e -> a otoList :: Set e -> [Element (Set e)] oall :: (Element (Set e) -> Bool) -> Set e -> Bool oany :: (Element (Set e) -> Bool) -> Set e -> Bool ocompareLength :: Integral i => Set e -> i -> Ordering otraverse_ :: Applicative f => (Element (Set e) -> f b) -> Set e -> f () ofor_ :: Applicative f => Set e -> (Element (Set e) -> f b) -> f () omapM_ :: Applicative m => (Element (Set e) -> m ()) -> Set e -> m () oforM_ :: Applicative m => Set e -> (Element (Set e) -> m ()) -> m () ofoldlM :: Monad m => (a -> Element (Set e) -> m a) -> a -> Set e -> m a ofoldMap1Ex :: Semigroup m => (Element (Set e) -> m) -> Set e -> m ofoldr1Ex :: (Element (Set e) -> Element (Set e) -> Element (Set e)) -> Set e -> Element (Set e) ofoldl1Ex' :: (Element (Set e) -> Element (Set e) -> Element (Set e)) -> Set e -> Element (Set e) headEx :: Set e -> Element (Set e) lastEx :: Set e -> Element (Set e) unsafeHead :: Set e -> Element (Set e) unsafeLast :: Set e -> Element (Set e) maximumByEx :: (Element (Set e) -> Element (Set e) -> Ordering) -> Set e -> Element (Set e) minimumByEx :: (Element (Set e) -> Element (Set e) -> Ordering) -> Set e -> Element (Set e) | |
MonoPointed (Set a) | |
Defined in Data.MonoTraversable | |
(t ~ Set a', Ord a) => Rewrapped (Set a) t | |
Defined in Control.Lens.Wrapped | |
Ord t => From (Set (Tag t)) (TagSet t) | |
Defined in EventDataTheory.Core | |
Ord t => From (Set (Tag t)) [t] | |
Defined in EventDataTheory.Core | |
Ord t => From (TagSet t) (Set (Tag t)) | |
Defined in EventDataTheory.Core | |
Ord t => From [t] (Set (Tag t)) | |
Defined in EventDataTheory.Core | |
type Item (Set a) | |
Defined in Data.Set.Internal | |
type Index (Set a) | |
Defined in Control.Lens.At type Index (Set a) = a | |
type IxValue (Set k) | |
Defined in Control.Lens.At type IxValue (Set k) = () | |
type Unwrapped (Set a) | |
Defined in Control.Lens.Wrapped type Unwrapped (Set a) = [a] | |
type Element (Set e) | |
Defined in Data.MonoTraversable type Element (Set e) = e |
Instances
toGregorian :: Day -> (Year, MonthOfYear, DayOfMonth) #
Convert to proleptic Gregorian calendar.
gregorianMonthLength :: Year -> MonthOfYear -> DayOfMonth #
The number of days in a given month according to the proleptic Gregorian calendar.
fromGregorian :: Year -> MonthOfYear -> DayOfMonth -> Day #
Convert from proleptic Gregorian calendar. Invalid values will be clipped to the correct range, month first, then day.
addGregorianDurationClip :: CalendarDiffDays -> Day -> Day #
Add months (clipped to last day), then add days
type MonthOfYear = Int #
Month of year, in range 1 (January) to 12 (December).
type DayOfMonth = Int #
Day of month, in range 1 to 31.
The Modified Julian Day is a standard count of days, with zero being the day 1858-11-17.
Instances
FromJSON Day | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSONKey Day | |
Defined in Data.Aeson.Types.FromJSON fromJSONKey :: FromJSONKeyFunction Day fromJSONKeyList :: FromJSONKeyFunction [Day] | |
ToJSON Day | |
Defined in Data.Aeson.Types.ToJSON | |
ToJSONKey Day | |
Defined in Data.Aeson.Types.ToJSON toJSONKey :: ToJSONKeyFunction Day toJSONKeyList :: ToJSONKeyFunction [Day] | |
Data Day | |
Defined in Data.Time.Calendar.Days gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Day -> c Day # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Day # dataTypeOf :: Day -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Day) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Day) # gmapT :: (forall b. Data b => b -> b) -> Day -> Day # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Day -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Day -> r # gmapQ :: (forall d. Data d => d -> u) -> Day -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Day -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Day -> m Day # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Day -> m Day # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Day -> m Day # | |
Enum Day | |
Ix Day | |
NFData Day | |
Defined in Data.Time.Calendar.Days | |
FromDhall Day | |
Defined in Dhall.Marshal.Decode | |
ToDhall Day | |
Defined in Dhall.Marshal.Encode injectWith :: InputNormalizer -> Encoder Day | |
Buildable Day | |
Defined in Formatting.Buildable | |
Eq Day | |
Ord Day | |
AsRTypeRep 'STRSXP Day | |
Defined in Variable.R.SEXP as_rtyperep :: Day -> RTypeRep 'STRSXP # | |
AsRTypeRep 'STRSXP (Vector Day) | |
Defined in Variable.R.SEXP as_rtyperep :: Vector Day -> RTypeRep 'STRSXP # | |
AsRTypeRep 'STRSXP (Vector (Maybe Day)) | |
Defined in Variable.R.SEXP | |
AsRTypeRep 'STRSXP (Maybe Day) | |
Defined in Variable.R.SEXP | |
AsRTypeRep 'STRSXP [Day] | |
Defined in Variable.R.SEXP as_rtyperep :: [Day] -> RTypeRep 'STRSXP # | |
AsRTypeRep 'STRSXP [Maybe Day] | |
Defined in Variable.R.SEXP | |
SizedIv (Interval Day) | |
type Moment (Interval Day) | |
Defined in IntervalAlgebra.Core |
data CalendarDiffDays #
Instances
A space efficient, packed, unboxed Unicode text type.
Instances
FromJSON Text | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSONKey Text | |
Defined in Data.Aeson.Types.FromJSON fromJSONKey :: FromJSONKeyFunction Text fromJSONKeyList :: FromJSONKeyFunction [Text] | |
ToJSON Text | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Text -> Encoding # toJSONList :: [Text] -> Value # toEncodingList :: [Text] -> Encoding # | |
ToJSONKey Text | |
Defined in Data.Aeson.Types.ToJSON toJSONKey :: ToJSONKeyFunction Text toJSONKeyList :: ToJSONKeyFunction [Text] | |
ToBody Text | |
Defined in Amazonka.Data.Body | |
ToHashedBody Text | |
Defined in Amazonka.Data.Body | |
ToPath Text | |
Defined in Amazonka.Data.Path toPath :: Text -> ByteString | |
ToQuery Text | |
Defined in Amazonka.Data.Query | |
Chunk Text | |
Defined in Data.Attoparsec.Internal.Types type ChunkElem Text pappendChunk :: State Text -> Text -> State Text atBufferEnd :: Text -> State Text -> Pos bufferElemAt :: Text -> Pos -> State Text -> Maybe (ChunkElem Text, Int) chunkElemToChar :: Text -> ChunkElem Text -> Char | |
FromDhall Text | |
Defined in Dhall.Marshal.Decode | |
ToDhall Text | |
Defined in Dhall.Marshal.Encode injectWith :: InputNormalizer -> Encoder Text | |
ToLogStr Text | |
Defined in System.Log.FastLogger.LogStr | |
Buildable Text | |
Defined in Formatting.Buildable | |
Hashable Text | |
Defined in Data.Hashable.Class | |
Ixed Text | |
Defined in Control.Lens.At | |
Stream Text | |
Defined in Text.Megaparsec.Stream tokenToChunk :: Proxy Text -> Token Text -> Tokens Text tokensToChunk :: Proxy Text -> [Token Text] -> Tokens Text chunkToTokens :: Proxy Text -> Tokens Text -> [Token Text] chunkLength :: Proxy Text -> Tokens Text -> Int chunkEmpty :: Proxy Text -> Tokens Text -> Bool take1_ :: Text -> Maybe (Token Text, Text) takeN_ :: Int -> Text -> Maybe (Tokens Text, Text) takeWhile_ :: (Token Text -> Bool) -> Text -> (Tokens Text, Text) | |
TraversableStream Text | |
Defined in Text.Megaparsec.Stream reachOffset :: Int -> PosState Text -> (Maybe String, PosState Text) reachOffsetNoLine :: Int -> PosState Text -> PosState Text | |
VisualStream Text | |
Defined in Text.Megaparsec.Stream | |
GrowingAppend Text | |
Defined in Data.MonoTraversable | |
MonoFoldable Text | |
Defined in Data.MonoTraversable ofoldMap :: Monoid m => (Element Text -> m) -> Text -> m ofoldr :: (Element Text -> b -> b) -> b -> Text -> b ofoldl' :: (a -> Element Text -> a) -> a -> Text -> a otoList :: Text -> [Element Text] oall :: (Element Text -> Bool) -> Text -> Bool oany :: (Element Text -> Bool) -> Text -> Bool ocompareLength :: Integral i => Text -> i -> Ordering otraverse_ :: Applicative f => (Element Text -> f b) -> Text -> f () ofor_ :: Applicative f => Text -> (Element Text -> f b) -> f () omapM_ :: Applicative m => (Element Text -> m ()) -> Text -> m () oforM_ :: Applicative m => Text -> (Element Text -> m ()) -> m () ofoldlM :: Monad m => (a -> Element Text -> m a) -> a -> Text -> m a ofoldMap1Ex :: Semigroup m => (Element Text -> m) -> Text -> m ofoldr1Ex :: (Element Text -> Element Text -> Element Text) -> Text -> Element Text ofoldl1Ex' :: (Element Text -> Element Text -> Element Text) -> Text -> Element Text headEx :: Text -> Element Text lastEx :: Text -> Element Text unsafeHead :: Text -> Element Text unsafeLast :: Text -> Element Text maximumByEx :: (Element Text -> Element Text -> Ordering) -> Text -> Element Text minimumByEx :: (Element Text -> Element Text -> Ordering) -> Text -> Element Text | |
MonoFunctor Text | |
MonoPointed Text | |
Defined in Data.MonoTraversable | |
MonoTraversable Text | |
Defined in Data.MonoTraversable | |
IsSequence Text | |
Defined in Data.Sequences fromList :: [Element Text] -> Text lengthIndex :: Text -> Index Text break :: (Element Text -> Bool) -> Text -> (Text, Text) span :: (Element Text -> Bool) -> Text -> (Text, Text) dropWhile :: (Element Text -> Bool) -> Text -> Text takeWhile :: (Element Text -> Bool) -> Text -> Text splitAt :: Index Text -> Text -> (Text, Text) unsafeSplitAt :: Index Text -> Text -> (Text, Text) take :: Index Text -> Text -> Text unsafeTake :: Index Text -> Text -> Text drop :: Index Text -> Text -> Text unsafeDrop :: Index Text -> Text -> Text dropEnd :: Index Text -> Text -> Text partition :: (Element Text -> Bool) -> Text -> (Text, Text) uncons :: Text -> Maybe (Element Text, Text) unsnoc :: Text -> Maybe (Text, Element Text) filter :: (Element Text -> Bool) -> Text -> Text filterM :: Monad m => (Element Text -> m Bool) -> Text -> m Text replicate :: Index Text -> Element Text -> Text replicateM :: Monad m => Index Text -> m (Element Text) -> m Text groupBy :: (Element Text -> Element Text -> Bool) -> Text -> [Text] groupAllOn :: Eq b => (Element Text -> b) -> Text -> [Text] subsequences :: Text -> [Text] permutations :: Text -> [Text] unsafeTail :: Text -> Text unsafeInit :: Text -> Text index :: Text -> Index Text -> Maybe (Element Text) indexEx :: Text -> Index Text -> Element Text unsafeIndex :: Text -> Index Text -> Element Text | |
SemiSequence Text | |
Defined in Data.Sequences type Index Text | |
Textual Text | |
Pretty Text | |
Defined in Prettyprinter.Internal prettyList :: [Text] -> Doc ann | |
AsRTypeRep 'STRSXP Text | |
Defined in Variable.R.SEXP as_rtyperep :: Text -> RTypeRep 'STRSXP # | |
LazySequence Text Text | |
Defined in Data.Sequences | |
Utf8 Text ByteString | |
Defined in Data.Sequences encodeUtf8 :: Text -> ByteString decodeUtf8 :: ByteString -> Text | |
AsRTypeRep 'STRSXP (Vector Text) | |
Defined in Variable.R.SEXP as_rtyperep :: Vector Text -> RTypeRep 'STRSXP # | |
AsRTypeRep 'STRSXP (Vector (Maybe Text)) | |
Defined in Variable.R.SEXP | |
AsRTypeRep 'STRSXP (Maybe Text) | |
Defined in Variable.R.SEXP | |
AsRTypeRep 'STRSXP [Text] | |
Defined in Variable.R.SEXP as_rtyperep :: [Text] -> RTypeRep 'STRSXP # | |
AsRTypeRep 'STRSXP [Maybe Text] | |
Defined in Variable.R.SEXP | |
Stream (NoShareInput Text) | |
Defined in Text.Megaparsec.Stream tokenToChunk :: Proxy (NoShareInput Text) -> Token (NoShareInput Text) -> Tokens (NoShareInput Text) tokensToChunk :: Proxy (NoShareInput Text) -> [Token (NoShareInput Text)] -> Tokens (NoShareInput Text) chunkToTokens :: Proxy (NoShareInput Text) -> Tokens (NoShareInput Text) -> [Token (NoShareInput Text)] chunkLength :: Proxy (NoShareInput Text) -> Tokens (NoShareInput Text) -> Int chunkEmpty :: Proxy (NoShareInput Text) -> Tokens (NoShareInput Text) -> Bool take1_ :: NoShareInput Text -> Maybe (Token (NoShareInput Text), NoShareInput Text) takeN_ :: Int -> NoShareInput Text -> Maybe (Tokens (NoShareInput Text), NoShareInput Text) takeWhile_ :: (Token (NoShareInput Text) -> Bool) -> NoShareInput Text -> (Tokens (NoShareInput Text), NoShareInput Text) | |
Stream (ShareInput Text) | |
Defined in Text.Megaparsec.Stream tokenToChunk :: Proxy (ShareInput Text) -> Token (ShareInput Text) -> Tokens (ShareInput Text) tokensToChunk :: Proxy (ShareInput Text) -> [Token (ShareInput Text)] -> Tokens (ShareInput Text) chunkToTokens :: Proxy (ShareInput Text) -> Tokens (ShareInput Text) -> [Token (ShareInput Text)] chunkLength :: Proxy (ShareInput Text) -> Tokens (ShareInput Text) -> Int chunkEmpty :: Proxy (ShareInput Text) -> Tokens (ShareInput Text) -> Bool take1_ :: ShareInput Text -> Maybe (Token (ShareInput Text), ShareInput Text) takeN_ :: Int -> ShareInput Text -> Maybe (Tokens (ShareInput Text), ShareInput Text) takeWhile_ :: (Token (ShareInput Text) -> Bool) -> ShareInput Text -> (Tokens (ShareInput Text), ShareInput Text) | |
type ChunkElem Text | |
Defined in Data.Attoparsec.Internal.Types | |
type State Text | |
Defined in Data.Attoparsec.Internal.Types type State Text = Buffer | |
type Item Text | |
type Index Text | |
Defined in Control.Lens.At | |
type IxValue Text | |
Defined in Control.Lens.At | |
type Token Text | |
Defined in Text.Megaparsec.Stream | |
type Tokens Text | |
Defined in Text.Megaparsec.Stream | |
type Element Text | |
Defined in Data.MonoTraversable | |
type Index Text | |
Defined in Data.Sequences | |
type Builder 'True Text | |
Defined in Data.String.Interpolate.Conversion.TextSink | |
type Token (NoShareInput Text) | |
Defined in Text.Megaparsec.Stream | |
type Token (ShareInput Text) | |
Defined in Text.Megaparsec.Stream | |
type Tokens (NoShareInput Text) | |
Defined in Text.Megaparsec.Stream | |
type Tokens (ShareInput Text) | |
Defined in Text.Megaparsec.Stream |
maximumMay :: Ord a => [a] -> Maybe a #
minimumMay :: Ord a => [a] -> Maybe a #
class Functor f => Filterable (f :: Type -> Type) where #
mapMaybe | catMaybes
Instances
class (Traversable t, Filterable t) => Witherable (t :: Type -> Type) where #
Nothing
wither :: Applicative f => (a -> f (Maybe b)) -> t a -> f (t b) #
witherM :: Monad m => (a -> m (Maybe b)) -> t a -> m (t b) #
filterA :: Applicative f => (a -> f Bool) -> t a -> f (t a) #
witherMap :: Applicative m => (t b -> r) -> (a -> m (Maybe b)) -> t a -> m r #
Instances
Witherable KeyMap | |
Defined in Data.Aeson.KeyMap wither :: Applicative f => (a -> f (Maybe b)) -> KeyMap a -> f (KeyMap b) # witherM :: Monad m => (a -> m (Maybe b)) -> KeyMap a -> m (KeyMap b) # filterA :: Applicative f => (a -> f Bool) -> KeyMap a -> f (KeyMap a) # witherMap :: Applicative m => (KeyMap b -> r) -> (a -> m (Maybe b)) -> KeyMap a -> m r # | |
Witherable ZipList | |
Defined in Witherable wither :: Applicative f => (a -> f (Maybe b)) -> ZipList a -> f (ZipList b) # witherM :: Monad m => (a -> m (Maybe b)) -> ZipList a -> m (ZipList b) # filterA :: Applicative f => (a -> f Bool) -> ZipList a -> f (ZipList a) # witherMap :: Applicative m => (ZipList b -> r) -> (a -> m (Maybe b)) -> ZipList a -> m r # | |
Witherable IntMap | |
Defined in Witherable wither :: Applicative f => (a -> f (Maybe b)) -> IntMap a -> f (IntMap b) # witherM :: Monad m => (a -> m (Maybe b)) -> IntMap a -> m (IntMap b) # filterA :: Applicative f => (a -> f Bool) -> IntMap a -> f (IntMap a) # witherMap :: Applicative m => (IntMap b -> r) -> (a -> m (Maybe b)) -> IntMap a -> m r # | |
Witherable Seq | |
Defined in Witherable | |
Witherable Vector | |
Defined in Witherable wither :: Applicative f => (a -> f (Maybe b)) -> Vector a -> f (Vector b) # witherM :: Monad m => (a -> m (Maybe b)) -> Vector a -> m (Vector b) # filterA :: Applicative f => (a -> f Bool) -> Vector a -> f (Vector a) # witherMap :: Applicative m => (Vector b -> r) -> (a -> m (Maybe b)) -> Vector a -> m r # | |
Witherable Maybe | |
Defined in Witherable | |
Witherable [] | |
Defined in Witherable | |
Monoid e => Witherable (Either e) | |
Defined in Witherable wither :: Applicative f => (a -> f (Maybe b)) -> Either e a -> f (Either e b) # witherM :: Monad m => (a -> m (Maybe b)) -> Either e a -> m (Either e b) # filterA :: Applicative f => (a -> f Bool) -> Either e a -> f (Either e a) # witherMap :: Applicative m => (Either e b -> r) -> (a -> m (Maybe b)) -> Either e a -> m r # | |
Witherable (Proxy :: Type -> Type) | |
Defined in Witherable | |
Witherable (U1 :: Type -> Type) | |
Witherable (V1 :: Type -> Type) | |
Witherable (Map k) | |
Defined in Witherable | |
Traversable t => Witherable (MaybeT t) | |
Defined in Witherable wither :: Applicative f => (a -> f (Maybe b)) -> MaybeT t a -> f (MaybeT t b) # witherM :: Monad m => (a -> m (Maybe b)) -> MaybeT t a -> m (MaybeT t b) # filterA :: Applicative f => (a -> f Bool) -> MaybeT t a -> f (MaybeT t a) # witherMap :: Applicative m => (MaybeT t b -> r) -> (a -> m (Maybe b)) -> MaybeT t a -> m r # | |
(Eq k, Hashable k) => Witherable (HashMap k) | |
Defined in Witherable wither :: Applicative f => (a -> f (Maybe b)) -> HashMap k a -> f (HashMap k b) # witherM :: Monad m => (a -> m (Maybe b)) -> HashMap k a -> m (HashMap k b) # filterA :: Applicative f => (a -> f Bool) -> HashMap k a -> f (HashMap k a) # witherMap :: Applicative m => (HashMap k b -> r) -> (a -> m (Maybe b)) -> HashMap k a -> m r # | |
(Alternative f, Traversable f) => Witherable (WrappedFoldable f) | |
Defined in Witherable wither :: Applicative f0 => (a -> f0 (Maybe b)) -> WrappedFoldable f a -> f0 (WrappedFoldable f b) # witherM :: Monad m => (a -> m (Maybe b)) -> WrappedFoldable f a -> m (WrappedFoldable f b) # filterA :: Applicative f0 => (a -> f0 Bool) -> WrappedFoldable f a -> f0 (WrappedFoldable f a) # witherMap :: Applicative m => (WrappedFoldable f b -> r) -> (a -> m (Maybe b)) -> WrappedFoldable f a -> m r # | |
Witherable (Const r :: Type -> Type) | |
Defined in Witherable wither :: Applicative f => (a -> f (Maybe b)) -> Const r a -> f (Const r b) # witherM :: Monad m => (a -> m (Maybe b)) -> Const r a -> m (Const r b) # filterA :: Applicative f => (a -> f Bool) -> Const r a -> f (Const r a) # witherMap :: Applicative m => (Const r b -> r0) -> (a -> m (Maybe b)) -> Const r a -> m r0 # | |
Witherable f => Witherable (Rec1 f) | |
Defined in Witherable wither :: Applicative f0 => (a -> f0 (Maybe b)) -> Rec1 f a -> f0 (Rec1 f b) # witherM :: Monad m => (a -> m (Maybe b)) -> Rec1 f a -> m (Rec1 f b) # filterA :: Applicative f0 => (a -> f0 Bool) -> Rec1 f a -> f0 (Rec1 f a) # witherMap :: Applicative m => (Rec1 f b -> r) -> (a -> m (Maybe b)) -> Rec1 f a -> m r # | |
Witherable t => Witherable (Backwards t) | |
Defined in Witherable wither :: Applicative f => (a -> f (Maybe b)) -> Backwards t a -> f (Backwards t b) # witherM :: Monad m => (a -> m (Maybe b)) -> Backwards t a -> m (Backwards t b) # filterA :: Applicative f => (a -> f Bool) -> Backwards t a -> f (Backwards t a) # witherMap :: Applicative m => (Backwards t b -> r) -> (a -> m (Maybe b)) -> Backwards t a -> m r # | |
Witherable f => Witherable (IdentityT f) | |
Defined in Witherable wither :: Applicative f0 => (a -> f0 (Maybe b)) -> IdentityT f a -> f0 (IdentityT f b) # witherM :: Monad m => (a -> m (Maybe b)) -> IdentityT f a -> m (IdentityT f b) # filterA :: Applicative f0 => (a -> f0 Bool) -> IdentityT f a -> f0 (IdentityT f a) # witherMap :: Applicative m => (IdentityT f b -> r) -> (a -> m (Maybe b)) -> IdentityT f a -> m r # | |
Witherable t => Witherable (Reverse t) | |
Defined in Witherable wither :: Applicative f => (a -> f (Maybe b)) -> Reverse t a -> f (Reverse t b) # witherM :: Monad m => (a -> m (Maybe b)) -> Reverse t a -> m (Reverse t b) # filterA :: Applicative f => (a -> f Bool) -> Reverse t a -> f (Reverse t a) # witherMap :: Applicative m => (Reverse t b -> r) -> (a -> m (Maybe b)) -> Reverse t a -> m r # | |
(Witherable f, Witherable g) => Witherable (Product f g) | |
Defined in Witherable wither :: Applicative f0 => (a -> f0 (Maybe b)) -> Product f g a -> f0 (Product f g b) # witherM :: Monad m => (a -> m (Maybe b)) -> Product f g a -> m (Product f g b) # filterA :: Applicative f0 => (a -> f0 Bool) -> Product f g a -> f0 (Product f g a) # witherMap :: Applicative m => (Product f g b -> r) -> (a -> m (Maybe b)) -> Product f g a -> m r # | |
(Witherable f, Witherable g) => Witherable (Sum f g) | |
Defined in Witherable wither :: Applicative f0 => (a -> f0 (Maybe b)) -> Sum f g a -> f0 (Sum f g b) # witherM :: Monad m => (a -> m (Maybe b)) -> Sum f g a -> m (Sum f g b) # filterA :: Applicative f0 => (a -> f0 Bool) -> Sum f g a -> f0 (Sum f g a) # witherMap :: Applicative m => (Sum f g b -> r) -> (a -> m (Maybe b)) -> Sum f g a -> m r # | |
(Witherable f, Witherable g) => Witherable (f :*: g) | |
Defined in Witherable wither :: Applicative f0 => (a -> f0 (Maybe b)) -> (f :*: g) a -> f0 ((f :*: g) b) # witherM :: Monad m => (a -> m (Maybe b)) -> (f :*: g) a -> m ((f :*: g) b) # filterA :: Applicative f0 => (a -> f0 Bool) -> (f :*: g) a -> f0 ((f :*: g) a) # witherMap :: Applicative m => ((f :*: g) b -> r) -> (a -> m (Maybe b)) -> (f :*: g) a -> m r # | |
(Witherable f, Witherable g) => Witherable (f :+: g) | |
Defined in Witherable wither :: Applicative f0 => (a -> f0 (Maybe b)) -> (f :+: g) a -> f0 ((f :+: g) b) # witherM :: Monad m => (a -> m (Maybe b)) -> (f :+: g) a -> m ((f :+: g) b) # filterA :: Applicative f0 => (a -> f0 Bool) -> (f :+: g) a -> f0 ((f :+: g) a) # witherMap :: Applicative m => ((f :+: g) b -> r) -> (a -> m (Maybe b)) -> (f :+: g) a -> m r # | |
Witherable (K1 i c :: Type -> Type) | |
Defined in Witherable wither :: Applicative f => (a -> f (Maybe b)) -> K1 i c a -> f (K1 i c b) # witherM :: Monad m => (a -> m (Maybe b)) -> K1 i c a -> m (K1 i c b) # filterA :: Applicative f => (a -> f Bool) -> K1 i c a -> f (K1 i c a) # witherMap :: Applicative m => (K1 i c b -> r) -> (a -> m (Maybe b)) -> K1 i c a -> m r # | |
(Traversable f, Witherable g) => Witherable (Compose f g) | |
Defined in Witherable wither :: Applicative f0 => (a -> f0 (Maybe b)) -> Compose f g a -> f0 (Compose f g b) # witherM :: Monad m => (a -> m (Maybe b)) -> Compose f g a -> m (Compose f g b) # filterA :: Applicative f0 => (a -> f0 Bool) -> Compose f g a -> f0 (Compose f g a) # witherMap :: Applicative m => (Compose f g b -> r) -> (a -> m (Maybe b)) -> Compose f g a -> m r # | |
(Traversable f, Witherable g) => Witherable (f :.: g) | |
Defined in Witherable wither :: Applicative f0 => (a -> f0 (Maybe b)) -> (f :.: g) a -> f0 ((f :.: g) b) # witherM :: Monad m => (a -> m (Maybe b)) -> (f :.: g) a -> m ((f :.: g) b) # filterA :: Applicative f0 => (a -> f0 Bool) -> (f :.: g) a -> f0 ((f :.: g) a) # witherMap :: Applicative m => ((f :.: g) b -> r) -> (a -> m (Maybe b)) -> (f :.: g) a -> m r # | |
Witherable f => Witherable (M1 i c f) | |
Defined in Witherable wither :: Applicative f0 => (a -> f0 (Maybe b)) -> M1 i c f a -> f0 (M1 i c f b) # witherM :: Monad m => (a -> m (Maybe b)) -> M1 i c f a -> m (M1 i c f b) # filterA :: Applicative f0 => (a -> f0 Bool) -> M1 i c f a -> f0 (M1 i c f a) # witherMap :: Applicative m => (M1 i c f b -> r) -> (a -> m (Maybe b)) -> M1 i c f a -> m r # |
Re-exports of (potentially) unsafe functions
Nothing
parseJSON :: Value -> Parser a #
parseJSONList :: Value -> Parser [a] #
Instances
FromJSON Key | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser Key # parseJSONList :: Value -> Parser [Key] # | |
FromJSON DotNetTime | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser DotNetTime # parseJSONList :: Value -> Parser [DotNetTime] # | |
FromJSON Value | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser Value # parseJSONList :: Value -> Parser [Value] # | |
FromJSON CachedAccessToken | |
Defined in Amazonka.Auth.SSO parseJSON :: Value -> Parser CachedAccessToken # parseJSONList :: Value -> Parser [CachedAccessToken] # | |
FromJSON IdentityDocument | |
Defined in Amazonka.EC2.Metadata parseJSON :: Value -> Parser IdentityDocument # parseJSONList :: Value -> Parser [IdentityDocument] # | |
FromJSON Base64 | |
Defined in Amazonka.Data.Base64 parseJSON :: Value -> Parser Base64 # parseJSONList :: Value -> Parser [Base64] # | |
FromJSON AWSTime | |
Defined in Amazonka.Data.Time parseJSON :: Value -> Parser AWSTime # parseJSONList :: Value -> Parser [AWSTime] # | |
FromJSON BasicTime | |
Defined in Amazonka.Data.Time parseJSON :: Value -> Parser BasicTime # parseJSONList :: Value -> Parser [BasicTime] # | |
FromJSON ISO8601 | |
Defined in Amazonka.Data.Time parseJSON :: Value -> Parser ISO8601 # parseJSONList :: Value -> Parser [ISO8601] # | |
FromJSON POSIX | |
Defined in Amazonka.Data.Time parseJSON :: Value -> Parser POSIX # parseJSONList :: Value -> Parser [POSIX] # | |
FromJSON RFC822 | |
Defined in Amazonka.Data.Time parseJSON :: Value -> Parser RFC822 # parseJSONList :: Value -> Parser [RFC822] # | |
FromJSON Abbrev | |
Defined in Amazonka.Types parseJSON :: Value -> Parser Abbrev # parseJSONList :: Value -> Parser [Abbrev] # | |
FromJSON AccessKey | |
Defined in Amazonka.Types parseJSON :: Value -> Parser AccessKey # parseJSONList :: Value -> Parser [AccessKey] # | |
FromJSON AuthEnv | |
Defined in Amazonka.Types parseJSON :: Value -> Parser AuthEnv # parseJSONList :: Value -> Parser [AuthEnv] # | |
FromJSON ErrorCode | |
Defined in Amazonka.Types parseJSON :: Value -> Parser ErrorCode # parseJSONList :: Value -> Parser [ErrorCode] # | |
FromJSON ErrorMessage | |
Defined in Amazonka.Types parseJSON :: Value -> Parser ErrorMessage # parseJSONList :: Value -> Parser [ErrorMessage] # | |
FromJSON Region | |
Defined in Amazonka.Types parseJSON :: Value -> Parser Region # parseJSONList :: Value -> Parser [Region] # | |
FromJSON RequestId | |
Defined in Amazonka.Types parseJSON :: Value -> Parser RequestId # parseJSONList :: Value -> Parser [RequestId] # | |
FromJSON SecretKey | |
Defined in Amazonka.Types parseJSON :: Value -> Parser SecretKey # parseJSONList :: Value -> Parser [SecretKey] # | |
FromJSON SessionToken | |
Defined in Amazonka.Types parseJSON :: Value -> Parser SessionToken # parseJSONList :: Value -> Parser [SessionToken] # | |
FromJSON BucketName | |
Defined in Amazonka.S3.Internal parseJSON :: Value -> Parser BucketName # parseJSONList :: Value -> Parser [BucketName] # | |
FromJSON AnalyticsS3ExportFileFormat | |
Defined in Amazonka.S3.Types.AnalyticsS3ExportFileFormat parseJSON :: Value -> Parser AnalyticsS3ExportFileFormat # parseJSONList :: Value -> Parser [AnalyticsS3ExportFileFormat] # | |
FromJSON ArchiveStatus | |
Defined in Amazonka.S3.Types.ArchiveStatus parseJSON :: Value -> Parser ArchiveStatus # parseJSONList :: Value -> Parser [ArchiveStatus] # | |
FromJSON BucketAccelerateStatus | |
Defined in Amazonka.S3.Types.BucketAccelerateStatus parseJSON :: Value -> Parser BucketAccelerateStatus # parseJSONList :: Value -> Parser [BucketAccelerateStatus] # | |
FromJSON BucketCannedACL | |
Defined in Amazonka.S3.Types.BucketCannedACL parseJSON :: Value -> Parser BucketCannedACL # parseJSONList :: Value -> Parser [BucketCannedACL] # | |
FromJSON BucketLogsPermission | |
Defined in Amazonka.S3.Types.BucketLogsPermission parseJSON :: Value -> Parser BucketLogsPermission # parseJSONList :: Value -> Parser [BucketLogsPermission] # | |
FromJSON BucketVersioningStatus | |
Defined in Amazonka.S3.Types.BucketVersioningStatus parseJSON :: Value -> Parser BucketVersioningStatus # parseJSONList :: Value -> Parser [BucketVersioningStatus] # | |
FromJSON CompressionType | |
Defined in Amazonka.S3.Types.CompressionType parseJSON :: Value -> Parser CompressionType # parseJSONList :: Value -> Parser [CompressionType] # | |
FromJSON DeleteMarkerReplicationStatus | |
Defined in Amazonka.S3.Types.DeleteMarkerReplicationStatus parseJSON :: Value -> Parser DeleteMarkerReplicationStatus # parseJSONList :: Value -> Parser [DeleteMarkerReplicationStatus] # | |
FromJSON EncodingType | |
Defined in Amazonka.S3.Types.EncodingType parseJSON :: Value -> Parser EncodingType # parseJSONList :: Value -> Parser [EncodingType] # | |
FromJSON Event | |
Defined in Amazonka.S3.Types.Event parseJSON :: Value -> Parser Event # parseJSONList :: Value -> Parser [Event] # | |
FromJSON ExistingObjectReplicationStatus | |
Defined in Amazonka.S3.Types.ExistingObjectReplicationStatus parseJSON :: Value -> Parser ExistingObjectReplicationStatus # parseJSONList :: Value -> Parser [ExistingObjectReplicationStatus] # | |
FromJSON ExpirationStatus | |
Defined in Amazonka.S3.Types.ExpirationStatus parseJSON :: Value -> Parser ExpirationStatus # parseJSONList :: Value -> Parser [ExpirationStatus] # | |
FromJSON ExpressionType | |
Defined in Amazonka.S3.Types.ExpressionType parseJSON :: Value -> Parser ExpressionType # parseJSONList :: Value -> Parser [ExpressionType] # | |
FromJSON FileHeaderInfo | |
Defined in Amazonka.S3.Types.FileHeaderInfo parseJSON :: Value -> Parser FileHeaderInfo # parseJSONList :: Value -> Parser [FileHeaderInfo] # | |
FromJSON FilterRuleName | |
Defined in Amazonka.S3.Types.FilterRuleName parseJSON :: Value -> Parser FilterRuleName # parseJSONList :: Value -> Parser [FilterRuleName] # | |
FromJSON IntelligentTieringAccessTier | |
Defined in Amazonka.S3.Types.IntelligentTieringAccessTier parseJSON :: Value -> Parser IntelligentTieringAccessTier # parseJSONList :: Value -> Parser [IntelligentTieringAccessTier] # | |
FromJSON IntelligentTieringStatus | |
Defined in Amazonka.S3.Types.IntelligentTieringStatus parseJSON :: Value -> Parser IntelligentTieringStatus # parseJSONList :: Value -> Parser [IntelligentTieringStatus] # | |
FromJSON InventoryFormat | |
Defined in Amazonka.S3.Types.InventoryFormat parseJSON :: Value -> Parser InventoryFormat # parseJSONList :: Value -> Parser [InventoryFormat] # | |
FromJSON InventoryFrequency | |
Defined in Amazonka.S3.Types.InventoryFrequency parseJSON :: Value -> Parser InventoryFrequency # parseJSONList :: Value -> Parser [InventoryFrequency] # | |
FromJSON InventoryIncludedObjectVersions | |
Defined in Amazonka.S3.Types.InventoryIncludedObjectVersions parseJSON :: Value -> Parser InventoryIncludedObjectVersions # parseJSONList :: Value -> Parser [InventoryIncludedObjectVersions] # | |
FromJSON InventoryOptionalField | |
Defined in Amazonka.S3.Types.InventoryOptionalField parseJSON :: Value -> Parser InventoryOptionalField # parseJSONList :: Value -> Parser [InventoryOptionalField] # | |
FromJSON JSONType | |
Defined in Amazonka.S3.Types.JSONType parseJSON :: Value -> Parser JSONType # parseJSONList :: Value -> Parser [JSONType] # | |
FromJSON MFADelete | |
Defined in Amazonka.S3.Types.MFADelete parseJSON :: Value -> Parser MFADelete # parseJSONList :: Value -> Parser [MFADelete] # | |
FromJSON MFADeleteStatus | |
Defined in Amazonka.S3.Types.MFADeleteStatus parseJSON :: Value -> Parser MFADeleteStatus # parseJSONList :: Value -> Parser [MFADeleteStatus] # | |
FromJSON MetadataDirective | |
Defined in Amazonka.S3.Types.MetadataDirective parseJSON :: Value -> Parser MetadataDirective # parseJSONList :: Value -> Parser [MetadataDirective] # | |
FromJSON MetricsStatus | |
Defined in Amazonka.S3.Types.MetricsStatus parseJSON :: Value -> Parser MetricsStatus # parseJSONList :: Value -> Parser [MetricsStatus] # | |
FromJSON ObjectCannedACL | |
Defined in Amazonka.S3.Types.ObjectCannedACL parseJSON :: Value -> Parser ObjectCannedACL # parseJSONList :: Value -> Parser [ObjectCannedACL] # | |
FromJSON ObjectLockEnabled | |
Defined in Amazonka.S3.Types.ObjectLockEnabled parseJSON :: Value -> Parser ObjectLockEnabled # parseJSONList :: Value -> Parser [ObjectLockEnabled] # | |
FromJSON ObjectLockLegalHoldStatus | |
Defined in Amazonka.S3.Types.ObjectLockLegalHoldStatus parseJSON :: Value -> Parser ObjectLockLegalHoldStatus # parseJSONList :: Value -> Parser [ObjectLockLegalHoldStatus] # | |
FromJSON ObjectLockMode | |
Defined in Amazonka.S3.Types.ObjectLockMode parseJSON :: Value -> Parser ObjectLockMode # parseJSONList :: Value -> Parser [ObjectLockMode] # | |
FromJSON ObjectLockRetentionMode | |
Defined in Amazonka.S3.Types.ObjectLockRetentionMode parseJSON :: Value -> Parser ObjectLockRetentionMode # parseJSONList :: Value -> Parser [ObjectLockRetentionMode] # | |
FromJSON ObjectOwnership | |
Defined in Amazonka.S3.Types.ObjectOwnership parseJSON :: Value -> Parser ObjectOwnership # parseJSONList :: Value -> Parser [ObjectOwnership] # | |
FromJSON ObjectStorageClass | |
Defined in Amazonka.S3.Types.ObjectStorageClass parseJSON :: Value -> Parser ObjectStorageClass # parseJSONList :: Value -> Parser [ObjectStorageClass] # | |
FromJSON ObjectVersionStorageClass | |
Defined in Amazonka.S3.Types.ObjectVersionStorageClass parseJSON :: Value -> Parser ObjectVersionStorageClass # parseJSONList :: Value -> Parser [ObjectVersionStorageClass] # | |
FromJSON OwnerOverride | |
Defined in Amazonka.S3.Types.OwnerOverride parseJSON :: Value -> Parser OwnerOverride # parseJSONList :: Value -> Parser [OwnerOverride] # | |
FromJSON Payer | |
Defined in Amazonka.S3.Types.Payer parseJSON :: Value -> Parser Payer # parseJSONList :: Value -> Parser [Payer] # | |
FromJSON Permission | |
Defined in Amazonka.S3.Types.Permission parseJSON :: Value -> Parser Permission # parseJSONList :: Value -> Parser [Permission] # | |
FromJSON Protocol | |
Defined in Amazonka.S3.Types.Protocol parseJSON :: Value -> Parser Protocol # parseJSONList :: Value -> Parser [Protocol] # | |
FromJSON QuoteFields | |
Defined in Amazonka.S3.Types.QuoteFields parseJSON :: Value -> Parser QuoteFields # parseJSONList :: Value -> Parser [QuoteFields] # | |
FromJSON ReplicaModificationsStatus | |
Defined in Amazonka.S3.Types.ReplicaModificationsStatus parseJSON :: Value -> Parser ReplicaModificationsStatus # parseJSONList :: Value -> Parser [ReplicaModificationsStatus] # | |
FromJSON ReplicationRuleStatus | |
Defined in Amazonka.S3.Types.ReplicationRuleStatus parseJSON :: Value -> Parser ReplicationRuleStatus # parseJSONList :: Value -> Parser [ReplicationRuleStatus] # | |
FromJSON ReplicationStatus | |
Defined in Amazonka.S3.Types.ReplicationStatus parseJSON :: Value -> Parser ReplicationStatus # parseJSONList :: Value -> Parser [ReplicationStatus] # | |
FromJSON ReplicationTimeStatus | |
Defined in Amazonka.S3.Types.ReplicationTimeStatus parseJSON :: Value -> Parser ReplicationTimeStatus # parseJSONList :: Value -> Parser [ReplicationTimeStatus] # | |
FromJSON RequestCharged | |
Defined in Amazonka.S3.Types.RequestCharged parseJSON :: Value -> Parser RequestCharged # parseJSONList :: Value -> Parser [RequestCharged] # | |
FromJSON RequestPayer | |
Defined in Amazonka.S3.Types.RequestPayer parseJSON :: Value -> Parser RequestPayer # parseJSONList :: Value -> Parser [RequestPayer] # | |
FromJSON RestoreRequestType | |
Defined in Amazonka.S3.Types.RestoreRequestType parseJSON :: Value -> Parser RestoreRequestType # parseJSONList :: Value -> Parser [RestoreRequestType] # | |
FromJSON ServerSideEncryption | |
Defined in Amazonka.S3.Types.ServerSideEncryption parseJSON :: Value -> Parser ServerSideEncryption # parseJSONList :: Value -> Parser [ServerSideEncryption] # | |
FromJSON SseKmsEncryptedObjectsStatus | |
Defined in Amazonka.S3.Types.SseKmsEncryptedObjectsStatus parseJSON :: Value -> Parser SseKmsEncryptedObjectsStatus # parseJSONList :: Value -> Parser [SseKmsEncryptedObjectsStatus] # | |
FromJSON StorageClass | |
Defined in Amazonka.S3.Types.StorageClass parseJSON :: Value -> Parser StorageClass # parseJSONList :: Value -> Parser [StorageClass] # | |
FromJSON StorageClassAnalysisSchemaVersion | |
Defined in Amazonka.S3.Types.StorageClassAnalysisSchemaVersion parseJSON :: Value -> Parser StorageClassAnalysisSchemaVersion # parseJSONList :: Value -> Parser [StorageClassAnalysisSchemaVersion] # | |
FromJSON TaggingDirective | |
Defined in Amazonka.S3.Types.TaggingDirective parseJSON :: Value -> Parser TaggingDirective # parseJSONList :: Value -> Parser [TaggingDirective] # | |
FromJSON Tier | |
Defined in Amazonka.S3.Types.Tier parseJSON :: Value -> Parser Tier # parseJSONList :: Value -> Parser [Tier] # | |
FromJSON TransitionStorageClass | |
Defined in Amazonka.S3.Types.TransitionStorageClass parseJSON :: Value -> Parser TransitionStorageClass # parseJSONList :: Value -> Parser [TransitionStorageClass] # | |
FromJSON Type | |
Defined in Amazonka.S3.Types.Type parseJSON :: Value -> Parser Type # parseJSONList :: Value -> Parser [Type] # | |
FromJSON AccountInfo | |
Defined in Amazonka.SSO.Types.AccountInfo parseJSON :: Value -> Parser AccountInfo # parseJSONList :: Value -> Parser [AccountInfo] # | |
FromJSON RoleCredentials | |
Defined in Amazonka.SSO.Types.RoleCredentials parseJSON :: Value -> Parser RoleCredentials # parseJSONList :: Value -> Parser [RoleCredentials] # | |
FromJSON RoleInfo | |
Defined in Amazonka.SSO.Types.RoleInfo parseJSON :: Value -> Parser RoleInfo # parseJSONList :: Value -> Parser [RoleInfo] # | |
FromJSON Version | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Void | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON CTime | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Int16 | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Int32 | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Int64 | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Int8 | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Word16 | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Word32 | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Word64 | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Word8 | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON IntSet | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON CharacterSet | |
Defined in Dhall.Pretty.Internal parseJSON :: Value -> Parser CharacterSet # parseJSONList :: Value -> Parser [CharacterSet] # | |
FromJSON Source | |
Defined in EventDataTheory.Core | |
FromJSON Ordering | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON LoggedMessage | |
Defined in Control.Monad.Logger.Aeson.Internal parseJSON :: Value -> Parser LoggedMessage # parseJSONList :: Value -> Parser [LoggedMessage] # | |
FromJSON Scientific | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser Scientific # parseJSONList :: Value -> Parser [Scientific] # | |
FromJSON Text | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Text | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON ShortText | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser ShortText # parseJSONList :: Value -> Parser [ShortText] # | |
FromJSON CalendarDiffDays | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser CalendarDiffDays # parseJSONList :: Value -> Parser [CalendarDiffDays] # | |
FromJSON Day | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Month | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Quarter | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON QuarterOfYear | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser QuarterOfYear # parseJSONList :: Value -> Parser [QuarterOfYear] # | |
FromJSON DayOfWeek | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON DiffTime | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON NominalDiffTime | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser NominalDiffTime # parseJSONList :: Value -> Parser [NominalDiffTime] # | |
FromJSON SystemTime | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser SystemTime # parseJSONList :: Value -> Parser [SystemTime] # | |
FromJSON UTCTime | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON CalendarDiffTime | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser CalendarDiffTime # parseJSONList :: Value -> Parser [CalendarDiffTime] # | |
FromJSON LocalTime | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON TimeOfDay | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON ZonedTime | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON UUID | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser UUID # parseJSONList :: Value -> Parser [UUID] # | |
FromJSON Integer | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Natural | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON () | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser () # parseJSONList :: Value -> Parser [()] # | |
FromJSON Bool | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Char | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Double | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Float | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Int | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON Word | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON v => FromJSON (KeyMap v) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (KeyMap v) # parseJSONList :: Value -> Parser [KeyMap v] # | |
FromJSON a => FromJSON (Sensitive a) | |
Defined in Amazonka.Data.Sensitive parseJSON :: Value -> Parser (Sensitive a) # parseJSONList :: Value -> Parser [Sensitive a] # | |
FromJSON a => FromJSON (Identity a) | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON a => FromJSON (First a) | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON a => FromJSON (Last a) | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON a => FromJSON (First a) | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON a => FromJSON (Last a) | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON a => FromJSON (Max a) | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON a => FromJSON (Min a) | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON a => FromJSON (WrappedMonoid a) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (WrappedMonoid a) # parseJSONList :: Value -> Parser [WrappedMonoid a] # | |
FromJSON a => FromJSON (Dual a) | |
Defined in Data.Aeson.Types.FromJSON | |
(FromJSON a, Integral a) => FromJSON (Ratio a) | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON a => FromJSON (IntMap a) | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON a => FromJSON (Seq a) | |
Defined in Data.Aeson.Types.FromJSON | |
(Ord a, FromJSON a) => FromJSON (Set a) | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON v => FromJSON (Tree v) | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON1 f => FromJSON (Fix f) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (Fix f) # parseJSONList :: Value -> Parser [Fix f] # | |
(FromJSON1 f, Functor f) => FromJSON (Mu f) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (Mu f) # parseJSONList :: Value -> Parser [Mu f] # | |
(FromJSON1 f, Functor f) => FromJSON (Nu f) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (Nu f) # parseJSONList :: Value -> Parser [Nu f] # | |
FromJSON a => FromJSON (DNonEmpty a) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (DNonEmpty a) # parseJSONList :: Value -> Parser [DNonEmpty a] # | |
FromJSON a => FromJSON (DList a) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (DList a) # parseJSONList :: Value -> Parser [DList a] # | |
FromJSON t => FromJSON (Tag t) | |
Defined in EventDataTheory.Core | |
(Ord t, FromJSON t) => FromJSON (TagSet t) | |
Defined in EventDataTheory.Core | |
FromJSON a => FromJSON (TimeLine a) | |
Defined in EventDataTheory.EventLines | |
FromJSON a => FromJSON (Array a) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (Array a) # parseJSONList :: Value -> Parser [Array a] # | |
(Prim a, FromJSON a) => FromJSON (PrimArray a) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (PrimArray a) # parseJSONList :: Value -> Parser [PrimArray a] # | |
FromJSON a => FromJSON (SmallArray a) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (SmallArray a) # parseJSONList :: Value -> Parser [SmallArray a] # | |
FromJSON a => FromJSON (Maybe a) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (Maybe a) # parseJSONList :: Value -> Parser [Maybe a] # | |
(Eq a, Hashable a, FromJSON a) => FromJSON (HashSet a) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (HashSet a) # parseJSONList :: Value -> Parser [HashSet a] # | |
FromJSON a => FromJSON (Vector a) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (Vector a) # parseJSONList :: Value -> Parser [Vector a] # | |
(Prim a, FromJSON a) => FromJSON (Vector a) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (Vector a) # parseJSONList :: Value -> Parser [Vector a] # | |
(Storable a, FromJSON a) => FromJSON (Vector a) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (Vector a) # parseJSONList :: Value -> Parser [Vector a] # | |
(Vector Vector a, FromJSON a) => FromJSON (Vector a) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (Vector a) # parseJSONList :: Value -> Parser [Vector a] # | |
FromJSON a => FromJSON (NonEmpty a) | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON a => FromJSON (Maybe a) | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON a => FromJSON (a) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (a) # parseJSONList :: Value -> Parser [(a)] # | |
FromJSON a => FromJSON [a] | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser [a] # parseJSONList :: Value -> Parser [[a]] # | |
(FromJSON a, FromJSON b) => FromJSON (Either a b) | |
Defined in Data.Aeson.Types.FromJSON | |
HasResolution a => FromJSON (Fixed a) | |
Defined in Data.Aeson.Types.FromJSON | |
FromJSON (Proxy a) | |
Defined in Data.Aeson.Types.FromJSON | |
(FromJSONKey k, Ord k, FromJSON v) => FromJSON (Map k v) | |
Defined in Data.Aeson.Types.FromJSON | |
(Ord t, FromJSON t, FromJSON m) => FromJSON (Context t m) | |
Defined in EventDataTheory.Core | |
(FromJSON a, FromJSON m) => FromJSON (FactsLine m a) | |
Defined in EventDataTheory.EventLines | |
(FromJSON a, FromJSON b) => FromJSON (Either a b) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (Either a b) # parseJSONList :: Value -> Parser [Either a b] # | |
(FromJSON a, FromJSON b) => FromJSON (These a b) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (These a b) # parseJSONList :: Value -> Parser [These a b] # | |
(FromJSON a, FromJSON b) => FromJSON (Pair a b) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (Pair a b) # parseJSONList :: Value -> Parser [Pair a b] # | |
(FromJSON a, FromJSON b) => FromJSON (These a b) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (These a b) # parseJSONList :: Value -> Parser [These a b] # | |
(FromJSON v, FromJSONKey k, Eq k, Hashable k) => FromJSON (HashMap k v) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (HashMap k v) # parseJSONList :: Value -> Parser [HashMap k v] # | |
(FromJSON a, FromJSON b) => FromJSON (a, b) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (a, b) # parseJSONList :: Value -> Parser [(a, b)] # | |
FromJSON a => FromJSON (Const a b) | |
Defined in Data.Aeson.Types.FromJSON | |
(Ord t, FromJSON t, FromJSON m, FromJSON a) => FromJSON (Event t m a) | |
Defined in EventDataTheory.Core | |
FromJSONEvent t m a => FromJSON (EventLine t m a) | |
Defined in EventDataTheory.EventLines | |
FromJSON b => FromJSON (Tagged a b) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (Tagged a b) # parseJSONList :: Value -> Parser [Tagged a b] # | |
(FromJSON1 f, FromJSON1 g, FromJSON a) => FromJSON (These1 f g a) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (These1 f g a) # parseJSONList :: Value -> Parser [These1 f g a] # | |
(FromJSON a, FromJSON b, FromJSON c) => FromJSON (a, b, c) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (a, b, c) # parseJSONList :: Value -> Parser [(a, b, c)] # | |
(FromJSON1 f, FromJSON1 g, FromJSON a) => FromJSON (Product f g a) | |
Defined in Data.Aeson.Types.FromJSON | |
(FromJSON1 f, FromJSON1 g, FromJSON a) => FromJSON (Sum f g a) | |
Defined in Data.Aeson.Types.FromJSON | |
(FromJSON a, FromJSON b, FromJSON c, FromJSON d) => FromJSON (a, b, c, d) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (a, b, c, d) # parseJSONList :: Value -> Parser [(a, b, c, d)] # | |
(FromJSON1 f, FromJSON1 g, FromJSON a) => FromJSON (Compose f g a) | |
Defined in Data.Aeson.Types.FromJSON | |
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e) => FromJSON (a, b, c, d, e) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (a, b, c, d, e) # parseJSONList :: Value -> Parser [(a, b, c, d, e)] # | |
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f) => FromJSON (a, b, c, d, e, f) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (a, b, c, d, e, f) # parseJSONList :: Value -> Parser [(a, b, c, d, e, f)] # | |
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g) => FromJSON (a, b, c, d, e, f, g) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (a, b, c, d, e, f, g) # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g)] # | |
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h) => FromJSON (a, b, c, d, e, f, g, h) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (a, b, c, d, e, f, g, h) # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g, h)] # | |
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i) => FromJSON (a, b, c, d, e, f, g, h, i) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (a, b, c, d, e, f, g, h, i) # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g, h, i)] # | |
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j) => FromJSON (a, b, c, d, e, f, g, h, i, j) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (a, b, c, d, e, f, g, h, i, j) # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g, h, i, j)] # | |
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j, FromJSON k) => FromJSON (a, b, c, d, e, f, g, h, i, j, k) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (a, b, c, d, e, f, g, h, i, j, k) # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g, h, i, j, k)] # | |
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j, FromJSON k, FromJSON l) => FromJSON (a, b, c, d, e, f, g, h, i, j, k, l) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (a, b, c, d, e, f, g, h, i, j, k, l) # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g, h, i, j, k, l)] # | |
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j, FromJSON k, FromJSON l, FromJSON m) => FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (a, b, c, d, e, f, g, h, i, j, k, l, m) # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g, h, i, j, k, l, m)] # | |
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j, FromJSON k, FromJSON l, FromJSON m, FromJSON n) => FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (a, b, c, d, e, f, g, h, i, j, k, l, m, n) # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g, h, i, j, k, l, m, n)] # | |
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j, FromJSON k, FromJSON l, FromJSON m, FromJSON n, FromJSON o) => FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) | |
Defined in Data.Aeson.Types.FromJSON parseJSON :: Value -> Parser (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)] # |
Nothing
Instances
ToJSON Key | |
Defined in Data.Aeson.Types.ToJSON | |
ToJSON DotNetTime | |
Defined in Data.Aeson.Types.ToJSON toJSON :: DotNetTime -> Value # toEncoding :: DotNetTime -> Encoding # toJSONList :: [DotNetTime] -> Value # toEncodingList :: [DotNetTime] -> Encoding # | |
ToJSON Value | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Value -> Encoding # toJSONList :: [Value] -> Value # toEncodingList :: [Value] -> Encoding # | |
ToJSON IdentityDocument | |
Defined in Amazonka.EC2.Metadata toJSON :: IdentityDocument -> Value # toEncoding :: IdentityDocument -> Encoding # toJSONList :: [IdentityDocument] -> Value # toEncodingList :: [IdentityDocument] -> Encoding # | |
ToJSON Base64 | |
Defined in Amazonka.Data.Base64 toEncoding :: Base64 -> Encoding # toJSONList :: [Base64] -> Value # toEncodingList :: [Base64] -> Encoding # | |
ToJSON AWSTime | |
Defined in Amazonka.Data.Time toEncoding :: AWSTime -> Encoding # toJSONList :: [AWSTime] -> Value # toEncodingList :: [AWSTime] -> Encoding # | |
ToJSON BasicTime | |
Defined in Amazonka.Data.Time toJSON :: BasicTime -> Value # toEncoding :: BasicTime -> Encoding # toJSONList :: [BasicTime] -> Value # toEncodingList :: [BasicTime] -> Encoding # | |
ToJSON ISO8601 | |
Defined in Amazonka.Data.Time toEncoding :: ISO8601 -> Encoding # toJSONList :: [ISO8601] -> Value # toEncodingList :: [ISO8601] -> Encoding # | |
ToJSON POSIX | |
Defined in Amazonka.Data.Time toEncoding :: POSIX -> Encoding # toJSONList :: [POSIX] -> Value # toEncodingList :: [POSIX] -> Encoding # | |
ToJSON RFC822 | |
Defined in Amazonka.Data.Time toEncoding :: RFC822 -> Encoding # toJSONList :: [RFC822] -> Value # toEncodingList :: [RFC822] -> Encoding # | |
ToJSON AccessKey | |
Defined in Amazonka.Types toJSON :: AccessKey -> Value # toEncoding :: AccessKey -> Encoding # toJSONList :: [AccessKey] -> Value # toEncodingList :: [AccessKey] -> Encoding # | |
ToJSON Region | |
Defined in Amazonka.Types toEncoding :: Region -> Encoding # toJSONList :: [Region] -> Value # toEncodingList :: [Region] -> Encoding # | |
ToJSON SecretKey | |
Defined in Amazonka.Types toJSON :: SecretKey -> Value # toEncoding :: SecretKey -> Encoding # toJSONList :: [SecretKey] -> Value # toEncodingList :: [SecretKey] -> Encoding # | |
ToJSON SessionToken | |
Defined in Amazonka.Types toJSON :: SessionToken -> Value # toEncoding :: SessionToken -> Encoding # toJSONList :: [SessionToken] -> Value # toEncodingList :: [SessionToken] -> Encoding # | |
ToJSON AnalyticsS3ExportFileFormat | |
Defined in Amazonka.S3.Types.AnalyticsS3ExportFileFormat toJSON :: AnalyticsS3ExportFileFormat -> Value # toEncoding :: AnalyticsS3ExportFileFormat -> Encoding # toJSONList :: [AnalyticsS3ExportFileFormat] -> Value # toEncodingList :: [AnalyticsS3ExportFileFormat] -> Encoding # | |
ToJSON ArchiveStatus | |
Defined in Amazonka.S3.Types.ArchiveStatus toJSON :: ArchiveStatus -> Value # toEncoding :: ArchiveStatus -> Encoding # toJSONList :: [ArchiveStatus] -> Value # toEncodingList :: [ArchiveStatus] -> Encoding # | |
ToJSON BucketAccelerateStatus | |
Defined in Amazonka.S3.Types.BucketAccelerateStatus toJSON :: BucketAccelerateStatus -> Value # toEncoding :: BucketAccelerateStatus -> Encoding # toJSONList :: [BucketAccelerateStatus] -> Value # toEncodingList :: [BucketAccelerateStatus] -> Encoding # | |
ToJSON BucketCannedACL | |
Defined in Amazonka.S3.Types.BucketCannedACL toJSON :: BucketCannedACL -> Value # toEncoding :: BucketCannedACL -> Encoding # toJSONList :: [BucketCannedACL] -> Value # toEncodingList :: [BucketCannedACL] -> Encoding # | |
ToJSON BucketLogsPermission | |
Defined in Amazonka.S3.Types.BucketLogsPermission toJSON :: BucketLogsPermission -> Value # toEncoding :: BucketLogsPermission -> Encoding # toJSONList :: [BucketLogsPermission] -> Value # toEncodingList :: [BucketLogsPermission] -> Encoding # | |
ToJSON BucketVersioningStatus | |
Defined in Amazonka.S3.Types.BucketVersioningStatus toJSON :: BucketVersioningStatus -> Value # toEncoding :: BucketVersioningStatus -> Encoding # toJSONList :: [BucketVersioningStatus] -> Value # toEncodingList :: [BucketVersioningStatus] -> Encoding # | |
ToJSON CompressionType | |
Defined in Amazonka.S3.Types.CompressionType toJSON :: CompressionType -> Value # toEncoding :: CompressionType -> Encoding # toJSONList :: [CompressionType] -> Value # toEncodingList :: [CompressionType] -> Encoding # | |
ToJSON DeleteMarkerReplicationStatus | |
Defined in Amazonka.S3.Types.DeleteMarkerReplicationStatus toJSON :: DeleteMarkerReplicationStatus -> Value # toEncoding :: DeleteMarkerReplicationStatus -> Encoding # toJSONList :: [DeleteMarkerReplicationStatus] -> Value # toEncodingList :: [DeleteMarkerReplicationStatus] -> Encoding # | |
ToJSON EncodingType | |
Defined in Amazonka.S3.Types.EncodingType toJSON :: EncodingType -> Value # toEncoding :: EncodingType -> Encoding # toJSONList :: [EncodingType] -> Value # toEncodingList :: [EncodingType] -> Encoding # | |
ToJSON Event | |
Defined in Amazonka.S3.Types.Event toEncoding :: Event -> Encoding # toJSONList :: [Event] -> Value # toEncodingList :: [Event] -> Encoding # | |
ToJSON ExistingObjectReplicationStatus | |
Defined in Amazonka.S3.Types.ExistingObjectReplicationStatus toJSON :: ExistingObjectReplicationStatus -> Value # toEncoding :: ExistingObjectReplicationStatus -> Encoding # toJSONList :: [ExistingObjectReplicationStatus] -> Value # toEncodingList :: [ExistingObjectReplicationStatus] -> Encoding # | |
ToJSON ExpirationStatus | |
Defined in Amazonka.S3.Types.ExpirationStatus toJSON :: ExpirationStatus -> Value # toEncoding :: ExpirationStatus -> Encoding # toJSONList :: [ExpirationStatus] -> Value # toEncodingList :: [ExpirationStatus] -> Encoding # | |
ToJSON ExpressionType | |
Defined in Amazonka.S3.Types.ExpressionType toJSON :: ExpressionType -> Value # toEncoding :: ExpressionType -> Encoding # toJSONList :: [ExpressionType] -> Value # toEncodingList :: [ExpressionType] -> Encoding # | |
ToJSON FileHeaderInfo | |
Defined in Amazonka.S3.Types.FileHeaderInfo toJSON :: FileHeaderInfo -> Value # toEncoding :: FileHeaderInfo -> Encoding # toJSONList :: [FileHeaderInfo] -> Value # toEncodingList :: [FileHeaderInfo] -> Encoding # | |
ToJSON FilterRuleName | |
Defined in Amazonka.S3.Types.FilterRuleName toJSON :: FilterRuleName -> Value # toEncoding :: FilterRuleName -> Encoding # toJSONList :: [FilterRuleName] -> Value # toEncodingList :: [FilterRuleName] -> Encoding # | |
ToJSON IntelligentTieringAccessTier | |
Defined in Amazonka.S3.Types.IntelligentTieringAccessTier toJSON :: IntelligentTieringAccessTier -> Value # toEncoding :: IntelligentTieringAccessTier -> Encoding # toJSONList :: [IntelligentTieringAccessTier] -> Value # toEncodingList :: [IntelligentTieringAccessTier] -> Encoding # | |
ToJSON IntelligentTieringStatus | |
Defined in Amazonka.S3.Types.IntelligentTieringStatus toJSON :: IntelligentTieringStatus -> Value # toEncoding :: IntelligentTieringStatus -> Encoding # toJSONList :: [IntelligentTieringStatus] -> Value # toEncodingList :: [IntelligentTieringStatus] -> Encoding # | |
ToJSON InventoryFormat | |
Defined in Amazonka.S3.Types.InventoryFormat toJSON :: InventoryFormat -> Value # toEncoding :: InventoryFormat -> Encoding # toJSONList :: [InventoryFormat] -> Value # toEncodingList :: [InventoryFormat] -> Encoding # | |
ToJSON InventoryFrequency | |
Defined in Amazonka.S3.Types.InventoryFrequency toJSON :: InventoryFrequency -> Value # toEncoding :: InventoryFrequency -> Encoding # toJSONList :: [InventoryFrequency] -> Value # toEncodingList :: [InventoryFrequency] -> Encoding # | |
ToJSON InventoryIncludedObjectVersions | |
Defined in Amazonka.S3.Types.InventoryIncludedObjectVersions toJSON :: InventoryIncludedObjectVersions -> Value # toEncoding :: InventoryIncludedObjectVersions -> Encoding # toJSONList :: [InventoryIncludedObjectVersions] -> Value # toEncodingList :: [InventoryIncludedObjectVersions] -> Encoding # | |
ToJSON InventoryOptionalField | |
Defined in Amazonka.S3.Types.InventoryOptionalField toJSON :: InventoryOptionalField -> Value # toEncoding :: InventoryOptionalField -> Encoding # toJSONList :: [InventoryOptionalField] -> Value # toEncodingList :: [InventoryOptionalField] -> Encoding # | |
ToJSON JSONType | |
Defined in Amazonka.S3.Types.JSONType toEncoding :: JSONType -> Encoding # toJSONList :: [JSONType] -> Value # toEncodingList :: [JSONType] -> Encoding # | |
ToJSON MFADelete | |
Defined in Amazonka.S3.Types.MFADelete toJSON :: MFADelete -> Value # toEncoding :: MFADelete -> Encoding # toJSONList :: [MFADelete] -> Value # toEncodingList :: [MFADelete] -> Encoding # | |
ToJSON MFADeleteStatus | |
Defined in Amazonka.S3.Types.MFADeleteStatus toJSON :: MFADeleteStatus -> Value # toEncoding :: MFADeleteStatus -> Encoding # toJSONList :: [MFADeleteStatus] -> Value # toEncodingList :: [MFADeleteStatus] -> Encoding # | |
ToJSON MetadataDirective | |
Defined in Amazonka.S3.Types.MetadataDirective toJSON :: MetadataDirective -> Value # toEncoding :: MetadataDirective -> Encoding # toJSONList :: [MetadataDirective] -> Value # toEncodingList :: [MetadataDirective] -> Encoding # | |
ToJSON MetricsStatus | |
Defined in Amazonka.S3.Types.MetricsStatus toJSON :: MetricsStatus -> Value # toEncoding :: MetricsStatus -> Encoding # toJSONList :: [MetricsStatus] -> Value # toEncodingList :: [MetricsStatus] -> Encoding # | |
ToJSON ObjectCannedACL | |
Defined in Amazonka.S3.Types.ObjectCannedACL toJSON :: ObjectCannedACL -> Value # toEncoding :: ObjectCannedACL -> Encoding # toJSONList :: [ObjectCannedACL] -> Value # toEncodingList :: [ObjectCannedACL] -> Encoding # | |
ToJSON ObjectLockEnabled | |
Defined in Amazonka.S3.Types.ObjectLockEnabled toJSON :: ObjectLockEnabled -> Value # toEncoding :: ObjectLockEnabled -> Encoding # toJSONList :: [ObjectLockEnabled] -> Value # toEncodingList :: [ObjectLockEnabled] -> Encoding # | |
ToJSON ObjectLockLegalHoldStatus | |
Defined in Amazonka.S3.Types.ObjectLockLegalHoldStatus toJSON :: ObjectLockLegalHoldStatus -> Value # toEncoding :: ObjectLockLegalHoldStatus -> Encoding # toJSONList :: [ObjectLockLegalHoldStatus] -> Value # toEncodingList :: [ObjectLockLegalHoldStatus] -> Encoding # | |
ToJSON ObjectLockMode | |
Defined in Amazonka.S3.Types.ObjectLockMode toJSON :: ObjectLockMode -> Value # toEncoding :: ObjectLockMode -> Encoding # toJSONList :: [ObjectLockMode] -> Value # toEncodingList :: [ObjectLockMode] -> Encoding # | |
ToJSON ObjectLockRetentionMode | |
Defined in Amazonka.S3.Types.ObjectLockRetentionMode toJSON :: ObjectLockRetentionMode -> Value # toEncoding :: ObjectLockRetentionMode -> Encoding # toJSONList :: [ObjectLockRetentionMode] -> Value # toEncodingList :: [ObjectLockRetentionMode] -> Encoding # | |
ToJSON ObjectOwnership | |
Defined in Amazonka.S3.Types.ObjectOwnership toJSON :: ObjectOwnership -> Value # toEncoding :: ObjectOwnership -> Encoding # toJSONList :: [ObjectOwnership] -> Value # toEncodingList :: [ObjectOwnership] -> Encoding # | |
ToJSON ObjectStorageClass | |
Defined in Amazonka.S3.Types.ObjectStorageClass toJSON :: ObjectStorageClass -> Value # toEncoding :: ObjectStorageClass -> Encoding # toJSONList :: [ObjectStorageClass] -> Value # toEncodingList :: [ObjectStorageClass] -> Encoding # | |
ToJSON ObjectVersionStorageClass | |
Defined in Amazonka.S3.Types.ObjectVersionStorageClass toJSON :: ObjectVersionStorageClass -> Value # toEncoding :: ObjectVersionStorageClass -> Encoding # toJSONList :: [ObjectVersionStorageClass] -> Value # toEncodingList :: [ObjectVersionStorageClass] -> Encoding # | |
ToJSON OwnerOverride | |
Defined in Amazonka.S3.Types.OwnerOverride toJSON :: OwnerOverride -> Value # toEncoding :: OwnerOverride -> Encoding # toJSONList :: [OwnerOverride] -> Value # toEncodingList :: [OwnerOverride] -> Encoding # | |
ToJSON Payer | |
Defined in Amazonka.S3.Types.Payer toEncoding :: Payer -> Encoding # toJSONList :: [Payer] -> Value # toEncodingList :: [Payer] -> Encoding # | |
ToJSON Permission | |
Defined in Amazonka.S3.Types.Permission toJSON :: Permission -> Value # toEncoding :: Permission -> Encoding # toJSONList :: [Permission] -> Value # toEncodingList :: [Permission] -> Encoding # | |
ToJSON Protocol | |
Defined in Amazonka.S3.Types.Protocol toEncoding :: Protocol -> Encoding # toJSONList :: [Protocol] -> Value # toEncodingList :: [Protocol] -> Encoding # | |
ToJSON QuoteFields | |
Defined in Amazonka.S3.Types.QuoteFields toJSON :: QuoteFields -> Value # toEncoding :: QuoteFields -> Encoding # toJSONList :: [QuoteFields] -> Value # toEncodingList :: [QuoteFields] -> Encoding # | |
ToJSON ReplicaModificationsStatus | |
Defined in Amazonka.S3.Types.ReplicaModificationsStatus toJSON :: ReplicaModificationsStatus -> Value # toEncoding :: ReplicaModificationsStatus -> Encoding # toJSONList :: [ReplicaModificationsStatus] -> Value # toEncodingList :: [ReplicaModificationsStatus] -> Encoding # | |
ToJSON ReplicationRuleStatus | |
Defined in Amazonka.S3.Types.ReplicationRuleStatus toJSON :: ReplicationRuleStatus -> Value # toEncoding :: ReplicationRuleStatus -> Encoding # toJSONList :: [ReplicationRuleStatus] -> Value # toEncodingList :: [ReplicationRuleStatus] -> Encoding # | |
ToJSON ReplicationStatus | |
Defined in Amazonka.S3.Types.ReplicationStatus toJSON :: ReplicationStatus -> Value # toEncoding :: ReplicationStatus -> Encoding # toJSONList :: [ReplicationStatus] -> Value # toEncodingList :: [ReplicationStatus] -> Encoding # | |
ToJSON ReplicationTimeStatus | |
Defined in Amazonka.S3.Types.ReplicationTimeStatus toJSON :: ReplicationTimeStatus -> Value # toEncoding :: ReplicationTimeStatus -> Encoding # toJSONList :: [ReplicationTimeStatus] -> Value # toEncodingList :: [ReplicationTimeStatus] -> Encoding # | |
ToJSON RequestCharged | |
Defined in Amazonka.S3.Types.RequestCharged toJSON :: RequestCharged -> Value # toEncoding :: RequestCharged -> Encoding # toJSONList :: [RequestCharged] -> Value # toEncodingList :: [RequestCharged] -> Encoding # | |
ToJSON RequestPayer | |
Defined in Amazonka.S3.Types.RequestPayer toJSON :: RequestPayer -> Value # toEncoding :: RequestPayer -> Encoding # toJSONList :: [RequestPayer] -> Value # toEncodingList :: [RequestPayer] -> Encoding # | |
ToJSON RestoreRequestType | |
Defined in Amazonka.S3.Types.RestoreRequestType toJSON :: RestoreRequestType -> Value # toEncoding :: RestoreRequestType -> Encoding # toJSONList :: [RestoreRequestType] -> Value # toEncodingList :: [RestoreRequestType] -> Encoding # | |
ToJSON ServerSideEncryption | |
Defined in Amazonka.S3.Types.ServerSideEncryption toJSON :: ServerSideEncryption -> Value # toEncoding :: ServerSideEncryption -> Encoding # toJSONList :: [ServerSideEncryption] -> Value # toEncodingList :: [ServerSideEncryption] -> Encoding # | |
ToJSON SseKmsEncryptedObjectsStatus | |
Defined in Amazonka.S3.Types.SseKmsEncryptedObjectsStatus toJSON :: SseKmsEncryptedObjectsStatus -> Value # toEncoding :: SseKmsEncryptedObjectsStatus -> Encoding # toJSONList :: [SseKmsEncryptedObjectsStatus] -> Value # toEncodingList :: [SseKmsEncryptedObjectsStatus] -> Encoding # | |
ToJSON StorageClass | |
Defined in Amazonka.S3.Types.StorageClass toJSON :: StorageClass -> Value # toEncoding :: StorageClass -> Encoding # toJSONList :: [StorageClass] -> Value # toEncodingList :: [StorageClass] -> Encoding # | |
ToJSON StorageClassAnalysisSchemaVersion | |
Defined in Amazonka.S3.Types.StorageClassAnalysisSchemaVersion toJSON :: StorageClassAnalysisSchemaVersion -> Value # toEncoding :: StorageClassAnalysisSchemaVersion -> Encoding # toJSONList :: [StorageClassAnalysisSchemaVersion] -> Value # toEncodingList :: [StorageClassAnalysisSchemaVersion] -> Encoding # | |
ToJSON TaggingDirective | |
Defined in Amazonka.S3.Types.TaggingDirective toJSON :: TaggingDirective -> Value # toEncoding :: TaggingDirective -> Encoding # toJSONList :: [TaggingDirective] -> Value # toEncodingList :: [TaggingDirective] -> Encoding # | |
ToJSON Tier | |
Defined in Amazonka.S3.Types.Tier toEncoding :: Tier -> Encoding # toJSONList :: [Tier] -> Value # toEncodingList :: [Tier] -> Encoding # | |
ToJSON TransitionStorageClass | |
Defined in Amazonka.S3.Types.TransitionStorageClass toJSON :: TransitionStorageClass -> Value # toEncoding :: TransitionStorageClass -> Encoding # toJSONList :: [TransitionStorageClass] -> Value # toEncodingList :: [TransitionStorageClass] -> Encoding # | |
ToJSON Type | |
Defined in Amazonka.S3.Types.Type toEncoding :: Type -> Encoding # toJSONList :: [Type] -> Value # toEncodingList :: [Type] -> Encoding # | |
ToJSON Number | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Number -> Encoding # toJSONList :: [Number] -> Value # toEncodingList :: [Number] -> Encoding # | |
ToJSON Version | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Version -> Encoding # toJSONList :: [Version] -> Value # toEncodingList :: [Version] -> Encoding # | |
ToJSON Void | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Void -> Encoding # toJSONList :: [Void] -> Value # toEncodingList :: [Void] -> Encoding # | |
ToJSON CTime | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: CTime -> Encoding # toJSONList :: [CTime] -> Value # toEncodingList :: [CTime] -> Encoding # | |
ToJSON Int16 | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Int16 -> Encoding # toJSONList :: [Int16] -> Value # toEncodingList :: [Int16] -> Encoding # | |
ToJSON Int32 | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Int32 -> Encoding # toJSONList :: [Int32] -> Value # toEncodingList :: [Int32] -> Encoding # | |
ToJSON Int64 | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Int64 -> Encoding # toJSONList :: [Int64] -> Value # toEncodingList :: [Int64] -> Encoding # | |
ToJSON Int8 | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Int8 -> Encoding # toJSONList :: [Int8] -> Value # toEncodingList :: [Int8] -> Encoding # | |
ToJSON Word16 | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Word16 -> Encoding # toJSONList :: [Word16] -> Value # toEncodingList :: [Word16] -> Encoding # | |
ToJSON Word32 | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Word32 -> Encoding # toJSONList :: [Word32] -> Value # toEncodingList :: [Word32] -> Encoding # | |
ToJSON Word64 | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Word64 -> Encoding # toJSONList :: [Word64] -> Value # toEncodingList :: [Word64] -> Encoding # | |
ToJSON Word8 | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Word8 -> Encoding # toJSONList :: [Word8] -> Value # toEncodingList :: [Word8] -> Encoding # | |
ToJSON IntSet | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: IntSet -> Encoding # toJSONList :: [IntSet] -> Value # toEncodingList :: [IntSet] -> Encoding # | |
ToJSON Source | |
Defined in EventDataTheory.Core toEncoding :: Source -> Encoding # toJSONList :: [Source] -> Value # toEncodingList :: [Source] -> Encoding # | |
ToJSON Ordering | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Ordering -> Encoding # toJSONList :: [Ordering] -> Value # toEncodingList :: [Ordering] -> Encoding # | |
ToJSON AttritionInfo | |
Defined in Cohort.Cohort toJSON :: AttritionInfo -> Value # toEncoding :: AttritionInfo -> Encoding # toJSONList :: [AttritionInfo] -> Value # toEncodingList :: [AttritionInfo] -> Encoding # | |
ToJSON AttritionStatus | |
Defined in Cohort.Cohort toJSON :: AttritionStatus -> Value # toEncoding :: AttritionStatus -> Encoding # toJSONList :: [AttritionStatus] -> Value # toEncodingList :: [AttritionStatus] -> Encoding # | |
ToJSON SubjId | |
Defined in Cohort.Cohort toEncoding :: SubjId -> Encoding # toJSONList :: [SubjId] -> Value # toEncodingList :: [SubjId] -> Encoding # | |
ToJSON CohortJSON | |
Defined in Cohort.Output toJSON :: CohortJSON -> Value # toEncoding :: CohortJSON -> Encoding # toJSONList :: [CohortJSON] -> Value # toEncodingList :: [CohortJSON] -> Encoding # | |
ToJSON ObsUnitJSON | |
Defined in Cohort.Output toJSON :: ObsUnitJSON -> Value # toEncoding :: ObsUnitJSON -> Encoding # toJSONList :: [ObsUnitJSON] -> Value # toEncodingList :: [ObsUnitJSON] -> Encoding # | |
ToJSON Featureable | |
Defined in Features.Featureable toJSON :: Featureable -> Value # toEncoding :: Featureable -> Encoding # toJSONList :: [Featureable] -> Value # toEncodingList :: [Featureable] -> Encoding # | |
ToJSON Featureset | |
Defined in Features.Featureset toJSON :: Featureset -> Value # toEncoding :: Featureset -> Encoding # toJSONList :: [Featureset] -> Value # toEncodingList :: [Featureset] -> Encoding # | |
ToJSON NameTypeAttr | |
Defined in Features.Output toJSON :: NameTypeAttr -> Value # toEncoding :: NameTypeAttr -> Encoding # toJSONList :: [NameTypeAttr] -> Value # toEncodingList :: [NameTypeAttr] -> Encoding # | |
ToJSON VarAttrs | |
Defined in Variable.Attributes toEncoding :: VarAttrs -> Encoding # toJSONList :: [VarAttrs] -> Value # toEncodingList :: [VarAttrs] -> Encoding # | |
ToJSON Factor | |
Defined in Variable.R.Factor toEncoding :: Factor -> Encoding # toJSONList :: [Factor] -> Value # toEncodingList :: [Factor] -> Encoding # | |
ToJSON SomeRTypeRep | |
Defined in Variable.R.SEXP toJSON :: SomeRTypeRep -> Value # toEncoding :: SomeRTypeRep -> Encoding # toJSONList :: [SomeRTypeRep] -> Value # toEncodingList :: [SomeRTypeRep] -> Encoding # | |
ToJSON StypeAttrs | |
Defined in Variable.R.Stype toJSON :: StypeAttrs -> Value # toEncoding :: StypeAttrs -> Encoding # toJSONList :: [StypeAttrs] -> Value # toEncodingList :: [StypeAttrs] -> Encoding # | |
ToJSON StypeRole | |
Defined in Variable.R.Stype toJSON :: StypeRole -> Value # toEncoding :: StypeRole -> Encoding # toJSONList :: [StypeRole] -> Value # toEncodingList :: [StypeRole] -> Encoding # | |
ToJSON WrappedStypeAttrs | |
Defined in Variable.R.Stype toJSON :: WrappedStypeAttrs -> Value # toEncoding :: WrappedStypeAttrs -> Encoding # toJSONList :: [WrappedStypeAttrs] -> Value # toEncodingList :: [WrappedStypeAttrs] -> Encoding # | |
ToJSON Variable | |
Defined in Variable.Variable toEncoding :: Variable -> Encoding # toJSONList :: [Variable] -> Value # toEncodingList :: [Variable] -> Encoding # | |
ToJSON VariableWrapped | |
Defined in Variable.Variable toJSON :: VariableWrapped -> Value # toEncoding :: VariableWrapped -> Encoding # toJSONList :: [VariableWrapped] -> Value # toEncodingList :: [VariableWrapped] -> Encoding # | |
ToJSON LoggedMessage | |
Defined in Control.Monad.Logger.Aeson.Internal toJSON :: LoggedMessage -> Value # toEncoding :: LoggedMessage -> Encoding # toJSONList :: [LoggedMessage] -> Value # toEncodingList :: [LoggedMessage] -> Encoding # | |
ToJSON Scientific | |
Defined in Data.Aeson.Types.ToJSON toJSON :: Scientific -> Value # toEncoding :: Scientific -> Encoding # toJSONList :: [Scientific] -> Value # toEncodingList :: [Scientific] -> Encoding # | |
ToJSON Text | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Text -> Encoding # toJSONList :: [Text] -> Value # toEncodingList :: [Text] -> Encoding # | |
ToJSON Text | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Text -> Encoding # toJSONList :: [Text] -> Value # toEncodingList :: [Text] -> Encoding # | |
ToJSON ShortText | |
Defined in Data.Aeson.Types.ToJSON toJSON :: ShortText -> Value # toEncoding :: ShortText -> Encoding # toJSONList :: [ShortText] -> Value # toEncodingList :: [ShortText] -> Encoding # | |
ToJSON CalendarDiffDays | |
Defined in Data.Aeson.Types.ToJSON toJSON :: CalendarDiffDays -> Value # toEncoding :: CalendarDiffDays -> Encoding # toJSONList :: [CalendarDiffDays] -> Value # toEncodingList :: [CalendarDiffDays] -> Encoding # | |
ToJSON Day | |
Defined in Data.Aeson.Types.ToJSON | |
ToJSON Month | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Month -> Encoding # toJSONList :: [Month] -> Value # toEncodingList :: [Month] -> Encoding # | |
ToJSON Quarter | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Quarter -> Encoding # toJSONList :: [Quarter] -> Value # toEncodingList :: [Quarter] -> Encoding # | |
ToJSON QuarterOfYear | |
Defined in Data.Aeson.Types.ToJSON toJSON :: QuarterOfYear -> Value # toEncoding :: QuarterOfYear -> Encoding # toJSONList :: [QuarterOfYear] -> Value # toEncodingList :: [QuarterOfYear] -> Encoding # | |
ToJSON DayOfWeek | |
Defined in Data.Aeson.Types.ToJSON toJSON :: DayOfWeek -> Value # toEncoding :: DayOfWeek -> Encoding # toJSONList :: [DayOfWeek] -> Value # toEncodingList :: [DayOfWeek] -> Encoding # | |
ToJSON DiffTime | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: DiffTime -> Encoding # toJSONList :: [DiffTime] -> Value # toEncodingList :: [DiffTime] -> Encoding # | |
ToJSON NominalDiffTime | |
Defined in Data.Aeson.Types.ToJSON toJSON :: NominalDiffTime -> Value # toEncoding :: NominalDiffTime -> Encoding # toJSONList :: [NominalDiffTime] -> Value # toEncodingList :: [NominalDiffTime] -> Encoding # | |
ToJSON SystemTime | |
Defined in Data.Aeson.Types.ToJSON toJSON :: SystemTime -> Value # toEncoding :: SystemTime -> Encoding # toJSONList :: [SystemTime] -> Value # toEncodingList :: [SystemTime] -> Encoding # | |
ToJSON UTCTime | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: UTCTime -> Encoding # toJSONList :: [UTCTime] -> Value # toEncodingList :: [UTCTime] -> Encoding # | |
ToJSON CalendarDiffTime | |
Defined in Data.Aeson.Types.ToJSON toJSON :: CalendarDiffTime -> Value # toEncoding :: CalendarDiffTime -> Encoding # toJSONList :: [CalendarDiffTime] -> Value # toEncodingList :: [CalendarDiffTime] -> Encoding # | |
ToJSON LocalTime | |
Defined in Data.Aeson.Types.ToJSON toJSON :: LocalTime -> Value # toEncoding :: LocalTime -> Encoding # toJSONList :: [LocalTime] -> Value # toEncodingList :: [LocalTime] -> Encoding # | |
ToJSON TimeOfDay | |
Defined in Data.Aeson.Types.ToJSON toJSON :: TimeOfDay -> Value # toEncoding :: TimeOfDay -> Encoding # toJSONList :: [TimeOfDay] -> Value # toEncodingList :: [TimeOfDay] -> Encoding # | |
ToJSON ZonedTime | |
Defined in Data.Aeson.Types.ToJSON toJSON :: ZonedTime -> Value # toEncoding :: ZonedTime -> Encoding # toJSONList :: [ZonedTime] -> Value # toEncodingList :: [ZonedTime] -> Encoding # | |
ToJSON UUID | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: UUID -> Encoding # toJSONList :: [UUID] -> Value # toEncodingList :: [UUID] -> Encoding # | |
ToJSON Integer | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Integer -> Encoding # toJSONList :: [Integer] -> Value # toEncodingList :: [Integer] -> Encoding # | |
ToJSON Natural | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Natural -> Encoding # toJSONList :: [Natural] -> Value # toEncodingList :: [Natural] -> Encoding # | |
ToJSON () | |
Defined in Data.Aeson.Types.ToJSON | |
ToJSON Bool | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Bool -> Encoding # toJSONList :: [Bool] -> Value # toEncodingList :: [Bool] -> Encoding # | |
ToJSON Char | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Char -> Encoding # toJSONList :: [Char] -> Value # toEncodingList :: [Char] -> Encoding # | |
ToJSON Double | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Double -> Encoding # toJSONList :: [Double] -> Value # toEncodingList :: [Double] -> Encoding # | |
ToJSON Float | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Float -> Encoding # toJSONList :: [Float] -> Value # toEncodingList :: [Float] -> Encoding # | |
ToJSON Int | |
Defined in Data.Aeson.Types.ToJSON | |
ToJSON Word | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Word -> Encoding # toJSONList :: [Word] -> Value # toEncodingList :: [Word] -> Encoding # | |
ToJSON v => ToJSON (KeyMap v) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: KeyMap v -> Encoding # toJSONList :: [KeyMap v] -> Value # toEncodingList :: [KeyMap v] -> Encoding # | |
ToJSON a => ToJSON (Sensitive a) | |
Defined in Amazonka.Data.Sensitive toJSON :: Sensitive a -> Value # toEncoding :: Sensitive a -> Encoding # toJSONList :: [Sensitive a] -> Value # toEncodingList :: [Sensitive a] -> Encoding # | |
ToJSON a => ToJSON (Identity a) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: Identity a -> Value # toEncoding :: Identity a -> Encoding # toJSONList :: [Identity a] -> Value # toEncodingList :: [Identity a] -> Encoding # | |
ToJSON a => ToJSON (First a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: First a -> Encoding # toJSONList :: [First a] -> Value # toEncodingList :: [First a] -> Encoding # | |
ToJSON a => ToJSON (Last a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Last a -> Encoding # toJSONList :: [Last a] -> Value # toEncodingList :: [Last a] -> Encoding # | |
ToJSON a => ToJSON (First a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: First a -> Encoding # toJSONList :: [First a] -> Value # toEncodingList :: [First a] -> Encoding # | |
ToJSON a => ToJSON (Last a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Last a -> Encoding # toJSONList :: [Last a] -> Value # toEncodingList :: [Last a] -> Encoding # | |
ToJSON a => ToJSON (Max a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Max a -> Encoding # toJSONList :: [Max a] -> Value # toEncodingList :: [Max a] -> Encoding # | |
ToJSON a => ToJSON (Min a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Min a -> Encoding # toJSONList :: [Min a] -> Value # toEncodingList :: [Min a] -> Encoding # | |
ToJSON a => ToJSON (WrappedMonoid a) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: WrappedMonoid a -> Value # toEncoding :: WrappedMonoid a -> Encoding # toJSONList :: [WrappedMonoid a] -> Value # toEncodingList :: [WrappedMonoid a] -> Encoding # | |
ToJSON a => ToJSON (Dual a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Dual a -> Encoding # toJSONList :: [Dual a] -> Value # toEncodingList :: [Dual a] -> Encoding # | |
(ToJSON a, Integral a) => ToJSON (Ratio a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Ratio a -> Encoding # toJSONList :: [Ratio a] -> Value # toEncodingList :: [Ratio a] -> Encoding # | |
ToJSON a => ToJSON (IntMap a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: IntMap a -> Encoding # toJSONList :: [IntMap a] -> Value # toEncodingList :: [IntMap a] -> Encoding # | |
ToJSON a => ToJSON (Seq a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Seq a -> Encoding # toJSONList :: [Seq a] -> Value # toEncodingList :: [Seq a] -> Encoding # | |
ToJSON a => ToJSON (Set a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Set a -> Encoding # toJSONList :: [Set a] -> Value # toEncodingList :: [Set a] -> Encoding # | |
ToJSON v => ToJSON (Tree v) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Tree v -> Encoding # toJSONList :: [Tree v] -> Value # toEncodingList :: [Tree v] -> Encoding # | |
ToJSON1 f => ToJSON (Fix f) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Fix f -> Encoding # toJSONList :: [Fix f] -> Value # toEncodingList :: [Fix f] -> Encoding # | |
(ToJSON1 f, Functor f) => ToJSON (Mu f) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Mu f -> Encoding # toJSONList :: [Mu f] -> Value # toEncodingList :: [Mu f] -> Encoding # | |
(ToJSON1 f, Functor f) => ToJSON (Nu f) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Nu f -> Encoding # toJSONList :: [Nu f] -> Value # toEncodingList :: [Nu f] -> Encoding # | |
ToJSON a => ToJSON (DNonEmpty a) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: DNonEmpty a -> Value # toEncoding :: DNonEmpty a -> Encoding # toJSONList :: [DNonEmpty a] -> Value # toEncodingList :: [DNonEmpty a] -> Encoding # | |
ToJSON a => ToJSON (DList a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: DList a -> Encoding # toJSONList :: [DList a] -> Value # toEncodingList :: [DList a] -> Encoding # | |
ToJSON t => ToJSON (Tag t) | |
Defined in EventDataTheory.Core toEncoding :: Tag t -> Encoding # toJSONList :: [Tag t] -> Value # toEncodingList :: [Tag t] -> Encoding # | |
ToJSON t => ToJSON (TagSet t) | |
Defined in EventDataTheory.Core toEncoding :: TagSet t -> Encoding # toJSONList :: [TagSet t] -> Value # toEncodingList :: [TagSet t] -> Encoding # | |
ToJSON a => ToJSON (TimeLine a) | |
Defined in EventDataTheory.EventLines toJSON :: TimeLine a -> Value # toEncoding :: TimeLine a -> Encoding # toJSONList :: [TimeLine a] -> Value # toEncodingList :: [TimeLine a] -> Encoding # | |
ToJSON a => ToJSON (ObsId a) | |
Defined in Cohort.Cohort toEncoding :: ObsId a -> Encoding # toJSONList :: [ObsId a] -> Value # toEncodingList :: [ObsId a] -> Encoding # | |
ToJSON (OutputShape a) | |
Defined in Features.Output toJSON :: OutputShape a -> Value # toEncoding :: OutputShape a -> Encoding # toJSONList :: [OutputShape a] -> Value # toEncodingList :: [OutputShape a] -> Encoding # | |
ToJSON a => ToJSON (Array a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Array a -> Encoding # toJSONList :: [Array a] -> Value # toEncodingList :: [Array a] -> Encoding # | |
(Prim a, ToJSON a) => ToJSON (PrimArray a) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: PrimArray a -> Value # toEncoding :: PrimArray a -> Encoding # toJSONList :: [PrimArray a] -> Value # toEncodingList :: [PrimArray a] -> Encoding # | |
ToJSON a => ToJSON (SmallArray a) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: SmallArray a -> Value # toEncoding :: SmallArray a -> Encoding # toJSONList :: [SmallArray a] -> Value # toEncodingList :: [SmallArray a] -> Encoding # | |
ToJSON a => ToJSON (Maybe a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Maybe a -> Encoding # toJSONList :: [Maybe a] -> Value # toEncodingList :: [Maybe a] -> Encoding # | |
ToJSON a => ToJSON (HashSet a) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: HashSet a -> Value # toEncoding :: HashSet a -> Encoding # toJSONList :: [HashSet a] -> Value # toEncodingList :: [HashSet a] -> Encoding # | |
ToJSON a => ToJSON (Vector a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Vector a -> Encoding # toJSONList :: [Vector a] -> Value # toEncodingList :: [Vector a] -> Encoding # | |
(Prim a, ToJSON a) => ToJSON (Vector a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Vector a -> Encoding # toJSONList :: [Vector a] -> Value # toEncodingList :: [Vector a] -> Encoding # | |
(Storable a, ToJSON a) => ToJSON (Vector a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Vector a -> Encoding # toJSONList :: [Vector a] -> Value # toEncodingList :: [Vector a] -> Encoding # | |
(Vector Vector a, ToJSON a) => ToJSON (Vector a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Vector a -> Encoding # toJSONList :: [Vector a] -> Value # toEncodingList :: [Vector a] -> Encoding # | |
ToJSON a => ToJSON (NonEmpty a) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: NonEmpty a -> Value # toEncoding :: NonEmpty a -> Encoding # toJSONList :: [NonEmpty a] -> Value # toEncodingList :: [NonEmpty a] -> Encoding # | |
ToJSON a => ToJSON (Maybe a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Maybe a -> Encoding # toJSONList :: [Maybe a] -> Value # toEncodingList :: [Maybe a] -> Encoding # | |
ToJSON a => ToJSON (a) | |
Defined in Data.Aeson.Types.ToJSON | |
ToJSON a => ToJSON [a] | |
Defined in Data.Aeson.Types.ToJSON | |
(ToJSON a, ToJSON b) => ToJSON (Either a b) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: Either a b -> Value # toEncoding :: Either a b -> Encoding # toJSONList :: [Either a b] -> Value # toEncodingList :: [Either a b] -> Encoding # | |
HasResolution a => ToJSON (Fixed a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Fixed a -> Encoding # toJSONList :: [Fixed a] -> Value # toEncodingList :: [Fixed a] -> Encoding # | |
ToJSON (Proxy a) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Proxy a -> Encoding # toJSONList :: [Proxy a] -> Value # toEncodingList :: [Proxy a] -> Encoding # | |
(ToJSON v, ToJSONKey k) => ToJSON (Map k v) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Map k v -> Encoding # toJSONList :: [Map k v] -> Value # toEncodingList :: [Map k v] -> Encoding # | |
(Ord t, ToJSON t, ToJSON m) => ToJSON (Context t m) | |
Defined in EventDataTheory.Core toJSON :: Context t m -> Value # toEncoding :: Context t m -> Encoding # toJSONList :: [Context t m] -> Value # toEncodingList :: [Context t m] -> Encoding # | |
(ToJSON a, ToJSON m) => ToJSON (FactsLine m a) | |
Defined in EventDataTheory.EventLines toJSON :: FactsLine m a -> Value # toEncoding :: FactsLine m a -> Encoding # toJSONList :: [FactsLine m a] -> Value # toEncodingList :: [FactsLine m a] -> Encoding # | |
(ToJSON a, ToJSON b) => ToJSON (Either a b) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: Either a b -> Value # toEncoding :: Either a b -> Encoding # toJSONList :: [Either a b] -> Value # toEncodingList :: [Either a b] -> Encoding # | |
(ToJSON a, ToJSON b) => ToJSON (These a b) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: These a b -> Value # toEncoding :: These a b -> Encoding # toJSONList :: [These a b] -> Value # toEncodingList :: [These a b] -> Encoding # | |
(ToJSON a, ToJSON b) => ToJSON (Pair a b) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: Pair a b -> Encoding # toJSONList :: [Pair a b] -> Value # toEncodingList :: [Pair a b] -> Encoding # | |
(ToJSON a, ToJSON b) => ToJSON (These a b) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: These a b -> Value # toEncoding :: These a b -> Encoding # toJSONList :: [These a b] -> Value # toEncodingList :: [These a b] -> Encoding # | |
(ToJSON v, ToJSONKey k) => ToJSON (HashMap k v) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: HashMap k v -> Value # toEncoding :: HashMap k v -> Encoding # toJSONList :: [HashMap k v] -> Value # toEncodingList :: [HashMap k v] -> Encoding # | |
(ToJSON a, ToJSON b) => ToJSON (a, b) | |
Defined in Data.Aeson.Types.ToJSON toEncoding :: (a, b) -> Encoding # toJSONList :: [(a, b)] -> Value # toEncodingList :: [(a, b)] -> Encoding # | |
ToJSON a => ToJSON (Const a b) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: Const a b -> Value # toEncoding :: Const a b -> Encoding # toJSONList :: [Const a b] -> Value # toEncodingList :: [Const a b] -> Encoding # | |
(Ord t, ToJSON t, ToJSON m, ToJSON a) => ToJSON (Event t m a) | |
Defined in EventDataTheory.Core toJSON :: Event t m a -> Value # toEncoding :: Event t m a -> Encoding # toJSONList :: [Event t m a] -> Value # toEncodingList :: [Event t m a] -> Encoding # | |
(ToJSON a, ToJSON t, ToJSON m) => ToJSON (EventLine t m a) | |
Defined in EventDataTheory.EventLines toJSON :: EventLine t m a -> Value # toEncoding :: EventLine t m a -> Encoding # toJSONList :: [EventLine t m a] -> Value # toEncodingList :: [EventLine t m a] -> Encoding # | |
ToJSON b => ToJSON (Tagged a b) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: Tagged a b -> Value # toEncoding :: Tagged a b -> Encoding # toJSONList :: [Tagged a b] -> Value # toEncodingList :: [Tagged a b] -> Encoding # | |
(ToJSON1 f, ToJSON1 g, ToJSON a) => ToJSON (These1 f g a) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: These1 f g a -> Value # toEncoding :: These1 f g a -> Encoding # toJSONList :: [These1 f g a] -> Value # toEncodingList :: [These1 f g a] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c) => ToJSON (a, b, c) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: (a, b, c) -> Value # toEncoding :: (a, b, c) -> Encoding # toJSONList :: [(a, b, c)] -> Value # toEncodingList :: [(a, b, c)] -> Encoding # | |
(ToJSON1 f, ToJSON1 g, ToJSON a) => ToJSON (Product f g a) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: Product f g a -> Value # toEncoding :: Product f g a -> Encoding # toJSONList :: [Product f g a] -> Value # toEncodingList :: [Product f g a] -> Encoding # | |
(ToJSON1 f, ToJSON1 g, ToJSON a) => ToJSON (Sum f g a) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: Sum f g a -> Value # toEncoding :: Sum f g a -> Encoding # toJSONList :: [Sum f g a] -> Value # toEncodingList :: [Sum f g a] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d) => ToJSON (a, b, c, d) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: (a, b, c, d) -> Value # toEncoding :: (a, b, c, d) -> Encoding # toJSONList :: [(a, b, c, d)] -> Value # toEncodingList :: [(a, b, c, d)] -> Encoding # | |
(ToJSON1 f, ToJSON1 g, ToJSON a) => ToJSON (Compose f g a) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: Compose f g a -> Value # toEncoding :: Compose f g a -> Encoding # toJSONList :: [Compose f g a] -> Value # toEncodingList :: [Compose f g a] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e) => ToJSON (a, b, c, d, e) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: (a, b, c, d, e) -> Value # toEncoding :: (a, b, c, d, e) -> Encoding # toJSONList :: [(a, b, c, d, e)] -> Value # toEncodingList :: [(a, b, c, d, e)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f) => ToJSON (a, b, c, d, e, f) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: (a, b, c, d, e, f) -> Value # toEncoding :: (a, b, c, d, e, f) -> Encoding # toJSONList :: [(a, b, c, d, e, f)] -> Value # toEncodingList :: [(a, b, c, d, e, f)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g) => ToJSON (a, b, c, d, e, f, g) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: (a, b, c, d, e, f, g) -> Value # toEncoding :: (a, b, c, d, e, f, g) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h) => ToJSON (a, b, c, d, e, f, g, h) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: (a, b, c, d, e, f, g, h) -> Value # toEncoding :: (a, b, c, d, e, f, g, h) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g, h)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g, h)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i) => ToJSON (a, b, c, d, e, f, g, h, i) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: (a, b, c, d, e, f, g, h, i) -> Value # toEncoding :: (a, b, c, d, e, f, g, h, i) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g, h, i)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g, h, i)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j) => ToJSON (a, b, c, d, e, f, g, h, i, j) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: (a, b, c, d, e, f, g, h, i, j) -> Value # toEncoding :: (a, b, c, d, e, f, g, h, i, j) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g, h, i, j)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g, h, i, j)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k) => ToJSON (a, b, c, d, e, f, g, h, i, j, k) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: (a, b, c, d, e, f, g, h, i, j, k) -> Value # toEncoding :: (a, b, c, d, e, f, g, h, i, j, k) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g, h, i, j, k)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g, h, i, j, k)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k, ToJSON l) => ToJSON (a, b, c, d, e, f, g, h, i, j, k, l) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: (a, b, c, d, e, f, g, h, i, j, k, l) -> Value # toEncoding :: (a, b, c, d, e, f, g, h, i, j, k, l) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g, h, i, j, k, l)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g, h, i, j, k, l)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k, ToJSON l, ToJSON m) => ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Value # toEncoding :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k, ToJSON l, ToJSON m, ToJSON n) => ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Value # toEncoding :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m, n)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m, n)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k, ToJSON l, ToJSON m, ToJSON n, ToJSON o) => ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) | |
Defined in Data.Aeson.Types.ToJSON toJSON :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Value # toEncoding :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)] -> Encoding # |
genericParseJSON :: (Generic a, GFromJSON Zero (Rep a)) => Options -> Value -> Parser a #
data SumEncoding #
Instances
Show SumEncoding | |
Defined in Data.Aeson.Types.Internal showsPrec :: Int -> SumEncoding -> ShowS # show :: SumEncoding -> String # showList :: [SumEncoding] -> ShowS # | |
Eq SumEncoding | |
Defined in Data.Aeson.Types.Internal (==) :: SumEncoding -> SumEncoding -> Bool # (/=) :: SumEncoding -> SumEncoding -> Bool # |
encode :: ToJSON a => a -> ByteString #
class HasField (field :: Symbol) s t a b | s field -> a, t field -> b, s field b -> t, t field a -> s where #
Instances
(Context field s t a b, HasField0 field s t a b) => HasField field s t a b | |
Defined in Data.Generics.Product.Fields | |
HasField f (Void1 a) (Void1 b) a b | |
Defined in Data.Generics.Product.Fields |
class AsAny (sel :: k) a s | s sel -> a where #
Instances
AsConstructor ctor s s a a => AsAny (ctor :: Symbol) a s | |
Defined in Data.Generics.Sum.Any | |
AsType a s => AsAny (a :: Type) a s | |
Defined in Data.Generics.Sum.Any |
after_ :: DependencyType -> Expr -> TestTree -> TestTree #
data DependencyType #
Instances
Show DependencyType | |
Defined in Test.Tasty.Core showsPrec :: Int -> DependencyType -> ShowS # show :: DependencyType -> String # showList :: [DependencyType] -> ShowS # | |
Eq DependencyType | |
Defined in Test.Tasty.Core (==) :: DependencyType -> DependencyType -> Bool # (/=) :: DependencyType -> DependencyType -> Bool # |
adjustOption :: IsOption v => (v -> v) -> TestTree -> TestTree #
defaultIngredients :: [Ingredient] #
defaultMain :: TestTree -> IO () #
localOption :: IsOption v => v -> TestTree -> TestTree #
defaultMainWithIngredients :: [Ingredient] -> TestTree -> IO () #
includingOptions :: [OptionDescription] -> Ingredient #
Instances
Show Timeout | |
IsOption Timeout | |
Defined in Test.Tasty.Options.Core parseValue :: String -> Maybe Timeout optionName :: Tagged Timeout String optionHelp :: Tagged Timeout String showDefaultValue :: Timeout -> Maybe String optionCLParser :: Parser Timeout |
Getting started
To get started, you'll need to install the Haskell toolchain, especially the
[Glasgow Haskell Compiler](https:/www.haskell.orgghc/) (GHC) and the building
and packaging system cabal, for which you can
use the ghcup
utility.
You can use any development environment you choose, but to be more productive
you should install the Haskell Language
Server
(hls
). hls
can be installed using ghcup
. Some integrated development
environments, such as [Visual Studio Code](https:/code.visualstudio.com, have
[excellent hls
integration](https:/marketplace.visualstudio.comitems?itemName=haskell.haskell).
In summary,
- Install
ghcup
.
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
- Inspect your toolchain installation using
ghcup list
. You will needghc
(>= 8.10.4) ,hls
(>= 1.2), andcabal
(>= 3.4) installed. - Upgrade toolchain components as necesarry. For example:
ghcup install ghc {ghcVersion} ghcup set ghc {ghcVersion} ghcup install cabal {cabalVersion} ghcup set cabal {cabalVersion}
- Setup your IDE. For example in Visual Studio Code, you'll want to install the [Haskell](https:/marketplace.visualstudio.comitems?itemName=haskell.haskell) extension.
Getting started in Haskell
Since Hasklepias
is written in Haskell, you'll need
to understand the syntax of Haskell function and a few concepts. The Haskell
language is over 30 years old and has many, many features. Here are a few resources:
- Learn You a Haskell for Great Good!: good intro text
- Programming in Haskell: excellent intro text
- What I wish I knew when learning Haskell: excellent resource
- Haskeller competency matrix
- Hoogle: search engine for Haskell functions
- 5 years of Haskell in production: video on using Haskell in production environment
- Things software engineers trip up on when learning Haskell: a software engineer's list of tips on using Haskell