Module Data.JSON

This module provides JSON support for Frege.

JSON support comprises 4 levels:

  1. On the lexical level, we analyze a String and produce a list of JSON Tokens.
  2. On the grammar level, we parse a list of Tokens and produce a JSON Value, the internal representation of JSON data. (It is also possible to write custom parsers that produce values of certain data types directly.)
  3. On the value level, we convert JSON Values to and from values of algebraic data types. This is accomplished by type classes ToJSON and FromJSON. Instances for basic types, in particular for all tuple types, are provided.
  4. On the presentation level, a JSON Value is rendered as String that conforms to the JSON standard and can thus be used to exchange data with other software or over the internet.

The users of this library can get full JSON support by concentrating on the third point, which essentially means that they have to write FromJSON and ToJSON instances for their data types. It follows a short tutorial on how to do this.

Encoding of algebraic data types in JSON

The following suggestions will foster a compact and easy to decode String representation of Frege data.

(There is currently no support for automatically derived instances yet, but when it gets implemented it shall comply with this suggestions.)

 { "Just": 42 }
 {"Nothing":null}
 { "Data": [field1,field2,...]}.
 { "case":"Person", "name":"Smith", "age":42}

Create JSON documents from your data

This will be done in two steps:

  1. Convert your data to JSON Values, the internal generic representation for JSON data provided by this module.
  2. Show the JSON Value. This results in a String which is a standard conforming JSON document.

The conversion should be done by implementing type class ToJSON for your data. There is just one class operation ToJSON.toJSON to implement.

Because standard Frege types, lists, arrays and all tuple types are already instances of ToJSON, this is easy to accomplish, as will be demonstrated below.

Given the following definitions:

  data Engine = Electric Double --- just performance in kW
               | Combustion { fuel :: [Fuel], displacement :: Double, cyls :: Int }
  data Fuel = DIESEL | GASOLINE | NATURALGAS | LPG
  data Vehicle = Vehicle { wheels :: Int, engine :: Maybe Engine }

we could make the following instances:

 derive Show Fuel      -- we need this in the ToJSON instance

Use the Value.String constructor to create a JSON string value from an ordinary String.

 instance ToJSON Fuel where
    toJSON = String . show

The instance for Engine makes JSON structs for the Engine constructors by associating the constructor name with the values under the constructor. There is a function struct, designed to create such structures that have just a single association, which is - according to our encoding suggestions - a most frequent case.

 instance ToJSON Engine where
    toJSON (Electric d)
            = struct "Electric" d
    toJSON Combustion{fuel, displacement, cyls}
            = struct "Combustion" (fuel, displacement, cyls)

The Vehicle instance demonstrates a more complex JSON struct, where the record field names are associated with their values. The Value.Struct constructor takes a list of associations, created with assoc. The constructor name is redundant here, as Vehicle is a product type, so it is not included.

If we have Maybe values in the struct that are actually Maybe.Nothing, we can as well omit their associations and thus reduce the size of the generated JSON. However, the corresponding FromJSON.fromJSON function will then have to interpret a missing association as Maybe.Nothing - this is exactly the purpose of the optional function.

 instance ToJSON Vehicle where
    {-- For illustration, we use a struct with record fields

       The first clause is not strictly necessary,
       but helps to reduce the generated json size
       in the case that we have no engine, by just not
       producing an association for "engine".

       This assumes that the corresponding 'fromJSON' function takes care of that,
       preferably by extracting the "engine" field with 'optional'.
   -}
    toJSON Vehicle{wheels, engine=Nothing}
           = Struct [ assoc "wheels" wheels ]   -- just leave out engine
    toJSON Vehicle{wheels, engine}
            = Struct [
                    assoc "wheels" wheels,
                    -- uses the short form for Maybe
                    assoc "engine" (maybeToJSON engine),
            ]

We can now construct some vehicles and print a JSON document. The translation of the internal to the external (i.e. String) form is done by the Show instance for JSON Values.

 bicycle = Vehicle { wheels = 2, engine = Nothing }
 ebike   = Vehicle { wheels = 2, engine = Just (Electric 0.9) }
 car     = Vehicle { wheels = 4,
                     engine = Just Combustion {
                              fuel = [LPG, GASOLINE],
                              displacement = 2.0,
                              cyls = 4 }}
 vehicles = [car, bicycle, ebike]
 main = println (toJSON vehicles)

The output looks like:

 [{
  "wheels" : 4,
  "engine" : {"Combustion" : [["LPG", "GASOLINE"], 2.0, 4]}
 },
 {"wheels" : 2, "engine" : null},
 {"wheels" : 2, "engine" : {"Electric" : 0.9}}]

Reconstruct your data from JSON data

There are 2 ways one could get confronted with JSON data:

  1. A JSON document in the form of a String
  2. A JSON Value

The type class FromJSON has two operations to deal with those scenarios: FromJSON.parseJSON and FromJSON.fromJSON. But only the latter one needs to be implemented, the default implementation of FromJSON.parseJSON will parse a String to a generic JSON Value and pass this to FromJSON.fromJSON.

While it may cost a bit of memory to first create the JSON Value, this two-step approach has a number of advantages. Not the least one being clear separation of lexical and syntactical issues from semantical ones. But it is also the case that writing FromJSON.fromJSON functions is quite easy, if not boring. The type checker, the support for basic types, lists and tuples and the internal plumbing make it hard to write a wrong implementation. Whereas writing a parser is comparatively hard and error prone.

Implementing FromJSON.fromJSON

Reconstruction of values from JSON data can fail, therefore the FromJSON.fromJSON function delivers its result in a failure monad (MonadFail - two well known failure monads are Maybe and Either String). FromJSON.fromJSON is therefore overloaded twice in the return type: one for the actual data type and then the monad.

If one has already a ToJSON instance, it should go without saying that the implementations should satisfy the following law:

 decodeEncoded x = fromJSON (toJSON x) == Just x

Here are, in continuation of our example from above, the FromJSON instances:

 instance FromJSON Fuel where
     fromJSON (String "DIESEL") = return DIESEL
     fromJSON (String "GASOLINE") = return GASOLINE
     fromJSON (String "NATURALGAS") = return NATURALGAS
     fromJSON (String "LPG") = return LPG
     fromJSON s = fail ("cannot decode fuel from " ++ show s)

Note the use of MonadFail.fail and Applicative.pure which is needed because we produce our value in a failure monad like Maybe or Either String. In fact, every correct implementation of FromJSON.fromJSON will have at least two equations (or, equivalently, case alternatives) where at least one does MonadFail.fail and at least one is Applicative.pureing an actual value.

 import Data.List(lookup)  -- for looking up associations
 instance FromJSON Engine where
    fromJSON (Struct as)
       | Just n   <- lookup "Electric" as   = Electric <$> fromJSON n
       | Just fdc <- lookup "Combustion" as = do
               (fuel, displacement, cyls) <- fromJSON fdc
               return Combustion{fuel, displacement, cyls}
    fromJSON x = fail ("invalid engine: " ++ show x)

We need to look up the keys to find out which variant we have. We then just decode the associated values and recreate our value. Failures for sub-components are propagated upwards automatically, thanks to the monadic approach. For example, when we try to decode an engine from

 { "Combustion" : [ ["Water"], 2.7, 3]}

we will get the error

 cannot decode fuel from "Water"

Because the fuel cannot get decoded, the decoding of the 3-tuple fails, and our combustion engine will not be constructed.

Note how the existence of generic FromJSON instances for primitives, tuples and lists makes the decoding a no brainer.

Finally we can decode vehicles:

 instance FromJSON Vehicle where
   fromJSON (Struct as)  = do
       wheels ← field    "wheels" as
       engine ← optional "engine" as
       pure Vehicle{wheels, engine}
   fromJSON garbage = fail ("couldn't decode Vehicle from: " ++ show garbage)

The field function extracts a field from an association list, or fails with an appropriate message. The "engine" field has type (Maybe Engine) and could be extracted with the field function as well, but a missing "engine" association would then mean failure. With optional, a missing "engine" association means that "engine" is Maybe.Nothing.

Observe that this instance allows the following:

  1. key/value pairs can occur in any order
  2. additional keys besides "wheels" and "engine" are ignored
  3. the "engine" key can be missing, and this will be interpreted as a vehicle without engine.

Such a forgiving and fault-tolerant implementation is oftentimes in order. However, if one needs it stricter, one can pattern match the association list directly:

 fromJSON (Struct [("wheels", jw), ("engine", je)]) = do
                  wheels <- fromJSON jw
                  engine <- fromJSON je
                  return Vehicle{wheels, engine}

To read a vehicle from a String, we just need to run the automatically supplied FromJSON.parseJSON function:

  case parseJSON "{\"wheels\" : 3 }"  of
       Just Vehicle{wheels=w} -> -- we have w wheels ...

Like with FromJSON.fromJSON, the FromJSON.parseJSON function needs to know the type of the item to decode as well as the failure monad to work with. Most often, this can be inferred by the compiler, like in the example above where it is clear that we want a Maybe Vehicle.

Very brief guide to Parsers

Sometimes memory and time are extremely scarce, and the data to decode are comparatively simple. This is the time to roll your own custom JSON parser.

The parsers provided in this module fall into 4 classes:

  1. Parser Value are not interesting for custom parser builders, because they are used to implement the generic Value parsers. (The source code could give some inspiration, though ...)
  2. Parser Token such as parseComma, parseColon and so on parse punctuation occurring in JSON syntax, and can be re-used in any other parser.
  3. Parser a where a is some basic type like Bool, Int or String. You most likely want to reuse those in your custom parser.
  4. Parser combinators like parsePair, parseTuple and parseList take one or two parsers as arguments and build parsers for more complex structures that contain the provided ones.

All Parsers supported by this module operate on list of Tokens. The function lexer can be used to turn a String into such a list, obeying the JSON lexical syntax. Finally, the function runParser actually applies a parser to a token list.

So the skeleton of your code should read like this example:

 run :: MonadFail m => String -> m [Float]
 run = runParser custom . lexer
        where custom = parseList parseFloat

The "custom parser" here parses a list of floating point values, and on success returns a [Float] in the failure monad of your choice.

Imports

Table of Content

Definitions

data Token

lexical entities that can appear in a JSON String

Constructors

protected BRACEL

left brace {

protected BRACER

right brace }

protected BRACKL

left bracket [

protected BRACKR

right bracket ]

protected COLON

colon :

protected COMMA

comma ,

protected ERROR {offset ∷ Int, text ∷ String}

lexical error indicator

protected FALSE

false

protected N {nval ∷ String}

a JSON number, atod will work

protected NULL

null (o noes!!!)

protected S {sval ∷ String}

a JSON string, escapes already decoded

protected TRUE

true

Member Functions

nvalTokenString

access field nval

offsetTokenInt

access field offset

svalTokenString

access field sval

textTokenString

access field text

lexerString → [Token]

Translate a String into a lazy list of Tokens.

There will be at most one Token.ERROR token in the result, and it will be the last in the list. This is, the lexer will stop on the first lexical error.

Absence of lexical errors does not mean valid JSON, for example

 "null, true,"

is lexed as

 [NULL, COMMA, TRUE, COMMA]

but is, of course invalid.

data Value

Internal representation of JSON data

Constructors

Array [Value]
 [ value, ... ]   
Bool Bool

true or false

Null

just null

Number (String)

a number

String (String)

a string

Struct [(String, Value)]
 { "name":value, ... }   

Member Functions

jFalseValue

singleton JSON false constant

jTrueValue

singleton JSON true constant

assocToJSON b ⇒ String → b → (String, Value)

Make a single association

structToJSON a ⇒ String → a → Value

Make a Value.Struct with just a single association, suitable for variants

field ∷ (FromJSON b, MonadFail m) ⇒ String[(String, Value)] → m b

Extract a required field from an association list or MonadFail.fail with an appropriate message.

optional ∷ (FromJSON α, MonadFail m) ⇒ String[(String, Value)] → m (Maybe α)

Convenience function for optional fields, use like

  foo ← optional  "foo" s

This will decode any of the following

 { ... }                       -- no "foo" in structure, hence Nothing
 { ..., "foo" : null, ... }    -- again, foo is Nothing
 { ..., "foo" : {"Nothing" : null}, ...} --- again Nothing
 { ..., "foo" : 42, ...}       -- foo is Just 42
 { ..., "foo" : {"Just" : 42}} -- foo is Just 42    
fromJSONMaybeFromJSON b ⇒ ValueMaybe b

Convenience function to do FromJSON.fromJSON in the Maybe monad.

fromJSONEitherFromJSON b ⇒ Value → (String | b)

Convenience function to do FromJSON.fromJSON in the Either monad.

type Parser = MP.Parser [] Token

A JSON parser processes a list of Tokens.

runParserParser a → [Token] → (String | a)

run a Parser and extract the result

parseObjectParser Value

Parses an Value.Array or a Value.Struct

This is the parser that will be used in type class FromJSON by default.

This parser fails unless it could consume all input.

parseValueParser Value

parse any JSON value

parseNumberParser Value

Parse a JSON number

parseBooleanParser Value

Parse a JSON boolean

parseNullParser Value

Parse JSON null

parseArrayParser Value

Parse a JSON array

parseStructParser Value

Parse a JSON struct

If one and the same key appears multiple times, only the last one will be taken into account.

parseLbrackParser Token

parse a left bracket

parseLbraceParser Token

parse a left brace

parseRbrackParser Token

parse a right bracket

parseRbraceParser Token

parse a right brace

parseCommaParser Token

parse a comma

parseColonParser Token

parse a colon

parseStringParser String

parse a String

parseIntParser Int

parse an Int

parseLongParser Long

parse a Long

parseIntegerParser Integer

parse an Integer

parseDoubleParser Double

parse a raw Double

parseFloatParser Float

parse a raw Float

parseBoolParser Bool

parse a Bool

parsePairParser v → Parser (String, v)

parse a pair "string" : v

parseListParser a → Parser [a]

parse a list

For example,

 parseList parseFloat

produces a [Float] directly

parseTuple(Parser a, Parser b)Parser (a, b)

parse a raw tuple

Use like

 parseTuple (parseFloat, parseString)

This would produce (Float, String)

valDocValueDOCUMENT

Pretty print a Value.

This is used in the Show instance for Value, but can be useful otherwise. For example, to print a large Value directly to IO.stdout without realizing the full intermediate String in memory with a line width of 120 use:

 import Lib.PP(prettyIO)
 prettyIO stdout 120 . valDoc
class FromJSON a

Class of types whose values can be reconstructed from JSON.

There are two ways to accomplish this:

  1. take a JSON Value and try to reconstruct a value of the desired type, that is, implement function FromJSON.fromJSON
  2. write a Parser that produces the desired value directly and use this to implement FromJSON.parseJSON

The usual way is to implement FromJSON.fromJSON and keep the default for FromJSON.parseJSON, which parses a String to a Value and passes that value to FromJSON.fromJSON.

Minimal complete definition: FromJSON.fromJSON

The instances of all standard types that are not encoded as objects will have an implementation of FromJSON.parseJSON that fails immediately. This behaviour is in line with the JSON standard which allows only objects (that is, maps or arrays) to appear on the top level.

Known Instances

(), Bool, (,,,,,,,,,,,,), (,,,,,,,,), (,,,,), (,,), (,), (,,,), (,,,,,,), (,,,,,), (,,,,,,,), (,,,,,,,,,,), (,,,,,,,,,), (,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,), (,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,,,,,,,,,), Int, Double, Lang.Byte, Char, Float, Either, Lang.Short, JArray, Integer, Long, Maybe, Value, StringJ, []

Member Functions

fromJSON ∷ (FromJSON a, MonadFail m) ⇒ Value → m a

Interpret a JSON value as a value of the instance type, or MonadFail.fail.

This function must be implemented by all instances.

If one has a non-standard implementation of FromJSON.parseJSON that does not use FromJSON.fromJSON, a conforming, but inefficient implementation would be

 fromJSON = parseJSON . show
parseJSON ∷ (FromJSON a, MonadFail m) ⇒ String → m a

Parse a String which must contain valid JSON, and interpret as value of the instance type.

The standard implementation uses parseObject to make a JSON Value that is passed on to FromJSON.fromJSON.

class ToJSON a

The class of types that support their serialization to JSON.

Note that the JSON value for primitive types and Strings yields no valid JSON document when printed.

Known Instances

Lang.Byte, (,,,,,,,,,,,,,,,), (,,,,,,,), (,,,), (,), (), (,,), (,,,,,), (,,,,), (,,,,,,), (,,,,,,,,,,,), (,,,,,,,,,), (,,,,,,,,), (,,,,,,,,,,), (,,,,,,,,,,,,,), (,,,,,,,,,,,,), (,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,,,,,,,,,), (,,,,,,,,,,,,,,,,,,,,,,,,), Bool, Int, Double, Char, Float, Either, Value, Long, Integer, JArray, Lang.Short, Maybe, StringJ, []

Member Functions

toJSONToJSON a ⇒ a → Value
maybeToJSONToJSON a ⇒ Maybe aValue

The short encoding for Maybe values.

Produces Value.Null for Maybe.Nothing and the jsonized value for Maybe.Just value.

The FromJSON instance for Maybe is prepared to deal with the different encodings.

Instances

instance Eq Token

Member Functions

!=TokenTokenBool
infix  7

inherited from Eq.!=

==TokenTokenBool
infix  7

Function generated for derived instance.

hashCodeTokenInt

Function generated for derived instance.

instance Eq Value

Member Functions

!=ValueValueBool
infix  7

inherited from Eq.!=

==ValueValueBool
infix  7
hashCodeValueInt
instance FromJSON ()

Member Functions

fromJSONMonadFail α ⇒ Value → α ()
parseJSONMonadFail α ⇒ String → α ()

inherited from FromJSON.parseJSON

instance (FromJSON a, FromJSON b) ⇒ FromJSON (a, b)

Member Functions

fromJSON ∷ (FromJSON β, FromJSON α, MonadFail γ) ⇒ Value → γ (β, α)
parseJSON ∷ (FromJSON β, FromJSON α, MonadFail γ) ⇒ String → γ (β, α)

inherited from FromJSON.parseJSON

instance (FromJSON a, FromJSON b, FromJSON c) ⇒ FromJSON (a, b, c)

Member Functions

fromJSON ∷ (FromJSON β, FromJSON γ, FromJSON α, MonadFail δ) ⇒ Value → δ (β, γ, α)
parseJSON ∷ (FromJSON β, FromJSON γ, FromJSON α, MonadFail δ) ⇒ String → δ (β, γ, α)

inherited from FromJSON.parseJSON

instance (FromJSON a, FromJSON b, FromJSON c, FromJSON d) ⇒ FromJSON (a, b, c, d)

Member Functions

fromJSON ∷ (FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ε) ⇒ Value → ε (γ, δ, β, α)
parseJSON ∷ (FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ε) ⇒ String → ε (γ, δ, β, α)

inherited from FromJSON.parseJSON

instance (FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e) ⇒ FromJSON (a, b, c, d, e)

Member Functions

fromJSON ∷ (FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail ζ) ⇒ Value → ζ (δ, ε, β, γ, α)
parseJSON ∷ (FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail ζ) ⇒ String → ζ (δ, ε, β, γ, α)

inherited from FromJSON.parseJSON

instance (FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f) ⇒ FromJSON (a, b, c, d, e, f)

Member Functions

fromJSON ∷ (FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail η) ⇒ Value → η (δ, ε, γ, ζ, β, α)
parseJSON ∷ (FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail η) ⇒ String → η (δ, ε, γ, ζ, β, α)

inherited from FromJSON.parseJSON

instance (FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g) ⇒ FromJSON (a, b, c, d, e, f, g)

Member Functions

fromJSON ∷ (FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail θ) ⇒ Value → θ (ε, ζ, δ, η, β, γ, α)
parseJSON ∷ (FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail θ) ⇒ String → θ (ε, ζ, δ, η, β, γ, α)

inherited from FromJSON.parseJSON

instance (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)

Member Functions

fromJSON ∷ (FromJSON ζ, FromJSON η, FromJSON ε, FromJSON θ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ι) ⇒ Value → ι (ζ, η, ε, θ, γ, δ, β, α)
parseJSON ∷ (FromJSON ζ, FromJSON η, FromJSON ε, FromJSON θ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ι) ⇒ String → ι (ζ, η, ε, θ, γ, δ, β, α)

inherited from FromJSON.parseJSON

instance (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)

Member Functions

fromJSON ∷ (FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ι, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail κ) ⇒ Value → κ (η, θ, ζ, ι, δ, ε, β, γ, α)
parseJSON ∷ (FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ι, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail κ) ⇒ String → κ (η, θ, ζ, ι, δ, ε, β, γ, α)

inherited from FromJSON.parseJSON

instance (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)

Member Functions

fromJSON ∷ (FromJSON θ, FromJSON ι, FromJSON η, FromJSON κ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail λ) ⇒ Value → λ (θ, ι, η, κ, δ, ε, γ, ζ, β, α)
parseJSON ∷ (FromJSON θ, FromJSON ι, FromJSON η, FromJSON κ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail λ) ⇒ String → λ (θ, ι, η, κ, δ, ε, γ, ζ, β, α)

inherited from FromJSON.parseJSON

instance (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)

Member Functions

fromJSON ∷ (FromJSON ι, FromJSON κ, FromJSON θ, FromJSON λ, FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail μ) ⇒ Value → μ (ι, κ, θ, λ, ε, ζ, δ, η, β, γ, α)
parseJSON ∷ (FromJSON ι, FromJSON κ, FromJSON θ, FromJSON λ, FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail μ) ⇒ String → μ (ι, κ, θ, λ, ε, ζ, δ, η, β, γ, α)

inherited from FromJSON.parseJSON

instance (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)

Member Functions

fromJSON ∷ (FromJSON ι, FromJSON κ, FromJSON θ, FromJSON λ, FromJSON ζ, FromJSON η, FromJSON ε, FromJSON μ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ν) ⇒ Value → ν (ι, κ, θ, λ, ζ, η, ε, μ, γ, δ, β, α)
parseJSON ∷ (FromJSON ι, FromJSON κ, FromJSON θ, FromJSON λ, FromJSON ζ, FromJSON η, FromJSON ε, FromJSON μ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ν) ⇒ String → ν (ι, κ, θ, λ, ζ, η, ε, μ, γ, δ, β, α)

inherited from FromJSON.parseJSON

instance (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)

Member Functions

fromJSON ∷ (FromJSON κ, FromJSON λ, FromJSON ι, FromJSON μ, FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ν, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail ξ) ⇒ Value → ξ (κ, λ, ι, μ, η, θ, ζ, ν, δ, ε, β, γ, α)
parseJSON ∷ (FromJSON κ, FromJSON λ, FromJSON ι, FromJSON μ, FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ν, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail ξ) ⇒ String → ξ (κ, λ, ι, μ, η, θ, ζ, ν, δ, ε, β, γ, α)

inherited from FromJSON.parseJSON

instance (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)

Member Functions

fromJSON ∷ (FromJSON λ, FromJSON μ, FromJSON κ, FromJSON ν, FromJSON θ, FromJSON ι, FromJSON η, FromJSON ξ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail ο) ⇒ Value → ο (λ, μ, κ, ν, θ, ι, η, ξ, δ, ε, γ, ζ, β, α)
parseJSON ∷ (FromJSON λ, FromJSON μ, FromJSON κ, FromJSON ν, FromJSON θ, FromJSON ι, FromJSON η, FromJSON ξ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail ο) ⇒ String → ο (λ, μ, κ, ν, θ, ι, η, ξ, δ, ε, γ, ζ, β, α)

inherited from FromJSON.parseJSON

instance (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)

Member Functions

fromJSON ∷ (FromJSON μ, FromJSON ν, FromJSON λ, FromJSON ξ, FromJSON ι, FromJSON κ, FromJSON θ, FromJSON ο, FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail π) ⇒ Value → π (μ, ν, λ, ξ, ι, κ, θ, ο, ε, ζ, δ, η, β, γ, α)
parseJSON ∷ (FromJSON μ, FromJSON ν, FromJSON λ, FromJSON ξ, FromJSON ι, FromJSON κ, FromJSON θ, FromJSON ο, FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail π) ⇒ String → π (μ, ν, λ, ξ, ι, κ, θ, ο, ε, ζ, δ, η, β, γ, α)

inherited from FromJSON.parseJSON

instance (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 p) ⇒ FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)

Member Functions

fromJSON ∷ (FromJSON ν, FromJSON ξ, FromJSON μ, FromJSON ο, FromJSON κ, FromJSON λ, FromJSON ι, FromJSON π, FromJSON ζ, FromJSON η, FromJSON ε, FromJSON θ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ρ) ⇒ Value → ρ (ν, ξ, μ, ο, κ, λ, ι, π, ζ, η, ε, θ, γ, δ, β, α)
parseJSON ∷ (FromJSON ν, FromJSON ξ, FromJSON μ, FromJSON ο, FromJSON κ, FromJSON λ, FromJSON ι, FromJSON π, FromJSON ζ, FromJSON η, FromJSON ε, FromJSON θ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ρ) ⇒ String → ρ (ν, ξ, μ, ο, κ, λ, ι, π, ζ, η, ε, θ, γ, δ, β, α)

inherited from FromJSON.parseJSON

instance (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 p, FromJSON q) ⇒ FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)

Member Functions

fromJSON ∷ (FromJSON ξ, FromJSON ο, FromJSON ν, FromJSON π, FromJSON λ, FromJSON μ, FromJSON κ, FromJSON ρ, FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ι, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail ς) ⇒ Value → ς (ξ, ο, ν, π, λ, μ, κ, ρ, η, θ, ζ, ι, δ, ε, β, γ, α)
parseJSON ∷ (FromJSON ξ, FromJSON ο, FromJSON ν, FromJSON π, FromJSON λ, FromJSON μ, FromJSON κ, FromJSON ρ, FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ι, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail ς) ⇒ String → ς (ξ, ο, ν, π, λ, μ, κ, ρ, η, θ, ζ, ι, δ, ε, β, γ, α)

inherited from FromJSON.parseJSON

instance (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 p, FromJSON q, FromJSON r) ⇒ FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)

Member Functions

fromJSON ∷ (FromJSON ο, FromJSON π, FromJSON ξ, FromJSON ρ, FromJSON μ, FromJSON ν, FromJSON λ, FromJSON ς, FromJSON θ, FromJSON ι, FromJSON η, FromJSON κ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail σ) ⇒ Value → σ (ο, π, ξ, ρ, μ, ν, λ, ς, θ, ι, η, κ, δ, ε, γ, ζ, β, α)
parseJSON ∷ (FromJSON ο, FromJSON π, FromJSON ξ, FromJSON ρ, FromJSON μ, FromJSON ν, FromJSON λ, FromJSON ς, FromJSON θ, FromJSON ι, FromJSON η, FromJSON κ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail σ) ⇒ String → σ (ο, π, ξ, ρ, μ, ν, λ, ς, θ, ι, η, κ, δ, ε, γ, ζ, β, α)

inherited from FromJSON.parseJSON

instance (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 p, FromJSON q, FromJSON r, FromJSON s) ⇒ FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)

Member Functions

fromJSON ∷ (FromJSON π, FromJSON ρ, FromJSON ο, FromJSON ς, FromJSON ν, FromJSON ξ, FromJSON μ, FromJSON σ, FromJSON ι, FromJSON κ, FromJSON θ, FromJSON λ, FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail τ) ⇒ Value → τ (π, ρ, ο, ς, ν, ξ, μ, σ, ι, κ, θ, λ, ε, ζ, δ, η, β, γ, α)
parseJSON ∷ (FromJSON π, FromJSON ρ, FromJSON ο, FromJSON ς, FromJSON ν, FromJSON ξ, FromJSON μ, FromJSON σ, FromJSON ι, FromJSON κ, FromJSON θ, FromJSON λ, FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail τ) ⇒ String → τ (π, ρ, ο, ς, ν, ξ, μ, σ, ι, κ, θ, λ, ε, ζ, δ, η, β, γ, α)

inherited from FromJSON.parseJSON

instance (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 p, FromJSON q, FromJSON r, FromJSON s, FromJSON t) ⇒ FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)

Member Functions

fromJSON ∷ (FromJSON ρ, FromJSON ς, FromJSON π, FromJSON σ, FromJSON ξ, FromJSON ο, FromJSON ν, FromJSON τ, FromJSON ι, FromJSON κ, FromJSON θ, FromJSON λ, FromJSON ζ, FromJSON η, FromJSON ε, FromJSON μ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail υ) ⇒ Value → υ (ρ, ς, π, σ, ξ, ο, ν, τ, ι, κ, θ, λ, ζ, η, ε, μ, γ, δ, β, α)
parseJSON ∷ (FromJSON ρ, FromJSON ς, FromJSON π, FromJSON σ, FromJSON ξ, FromJSON ο, FromJSON ν, FromJSON τ, FromJSON ι, FromJSON κ, FromJSON θ, FromJSON λ, FromJSON ζ, FromJSON η, FromJSON ε, FromJSON μ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail υ) ⇒ String → υ (ρ, ς, π, σ, ξ, ο, ν, τ, ι, κ, θ, λ, ζ, η, ε, μ, γ, δ, β, α)

inherited from FromJSON.parseJSON

instance (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 p, FromJSON q, FromJSON r, FromJSON s, FromJSON t, FromJSON u) ⇒ FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)

Member Functions

fromJSON ∷ (FromJSON ς, FromJSON σ, FromJSON ρ, FromJSON τ, FromJSON ο, FromJSON π, FromJSON ξ, FromJSON υ, FromJSON κ, FromJSON λ, FromJSON ι, FromJSON μ, FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ν, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail φ) ⇒ Value → φ (ς, σ, ρ, τ, ο, π, ξ, υ, κ, λ, ι, μ, η, θ, ζ, ν, δ, ε, β, γ, α)
parseJSON ∷ (FromJSON ς, FromJSON σ, FromJSON ρ, FromJSON τ, FromJSON ο, FromJSON π, FromJSON ξ, FromJSON υ, FromJSON κ, FromJSON λ, FromJSON ι, FromJSON μ, FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ν, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail φ) ⇒ String → φ (ς, σ, ρ, τ, ο, π, ξ, υ, κ, λ, ι, μ, η, θ, ζ, ν, δ, ε, β, γ, α)

inherited from FromJSON.parseJSON

instance (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 p, FromJSON q, FromJSON r, FromJSON s, FromJSON t, FromJSON u, FromJSON v) ⇒ FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v)

Member Functions

fromJSON ∷ (FromJSON σ, FromJSON τ, FromJSON ς, FromJSON υ, FromJSON π, FromJSON ρ, FromJSON ο, FromJSON φ, FromJSON λ, FromJSON μ, FromJSON κ, FromJSON ν, FromJSON θ, FromJSON ι, FromJSON η, FromJSON ξ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail χ) ⇒ Value → χ (σ, τ, ς, υ, π, ρ, ο, φ, λ, μ, κ, ν, θ, ι, η, ξ, δ, ε, γ, ζ, β, α)
parseJSON ∷ (FromJSON σ, FromJSON τ, FromJSON ς, FromJSON υ, FromJSON π, FromJSON ρ, FromJSON ο, FromJSON φ, FromJSON λ, FromJSON μ, FromJSON κ, FromJSON ν, FromJSON θ, FromJSON ι, FromJSON η, FromJSON ξ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail χ) ⇒ String → χ (σ, τ, ς, υ, π, ρ, ο, φ, λ, μ, κ, ν, θ, ι, η, ξ, δ, ε, γ, ζ, β, α)

inherited from FromJSON.parseJSON

instance (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 p, FromJSON q, FromJSON r, FromJSON s, FromJSON t, FromJSON u, FromJSON v, FromJSON w) ⇒ FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w)

Member Functions

fromJSON ∷ (FromJSON τ, FromJSON υ, FromJSON σ, FromJSON φ, FromJSON ρ, FromJSON ς, FromJSON π, FromJSON χ, FromJSON μ, FromJSON ν, FromJSON λ, FromJSON ξ, FromJSON ι, FromJSON κ, FromJSON θ, FromJSON ο, FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail ψ) ⇒ Value → ψ (τ, υ, σ, φ, ρ, ς, π, χ, μ, ν, λ, ξ, ι, κ, θ, ο, ε, ζ, δ, η, β, γ, α)
parseJSON ∷ (FromJSON τ, FromJSON υ, FromJSON σ, FromJSON φ, FromJSON ρ, FromJSON ς, FromJSON π, FromJSON χ, FromJSON μ, FromJSON ν, FromJSON λ, FromJSON ξ, FromJSON ι, FromJSON κ, FromJSON θ, FromJSON ο, FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail ψ) ⇒ String → ψ (τ, υ, σ, φ, ρ, ς, π, χ, μ, ν, λ, ξ, ι, κ, θ, ο, ε, ζ, δ, η, β, γ, α)

inherited from FromJSON.parseJSON

instance (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 p, FromJSON q, FromJSON r, FromJSON s, FromJSON t, FromJSON u, FromJSON v, FromJSON w, FromJSON x) ⇒ FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x)

Member Functions

fromJSON ∷ (FromJSON τ, FromJSON υ, FromJSON σ, FromJSON φ, FromJSON ρ, FromJSON ς, FromJSON π, FromJSON χ, FromJSON ν, FromJSON ξ, FromJSON μ, FromJSON ο, FromJSON κ, FromJSON λ, FromJSON ι, FromJSON ψ, FromJSON ζ, FromJSON η, FromJSON ε, FromJSON θ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ω) ⇒ Value → ω (τ, υ, σ, φ, ρ, ς, π, χ, ν, ξ, μ, ο, κ, λ, ι, ψ, ζ, η, ε, θ, γ, δ, β, α)
parseJSON ∷ (FromJSON τ, FromJSON υ, FromJSON σ, FromJSON φ, FromJSON ρ, FromJSON ς, FromJSON π, FromJSON χ, FromJSON ν, FromJSON ξ, FromJSON μ, FromJSON ο, FromJSON κ, FromJSON λ, FromJSON ι, FromJSON ψ, FromJSON ζ, FromJSON η, FromJSON ε, FromJSON θ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ω) ⇒ String → ω (τ, υ, σ, φ, ρ, ς, π, χ, ν, ξ, μ, ο, κ, λ, ι, ψ, ζ, η, ε, θ, γ, δ, β, α)

inherited from FromJSON.parseJSON

instance (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 p, FromJSON q, FromJSON r, FromJSON s, FromJSON t, FromJSON u, FromJSON v, FromJSON w, FromJSON x, FromJSON y) ⇒ FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y)

Member Functions

fromJSON ∷ (FromJSON υ, FromJSON φ, FromJSON τ, FromJSON χ, FromJSON ς, FromJSON σ, FromJSON ρ, FromJSON ψ, FromJSON ξ, FromJSON ο, FromJSON ν, FromJSON π, FromJSON λ, FromJSON μ, FromJSON κ, FromJSON ω, FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ι, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail αα) ⇒ Value → αα (υ, φ, τ, χ, ς, σ, ρ, ψ, ξ, ο, ν, π, λ, μ, κ, ω, η, θ, ζ, ι, δ, ε, β, γ, α)
parseJSON ∷ (FromJSON υ, FromJSON φ, FromJSON τ, FromJSON χ, FromJSON ς, FromJSON σ, FromJSON ρ, FromJSON ψ, FromJSON ξ, FromJSON ο, FromJSON ν, FromJSON π, FromJSON λ, FromJSON μ, FromJSON κ, FromJSON ω, FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ι, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail αα) ⇒ String → αα (υ, φ, τ, χ, ς, σ, ρ, ψ, ξ, ο, ν, π, λ, μ, κ, ω, η, θ, ζ, ι, δ, ε, β, γ, α)

inherited from FromJSON.parseJSON

instance (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 p, FromJSON q, FromJSON r, FromJSON s, FromJSON t, FromJSON u, FromJSON v, FromJSON w, FromJSON x, FromJSON y, FromJSON z) ⇒ FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z)

Member Functions

fromJSON ∷ (FromJSON φ, FromJSON χ, FromJSON υ, FromJSON ψ, FromJSON σ, FromJSON τ, FromJSON ς, FromJSON ω, FromJSON ο, FromJSON π, FromJSON ξ, FromJSON ρ, FromJSON μ, FromJSON ν, FromJSON λ, FromJSON αα, FromJSON θ, FromJSON ι, FromJSON η, FromJSON κ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail αβ) ⇒ Value → αβ (φ, χ, υ, ψ, σ, τ, ς, ω, ο, π, ξ, ρ, μ, ν, λ, αα, θ, ι, η, κ, δ, ε, γ, ζ, β, α)
parseJSON ∷ (FromJSON φ, FromJSON χ, FromJSON υ, FromJSON ψ, FromJSON σ, FromJSON τ, FromJSON ς, FromJSON ω, FromJSON ο, FromJSON π, FromJSON ξ, FromJSON ρ, FromJSON μ, FromJSON ν, FromJSON λ, FromJSON αα, FromJSON θ, FromJSON ι, FromJSON η, FromJSON κ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail αβ) ⇒ String → αβ (φ, χ, υ, ψ, σ, τ, ς, ω, ο, π, ξ, ρ, μ, ν, λ, αα, θ, ι, η, κ, δ, ε, γ, ζ, β, α)

inherited from FromJSON.parseJSON

instance FromJSON Bool

Member Functions

fromJSONMonadFail α ⇒ Value → α Bool
parseJSONMonadFail α ⇒ String → α Bool
instance FromJSON Byte

Member Functions

fromJSONMonadFail α ⇒ Value → α Byte
parseJSONMonadFail α ⇒ String → α Byte
instance FromJSON Char

Member Functions

fromJSONMonadFail α ⇒ Value → α Char
parseJSONMonadFail α ⇒ String → α Char
instance FromJSON Double

Member Functions

fromJSONMonadFail α ⇒ Value → α Double
parseJSONMonadFail α ⇒ String → α Double
instance (FromJSON a, FromJSON b) ⇒ FromJSON (a | b)

Member Functions

fromJSON ∷ (FromJSON β, FromJSON α, MonadFail γ) ⇒ Value → γ (β | α)
parseJSON ∷ (FromJSON β, FromJSON α, MonadFail γ) ⇒ String → γ (β | α)

inherited from FromJSON.parseJSON

instance FromJSON Float

Member Functions

fromJSONMonadFail α ⇒ Value → α Float
parseJSONMonadFail α ⇒ String → α Float
instance FromJSON Int

Member Functions

fromJSONMonadFail α ⇒ Value → α Int
parseJSONMonadFail α ⇒ String → α Int
instance FromJSON Integer

Member Functions

fromJSONMonadFail α ⇒ Value → α Integer
parseJSONMonadFail α ⇒ String → α Integer
instance (FromJSON e, ArrayElement e) ⇒ FromJSON (JArray e)

Member Functions

fromJSON ∷ (FromJSON α, ArrayElement α, MonadFail β) ⇒ Value → β (JArray α)
parseJSON ∷ (FromJSON α, ArrayElement α, MonadFail β) ⇒ String → β (JArray α)

inherited from FromJSON.parseJSON

instance FromJSON Long

Member Functions

fromJSONMonadFail α ⇒ Value → α Long
parseJSONMonadFail α ⇒ String → α Long
instance FromJSON e ⇒ FromJSON (Maybe e)

Member Functions

fromJSON ∷ (FromJSON α, MonadFail β) ⇒ Value → β (Maybe α)

Encoding can be:

 {"Just": some-value}
 {"Nothing": _}
 null
 some-value
parseJSON ∷ (FromJSON α, MonadFail β) ⇒ String → β (Maybe α)

inherited from FromJSON.parseJSON

instance FromJSON Short

Member Functions

fromJSONMonadFail α ⇒ Value → α Short
parseJSONMonadFail α ⇒ String → α Short
instance FromJSON String

Member Functions

fromJSONMonadFail α ⇒ Value → α String
parseJSONMonadFail α ⇒ String → α String
instance FromJSON Value

Member Functions

fromJSONMonadFail α ⇒ Value → α Value
parseJSONMonadFail α ⇒ String → α Value

inherited from FromJSON.parseJSON

instance FromJSON e ⇒ FromJSON [e]

Member Functions

fromJSON ∷ (FromJSON α, MonadFail β) ⇒ Value → β [α]
parseJSON ∷ (FromJSON α, MonadFail β) ⇒ String → β [α]

inherited from FromJSON.parseJSON

instance Show Token

Member Functions

displayTokenString

inherited from Show.display

showTokenString
showCharsToken → [Char]

inherited from Show.showChars

showList[Token]StringString

inherited from Show.showList

showsPrecIntTokenStringString

inherited from Show.showsPrec

showsubTokenString

inherited from Show.showsub

instance Show Value

Member Functions

displayValueString

inherited from Show.display

showValueString
showCharsValue → [Char]

inherited from Show.showChars

showList[Value]StringString

inherited from Show.showList

showsPrecIntValueStringString

inherited from Show.showsPrec

showsubValueString

inherited from Show.showsub

instance ToJSON ()

Member Functions

toJSON()Value
instance (ToJSON a, ToJSON b) ⇒ ToJSON (a, b)

Member Functions

toJSON ∷ (ToJSON β, ToJSON α) ⇒ (β, α)Value
instance (ToJSON a, ToJSON b, ToJSON c) ⇒ ToJSON (a, b, c)

Member Functions

toJSON ∷ (ToJSON β, ToJSON γ, ToJSON α) ⇒ (β, γ, α)Value
instance (ToJSON a, ToJSON b, ToJSON c, ToJSON d) ⇒ ToJSON (a, b, c, d)

Member Functions

toJSON ∷ (ToJSON γ, ToJSON δ, ToJSON β, ToJSON α) ⇒ (γ, δ, β, α)Value
instance (ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e) ⇒ ToJSON (a, b, c, d, e)

Member Functions

toJSON ∷ (ToJSON δ, ToJSON ε, ToJSON β, ToJSON γ, ToJSON α) ⇒ (δ, ε, β, γ, α)Value
instance (ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f) ⇒ ToJSON (a, b, c, d, e, f)

Member Functions

toJSON ∷ (ToJSON δ, ToJSON ε, ToJSON γ, ToJSON ζ, ToJSON β, ToJSON α) ⇒ (δ, ε, γ, ζ, β, α)Value
instance (ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g) ⇒ ToJSON (a, b, c, d, e, f, g)

Member Functions

toJSON ∷ (ToJSON ε, ToJSON ζ, ToJSON δ, ToJSON η, ToJSON β, ToJSON γ, ToJSON α) ⇒ (ε, ζ, δ, η, β, γ, α)Value
instance (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)

Member Functions

toJSON ∷ (ToJSON ζ, ToJSON η, ToJSON ε, ToJSON θ, ToJSON γ, ToJSON δ, ToJSON β, ToJSON α) ⇒ (ζ, η, ε, θ, γ, δ, β, α)Value
instance (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)

Member Functions

toJSON ∷ (ToJSON η, ToJSON θ, ToJSON ζ, ToJSON ι, ToJSON δ, ToJSON ε, ToJSON β, ToJSON γ, ToJSON α) ⇒ (η, θ, ζ, ι, δ, ε, β, γ, α)Value
instance (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)

Member Functions

toJSON ∷ (ToJSON θ, ToJSON ι, ToJSON η, ToJSON κ, ToJSON δ, ToJSON ε, ToJSON γ, ToJSON ζ, ToJSON β, ToJSON α) ⇒ (θ, ι, η, κ, δ, ε, γ, ζ, β, α)Value
instance (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)

Member Functions

toJSON ∷ (ToJSON ι, ToJSON κ, ToJSON θ, ToJSON λ, ToJSON ε, ToJSON ζ, ToJSON δ, ToJSON η, ToJSON β, ToJSON γ, ToJSON α) ⇒ (ι, κ, θ, λ, ε, ζ, δ, η, β, γ, α)Value
instance (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)

Member Functions

toJSON ∷ (ToJSON ι, ToJSON κ, ToJSON θ, ToJSON λ, ToJSON ζ, ToJSON η, ToJSON ε, ToJSON μ, ToJSON γ, ToJSON δ, ToJSON β, ToJSON α) ⇒ (ι, κ, θ, λ, ζ, η, ε, μ, γ, δ, β, α)Value
instance (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)

Member Functions

toJSON ∷ (ToJSON κ, ToJSON λ, ToJSON ι, ToJSON μ, ToJSON η, ToJSON θ, ToJSON ζ, ToJSON ν, ToJSON δ, ToJSON ε, ToJSON β, ToJSON γ, ToJSON α) ⇒ (κ, λ, ι, μ, η, θ, ζ, ν, δ, ε, β, γ, α)Value
instance (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)

Member Functions

toJSON ∷ (ToJSON λ, ToJSON μ, ToJSON κ, ToJSON ν, ToJSON θ, ToJSON ι, ToJSON η, ToJSON ξ, ToJSON δ, ToJSON ε, ToJSON γ, ToJSON ζ, ToJSON β, ToJSON α) ⇒ (λ, μ, κ, ν, θ, ι, η, ξ, δ, ε, γ, ζ, β, α)Value
instance (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)

Member Functions

toJSON ∷ (ToJSON μ, ToJSON ν, ToJSON λ, ToJSON ξ, ToJSON ι, ToJSON κ, ToJSON θ, ToJSON ο, ToJSON ε, ToJSON ζ, ToJSON δ, ToJSON η, ToJSON β, ToJSON γ, ToJSON α) ⇒ (μ, ν, λ, ξ, ι, κ, θ, ο, ε, ζ, δ, η, β, γ, α)Value
instance (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 p) ⇒ ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)

Member Functions

toJSON ∷ (ToJSON ν, ToJSON ξ, ToJSON μ, ToJSON ο, ToJSON κ, ToJSON λ, ToJSON ι, ToJSON π, ToJSON ζ, ToJSON η, ToJSON ε, ToJSON θ, ToJSON γ, ToJSON δ, ToJSON β, ToJSON α) ⇒ (ν, ξ, μ, ο, κ, λ, ι, π, ζ, η, ε, θ, γ, δ, β, α)Value
instance (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 p, ToJSON q) ⇒ ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)

Member Functions

toJSON ∷ (ToJSON ξ, ToJSON ο, ToJSON ν, ToJSON π, ToJSON λ, ToJSON μ, ToJSON κ, ToJSON ρ, ToJSON η, ToJSON θ, ToJSON ζ, ToJSON ι, ToJSON δ, ToJSON ε, ToJSON β, ToJSON γ, ToJSON α) ⇒ (ξ, ο, ν, π, λ, μ, κ, ρ, η, θ, ζ, ι, δ, ε, β, γ, α)Value
instance (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 p, ToJSON q, ToJSON r) ⇒ ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)

Member Functions

toJSON ∷ (ToJSON ο, ToJSON π, ToJSON ξ, ToJSON ρ, ToJSON μ, ToJSON ν, ToJSON λ, ToJSON ς, ToJSON θ, ToJSON ι, ToJSON η, ToJSON κ, ToJSON δ, ToJSON ε, ToJSON γ, ToJSON ζ, ToJSON β, ToJSON α) ⇒ (ο, π, ξ, ρ, μ, ν, λ, ς, θ, ι, η, κ, δ, ε, γ, ζ, β, α)Value
instance (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 p, ToJSON q, ToJSON r, ToJSON s) ⇒ ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)

Member Functions

toJSON ∷ (ToJSON π, ToJSON ρ, ToJSON ο, ToJSON ς, ToJSON ν, ToJSON ξ, ToJSON μ, ToJSON σ, ToJSON ι, ToJSON κ, ToJSON θ, ToJSON λ, ToJSON ε, ToJSON ζ, ToJSON δ, ToJSON η, ToJSON β, ToJSON γ, ToJSON α) ⇒ (π, ρ, ο, ς, ν, ξ, μ, σ, ι, κ, θ, λ, ε, ζ, δ, η, β, γ, α)Value
instance (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 p, ToJSON q, ToJSON r, ToJSON s, ToJSON t) ⇒ ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)

Member Functions

toJSON ∷ (ToJSON ρ, ToJSON ς, ToJSON π, ToJSON σ, ToJSON ξ, ToJSON ο, ToJSON ν, ToJSON τ, ToJSON ι, ToJSON κ, ToJSON θ, ToJSON λ, ToJSON ζ, ToJSON η, ToJSON ε, ToJSON μ, ToJSON γ, ToJSON δ, ToJSON β, ToJSON α) ⇒ (ρ, ς, π, σ, ξ, ο, ν, τ, ι, κ, θ, λ, ζ, η, ε, μ, γ, δ, β, α)Value
instance (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 p, ToJSON q, ToJSON r, ToJSON s, ToJSON t, ToJSON u) ⇒ ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)

Member Functions

toJSON ∷ (ToJSON ς, ToJSON σ, ToJSON ρ, ToJSON τ, ToJSON ο, ToJSON π, ToJSON ξ, ToJSON υ, ToJSON κ, ToJSON λ, ToJSON ι, ToJSON μ, ToJSON η, ToJSON θ, ToJSON ζ, ToJSON ν, ToJSON δ, ToJSON ε, ToJSON β, ToJSON γ, ToJSON α) ⇒ (ς, σ, ρ, τ, ο, π, ξ, υ, κ, λ, ι, μ, η, θ, ζ, ν, δ, ε, β, γ, α)Value
instance (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 p, ToJSON q, ToJSON r, ToJSON s, ToJSON t, ToJSON u, ToJSON v) ⇒ ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v)

Member Functions

toJSON ∷ (ToJSON σ, ToJSON τ, ToJSON ς, ToJSON υ, ToJSON π, ToJSON ρ, ToJSON ο, ToJSON φ, ToJSON λ, ToJSON μ, ToJSON κ, ToJSON ν, ToJSON θ, ToJSON ι, ToJSON η, ToJSON ξ, ToJSON δ, ToJSON ε, ToJSON γ, ToJSON ζ, ToJSON β, ToJSON α) ⇒ (σ, τ, ς, υ, π, ρ, ο, φ, λ, μ, κ, ν, θ, ι, η, ξ, δ, ε, γ, ζ, β, α)Value
instance (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 p, ToJSON q, ToJSON r, ToJSON s, ToJSON t, ToJSON u, ToJSON v, ToJSON w) ⇒ ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w)

Member Functions

toJSON ∷ (ToJSON τ, ToJSON υ, ToJSON σ, ToJSON φ, ToJSON ρ, ToJSON ς, ToJSON π, ToJSON χ, ToJSON μ, ToJSON ν, ToJSON λ, ToJSON ξ, ToJSON ι, ToJSON κ, ToJSON θ, ToJSON ο, ToJSON ε, ToJSON ζ, ToJSON δ, ToJSON η, ToJSON β, ToJSON γ, ToJSON α) ⇒ (τ, υ, σ, φ, ρ, ς, π, χ, μ, ν, λ, ξ, ι, κ, θ, ο, ε, ζ, δ, η, β, γ, α)Value
instance (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 p, ToJSON q, ToJSON r, ToJSON s, ToJSON t, ToJSON u, ToJSON v, ToJSON w, ToJSON x) ⇒ ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x)

Member Functions

toJSON ∷ (ToJSON τ, ToJSON υ, ToJSON σ, ToJSON φ, ToJSON ρ, ToJSON ς, ToJSON π, ToJSON χ, ToJSON ν, ToJSON ξ, ToJSON μ, ToJSON ο, ToJSON κ, ToJSON λ, ToJSON ι, ToJSON ψ, ToJSON ζ, ToJSON η, ToJSON ε, ToJSON θ, ToJSON γ, ToJSON δ, ToJSON β, ToJSON α) ⇒ (τ, υ, σ, φ, ρ, ς, π, χ, ν, ξ, μ, ο, κ, λ, ι, ψ, ζ, η, ε, θ, γ, δ, β, α)Value
instance (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 p, ToJSON q, ToJSON r, ToJSON s, ToJSON t, ToJSON u, ToJSON v, ToJSON w, ToJSON x, ToJSON y) ⇒ ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y)

Member Functions

toJSON ∷ (ToJSON υ, ToJSON φ, ToJSON τ, ToJSON χ, ToJSON ς, ToJSON σ, ToJSON ρ, ToJSON ψ, ToJSON ξ, ToJSON ο, ToJSON ν, ToJSON π, ToJSON λ, ToJSON μ, ToJSON κ, ToJSON ω, ToJSON η, ToJSON θ, ToJSON ζ, ToJSON ι, ToJSON δ, ToJSON ε, ToJSON β, ToJSON γ, ToJSON α) ⇒ (υ, φ, τ, χ, ς, σ, ρ, ψ, ξ, ο, ν, π, λ, μ, κ, ω, η, θ, ζ, ι, δ, ε, β, γ, α)Value
instance (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 p, ToJSON q, ToJSON r, ToJSON s, ToJSON t, ToJSON u, ToJSON v, ToJSON w, ToJSON x, ToJSON y, ToJSON z) ⇒ ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z)

Member Functions

toJSON ∷ (ToJSON φ, ToJSON χ, ToJSON υ, ToJSON ψ, ToJSON σ, ToJSON τ, ToJSON ς, ToJSON ω, ToJSON ο, ToJSON π, ToJSON ξ, ToJSON ρ, ToJSON μ, ToJSON ν, ToJSON λ, ToJSON αα, ToJSON θ, ToJSON ι, ToJSON η, ToJSON κ, ToJSON δ, ToJSON ε, ToJSON γ, ToJSON ζ, ToJSON β, ToJSON α) ⇒ (φ, χ, υ, ψ, σ, τ, ς, ω, ο, π, ξ, ρ, μ, ν, λ, αα, θ, ι, η, κ, δ, ε, γ, ζ, β, α)Value
instance ToJSON Bool

Member Functions

toJSONBoolValue
instance ToJSON Byte

Member Functions

toJSONByteValue
instance ToJSON Char

Member Functions

toJSONCharValue
instance ToJSON Double

Member Functions

toJSONDoubleValue
instance (ToJSON a, ToJSON b) ⇒ ToJSON (a | b)

Member Functions

toJSON ∷ (ToJSON β, ToJSON α) ⇒ (β | α)Value
instance ToJSON Float

Member Functions

toJSONFloatValue
instance ToJSON Int

Member Functions

toJSONIntValue
instance ToJSON Integer

Member Functions

toJSONIntegerValue
instance ToJSON e ⇒ ToJSON (JArray e)

Member Functions

toJSONToJSON α ⇒ JArray α → Value
instance ToJSON Long

Member Functions

toJSONLongValue
instance ToJSON e ⇒ ToJSON (Maybe e)

Maybe.toJSON produces one of

 {"Nothing" : null }
 {"Just"    : v }

For a more concise representation see maybeToJSON

Member Functions

toJSONToJSON α ⇒ Maybe αValue
instance ToJSON Short

Member Functions

toJSONShortValue
instance ToJSON String

Member Functions

toJSONStringValue
instance ToJSON Value

Member Functions

toJSONValueValue
instance ToJSON e ⇒ ToJSON [e]

Member Functions

toJSONToJSON α ⇒ [α] → Value

Functions and Values by Type

String → [Token]

lexer

StringToken

Token.S, Token.N

StringValue

ToJSON_String.toJSON, Value.Number, Value.String

[(String, Value)] → Value

Value.Struct

[Token] → StringString

Show_Token.showList

[Value] → StringString

Show_Value.showList

[Value] → Value

Value.Array

Token → (StringString) → Token

Token.chg$sval, Token.chg$nval, Token.chg$text

Token → (IntInt) → Token

Token.chg$offset

TokenStringToken

Token.upd$text, Token.upd$sval, Token.upd$nval

TokenTokenBool

Eq_Token.!=, Eq_Token.==

TokenIntToken

Token.upd$offset

TokenString

Show_Token.showsub, Show_Token.display, Show_Token.show, Token.sval, Token.text, Token.nval

Token → [Char]

Show_Token.showChars

TokenBool

Token.has$text, Token.has$offset, Token.has$nval, Token.has$sval

TokenInt

Eq_Token.hashCode, Token.offset

ValueValueBool

Eq_Value.!=, Eq_Value.==

ValueString

Show_Value.showsub, Show_Value.display, Show_Value.show

Value → [Char]

Show_Value.showChars

ValueValue

ToJSON_Value.toJSON

ValueDOCUMENT

valDoc

ValueInt

Eq_Value.hashCode

ByteValue

ToJSON_Byte.toJSON

ShortValue

ToJSON_Short.toJSON

()Value

ToJSON_().toJSON

BoolValue

ToJSON_Bool.toJSON, Value.Bool

CharValue

ToJSON_Char.toJSON

DoubleValue

ToJSON_Double.toJSON

FloatValue

ToJSON_Float.toJSON

IntStringToken

Token.ERROR

IntTokenStringString

Show_Token.showsPrec

IntValueStringString

Show_Value.showsPrec

IntValue

ToJSON_Int.toJSON

IntegerValue

ToJSON_Integer.toJSON

LongValue

ToJSON_Long.toJSON

Parser String

parseString

Parser Token

parseColon, parseComma, parseLbrace, parseLbrack, parseRbrace, parseRbrack

Parser Value

parseArray, parseBoolean, parseNull, parseNumber, parseObject, parseStruct, parseValue

Parser Bool

parseBool

Parser Double

parseDouble

Parser Float

parseFloat

Parser Int

parseInt

Parser Integer

parseInteger

Parser Long

parseLong

Token

Token.NULL, Token.COMMA, Token.FALSE, Token.BRACKR, Token.BRACER, Token.BRACKL, Token.BRACEL, Token.COLON, Token.TRUE

Value

Value.jTrue, Value.Null, Value.jFalse

Parser a → [Token] → (String | a)

runParser

Parser a → Parser [a]

parseList

Parser v → Parser (String, v)

parsePair

FromJSON b ⇒ Value → (String | b)

fromJSONEither

FromJSON b ⇒ ValueMaybe b

fromJSONMaybe

ToJSON a ⇒ Maybe a → Value

maybeToJSON

ToJSON a ⇒ String → a → Value

struct

ToJSON a ⇒ a → Value

ToJSON.toJSON

ToJSON b ⇒ String → b → (String, Value)

assoc

ToJSON α ⇒ JArray α → Value

ToJSON_JArray.toJSON

ToJSON α ⇒ Maybe α → Value

ToJSON_Maybe.toJSON

ToJSON α ⇒ [α] → Value

ToJSON_[].toJSON

MonadFail α ⇒ String → α String

FromJSON_String.parseJSON

MonadFail α ⇒ String → α Value

FromJSON_Value.parseJSON

MonadFail α ⇒ String → α Byte

FromJSON_Byte.parseJSON

MonadFail α ⇒ String → α Short

FromJSON_Short.parseJSON

MonadFail α ⇒ String → α ()

FromJSON_().parseJSON

MonadFail α ⇒ String → α Bool

FromJSON_Bool.parseJSON

MonadFail α ⇒ String → α Char

FromJSON_Char.parseJSON

MonadFail α ⇒ String → α Double

FromJSON_Double.parseJSON

MonadFail α ⇒ String → α Float

FromJSON_Float.parseJSON

MonadFail α ⇒ String → α Int

FromJSON_Int.parseJSON

MonadFail α ⇒ String → α Integer

FromJSON_Integer.parseJSON

MonadFail α ⇒ String → α Long

FromJSON_Long.parseJSON

MonadFail α ⇒ Value → α String

FromJSON_String.fromJSON

MonadFail α ⇒ Value → α Value

FromJSON_Value.fromJSON

MonadFail α ⇒ Value → α Byte

FromJSON_Byte.fromJSON

MonadFail α ⇒ Value → α Short

FromJSON_Short.fromJSON

MonadFail α ⇒ Value → α ()

FromJSON_().fromJSON

MonadFail α ⇒ Value → α Bool

FromJSON_Bool.fromJSON

MonadFail α ⇒ Value → α Char

FromJSON_Char.fromJSON

MonadFail α ⇒ Value → α Double

FromJSON_Double.fromJSON

MonadFail α ⇒ Value → α Float

FromJSON_Float.fromJSON

MonadFail α ⇒ Value → α Int

FromJSON_Int.fromJSON

MonadFail α ⇒ Value → α Integer

FromJSON_Integer.fromJSON

MonadFail α ⇒ Value → α Long

FromJSON_Long.fromJSON

(Parser a, Parser b) → Parser (a, b)

parseTuple

(FromJSON a, MonadFail m) ⇒ String → m a

FromJSON.parseJSON

(FromJSON a, MonadFail m) ⇒ Value → m a

FromJSON.fromJSON

(FromJSON b, MonadFail m) ⇒ String → [(String, Value)] → m b

field

(FromJSON α, ArrayElement α, MonadFail β) ⇒ String → β (JArray α)

FromJSON_JArray.parseJSON

(FromJSON α, ArrayElement α, MonadFail β) ⇒ Value → β (JArray α)

FromJSON_JArray.fromJSON

(FromJSON α, MonadFail m) ⇒ String → [(String, Value)] → m (Maybe α)

optional

(FromJSON α, MonadFail β) ⇒ String → β (Maybe α)

FromJSON_Maybe.parseJSON

(FromJSON α, MonadFail β) ⇒ String → β [α]

FromJSON_[].parseJSON

(FromJSON α, MonadFail β) ⇒ Value → β (Maybe α)

FromJSON_Maybe.fromJSON

(FromJSON α, MonadFail β) ⇒ Value → β [α]

FromJSON_[].fromJSON

(ToJSON β, ToJSON α) ⇒ (β, α) → Value

ToJSON_(,).toJSON

(ToJSON β, ToJSON α) ⇒ (β | α) → Value

ToJSON_Either.toJSON

(FromJSON β, FromJSON α, MonadFail γ) ⇒ String → γ (β, α)

FromJSON_(,).parseJSON

(FromJSON β, FromJSON α, MonadFail γ) ⇒ String → γ (β | α)

FromJSON_Either.parseJSON

(FromJSON β, FromJSON α, MonadFail γ) ⇒ Value → γ (β, α)

FromJSON_(,).fromJSON

(FromJSON β, FromJSON α, MonadFail γ) ⇒ Value → γ (β | α)

FromJSON_Either.fromJSON

(ToJSON β, ToJSON γ, ToJSON α) ⇒ (β, γ, α) → Value

ToJSON_(,,).toJSON

(FromJSON β, FromJSON γ, FromJSON α, MonadFail δ) ⇒ String → δ (β, γ, α)

FromJSON_(,,).parseJSON

(FromJSON β, FromJSON γ, FromJSON α, MonadFail δ) ⇒ Value → δ (β, γ, α)

FromJSON_(,,).fromJSON

(ToJSON γ, ToJSON δ, ToJSON β, ToJSON α) ⇒ (γ, δ, β, α) → Value

ToJSON_(,,,).toJSON

(FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ε) ⇒ String → ε (γ, δ, β, α)

FromJSON_(,,,).parseJSON

(FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ε) ⇒ Value → ε (γ, δ, β, α)

FromJSON_(,,,).fromJSON

(ToJSON δ, ToJSON ε, ToJSON β, ToJSON γ, ToJSON α) ⇒ (δ, ε, β, γ, α) → Value

ToJSON_(,,,,).toJSON

(FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail ζ) ⇒ String → ζ (δ, ε, β, γ, α)

FromJSON_(,,,,).parseJSON

(FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail ζ) ⇒ Value → ζ (δ, ε, β, γ, α)

FromJSON_(,,,,).fromJSON

(ToJSON δ, ToJSON ε, ToJSON γ, ToJSON ζ, ToJSON β, ToJSON α) ⇒ (δ, ε, γ, ζ, β, α) → Value

ToJSON_(,,,,,).toJSON

(FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail η) ⇒ String → η (δ, ε, γ, ζ, β, α)

FromJSON_(,,,,,).parseJSON

(FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail η) ⇒ Value → η (δ, ε, γ, ζ, β, α)

FromJSON_(,,,,,).fromJSON

(ToJSON ε, ToJSON ζ, ToJSON δ, ToJSON η, ToJSON β, ToJSON γ, ToJSON α) ⇒ (ε, ζ, δ, η, β, γ, α) → Value

ToJSON_(,,,,,,).toJSON

(FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail θ) ⇒ String → θ (ε, ζ, δ, η, β, γ, α)

FromJSON_(,,,,,,).parseJSON

(FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail θ) ⇒ Value → θ (ε, ζ, δ, η, β, γ, α)

FromJSON_(,,,,,,).fromJSON

(ToJSON ζ, ToJSON η, ToJSON ε, ToJSON θ, ToJSON γ, ToJSON δ, ToJSON β, ToJSON α) ⇒ (ζ, η, ε, θ, γ, δ, β, α) → Value

ToJSON_(,,,,,,,).toJSON

(FromJSON ζ, FromJSON η, FromJSON ε, FromJSON θ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ι) ⇒ String → ι (ζ, η, ε, θ, γ, δ, β, α)

FromJSON_(,,,,,,,).parseJSON

(FromJSON ζ, FromJSON η, FromJSON ε, FromJSON θ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ι) ⇒ Value → ι (ζ, η, ε, θ, γ, δ, β, α)

FromJSON_(,,,,,,,).fromJSON

(ToJSON η, ToJSON θ, ToJSON ζ, ToJSON ι, ToJSON δ, ToJSON ε, ToJSON β, ToJSON γ, ToJSON α) ⇒ (η, θ, ζ, ι, δ, ε, β, γ, α) → Value

ToJSON_(,,,,,,,,).toJSON

(FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ι, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail κ) ⇒ String → κ (η, θ, ζ, ι, δ, ε, β, γ, α)

FromJSON_(,,,,,,,,).parseJSON

(FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ι, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail κ) ⇒ Value → κ (η, θ, ζ, ι, δ, ε, β, γ, α)

FromJSON_(,,,,,,,,).fromJSON

(ToJSON θ, ToJSON ι, ToJSON η, ToJSON κ, ToJSON δ, ToJSON ε, ToJSON γ, ToJSON ζ, ToJSON β, ToJSON α) ⇒ (θ, ι, η, κ, δ, ε, γ, ζ, β, α) → Value

ToJSON_(,,,,,,,,,).toJSON

(FromJSON θ, FromJSON ι, FromJSON η, FromJSON κ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail λ) ⇒ String → λ (θ, ι, η, κ, δ, ε, γ, ζ, β, α)

FromJSON_(,,,,,,,,,).parseJSON

(FromJSON θ, FromJSON ι, FromJSON η, FromJSON κ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail λ) ⇒ Value → λ (θ, ι, η, κ, δ, ε, γ, ζ, β, α)

FromJSON_(,,,,,,,,,).fromJSON

(ToJSON ι, ToJSON κ, ToJSON θ, ToJSON λ, ToJSON ε, ToJSON ζ, ToJSON δ, ToJSON η, ToJSON β, ToJSON γ, ToJSON α) ⇒ (ι, κ, θ, λ, ε, ζ, δ, η, β, γ, α) → Value

ToJSON_(,,,,,,,,,,).toJSON

(FromJSON ι, FromJSON κ, FromJSON θ, FromJSON λ, FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail μ) ⇒ String → μ (ι, κ, θ, λ, ε, ζ, δ, η, β, γ, α)

FromJSON_(,,,,,,,,,,).parseJSON

(FromJSON ι, FromJSON κ, FromJSON θ, FromJSON λ, FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail μ) ⇒ Value → μ (ι, κ, θ, λ, ε, ζ, δ, η, β, γ, α)

FromJSON_(,,,,,,,,,,).fromJSON

(ToJSON ι, ToJSON κ, ToJSON θ, ToJSON λ, ToJSON ζ, ToJSON η, ToJSON ε, ToJSON μ, ToJSON γ, ToJSON δ, ToJSON β, ToJSON α) ⇒ (ι, κ, θ, λ, ζ, η, ε, μ, γ, δ, β, α) → Value

ToJSON_(,,,,,,,,,,,).toJSON

(FromJSON ι, FromJSON κ, FromJSON θ, FromJSON λ, FromJSON ζ, FromJSON η, FromJSON ε, FromJSON μ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ν) ⇒ String → ν (ι, κ, θ, λ, ζ, η, ε, μ, γ, δ, β, α)

FromJSON_(,,,,,,,,,,,).parseJSON

(FromJSON ι, FromJSON κ, FromJSON θ, FromJSON λ, FromJSON ζ, FromJSON η, FromJSON ε, FromJSON μ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ν) ⇒ Value → ν (ι, κ, θ, λ, ζ, η, ε, μ, γ, δ, β, α)

FromJSON_(,,,,,,,,,,,).fromJSON

(ToJSON κ, ToJSON λ, ToJSON ι, ToJSON μ, ToJSON η, ToJSON θ, ToJSON ζ, ToJSON ν, ToJSON δ, ToJSON ε, ToJSON β, ToJSON γ, ToJSON α) ⇒ (κ, λ, ι, μ, η, θ, ζ, ν, δ, ε, β, γ, α) → Value

ToJSON_(,,,,,,,,,,,,).toJSON

(FromJSON κ, FromJSON λ, FromJSON ι, FromJSON μ, FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ν, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail ξ) ⇒ String → ξ (κ, λ, ι, μ, η, θ, ζ, ν, δ, ε, β, γ, α)

FromJSON_(,,,,,,,,,,,,).parseJSON

(FromJSON κ, FromJSON λ, FromJSON ι, FromJSON μ, FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ν, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail ξ) ⇒ Value → ξ (κ, λ, ι, μ, η, θ, ζ, ν, δ, ε, β, γ, α)

FromJSON_(,,,,,,,,,,,,).fromJSON

(ToJSON λ, ToJSON μ, ToJSON κ, ToJSON ν, ToJSON θ, ToJSON ι, ToJSON η, ToJSON ξ, ToJSON δ, ToJSON ε, ToJSON γ, ToJSON ζ, ToJSON β, ToJSON α) ⇒ (λ, μ, κ, ν, θ, ι, η, ξ, δ, ε, γ, ζ, β, α) → Value

ToJSON_(,,,,,,,,,,,,,).toJSON

(FromJSON λ, FromJSON μ, FromJSON κ, FromJSON ν, FromJSON θ, FromJSON ι, FromJSON η, FromJSON ξ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail ο) ⇒ String → ο (λ, μ, κ, ν, θ, ι, η, ξ, δ, ε, γ, ζ, β, α)

FromJSON_(,,,,,,,,,,,,,).parseJSON

(FromJSON λ, FromJSON μ, FromJSON κ, FromJSON ν, FromJSON θ, FromJSON ι, FromJSON η, FromJSON ξ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail ο) ⇒ Value → ο (λ, μ, κ, ν, θ, ι, η, ξ, δ, ε, γ, ζ, β, α)

FromJSON_(,,,,,,,,,,,,,).fromJSON

(ToJSON μ, ToJSON ν, ToJSON λ, ToJSON ξ, ToJSON ι, ToJSON κ, ToJSON θ, ToJSON ο, ToJSON ε, ToJSON ζ, ToJSON δ, ToJSON η, ToJSON β, ToJSON γ, ToJSON α) ⇒ (μ, ν, λ, ξ, ι, κ, θ, ο, ε, ζ, δ, η, β, γ, α) → Value

ToJSON_(,,,,,,,,,,,,,,).toJSON

(FromJSON μ, FromJSON ν, FromJSON λ, FromJSON ξ, FromJSON ι, FromJSON κ, FromJSON θ, FromJSON ο, FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail π) ⇒ String → π (μ, ν, λ, ξ, ι, κ, θ, ο, ε, ζ, δ, η, β, γ, α)

FromJSON_(,,,,,,,,,,,,,,).parseJSON

(FromJSON μ, FromJSON ν, FromJSON λ, FromJSON ξ, FromJSON ι, FromJSON κ, FromJSON θ, FromJSON ο, FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail π) ⇒ Value → π (μ, ν, λ, ξ, ι, κ, θ, ο, ε, ζ, δ, η, β, γ, α)

FromJSON_(,,,,,,,,,,,,,,).fromJSON

(ToJSON ν, ToJSON ξ, ToJSON μ, ToJSON ο, ToJSON κ, ToJSON λ, ToJSON ι, ToJSON π, ToJSON ζ, ToJSON η, ToJSON ε, ToJSON θ, ToJSON γ, ToJSON δ, ToJSON β, ToJSON α) ⇒ (ν, ξ, μ, ο, κ, λ, ι, π, ζ, η, ε, θ, γ, δ, β, α) → Value

ToJSON_(,,,,,,,,,,,,,,,).toJSON

(FromJSON ν, FromJSON ξ, FromJSON μ, FromJSON ο, FromJSON κ, FromJSON λ, FromJSON ι, FromJSON π, FromJSON ζ, FromJSON η, FromJSON ε, FromJSON θ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ρ) ⇒ String → ρ (ν, ξ, μ, ο, κ, λ, ι, π, ζ, η, ε, θ, γ, δ, β, α)

FromJSON_(,,,,,,,,,,,,,,,).parseJSON

(FromJSON ν, FromJSON ξ, FromJSON μ, FromJSON ο, FromJSON κ, FromJSON λ, FromJSON ι, FromJSON π, FromJSON ζ, FromJSON η, FromJSON ε, FromJSON θ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ρ) ⇒ Value → ρ (ν, ξ, μ, ο, κ, λ, ι, π, ζ, η, ε, θ, γ, δ, β, α)

FromJSON_(,,,,,,,,,,,,,,,).fromJSON

(ToJSON ξ, ToJSON ο, ToJSON ν, ToJSON π, ToJSON λ, ToJSON μ, ToJSON κ, ToJSON ρ, ToJSON η, ToJSON θ, ToJSON ζ, ToJSON ι, ToJSON δ, ToJSON ε, ToJSON β, ToJSON γ, ToJSON α) ⇒ (ξ, ο, ν, π, λ, μ, κ, ρ, η, θ, ζ, ι, δ, ε, β, γ, α) → Value

ToJSON_(,,,,,,,,,,,,,,,,).toJSON

(FromJSON ξ, FromJSON ο, FromJSON ν, FromJSON π, FromJSON λ, FromJSON μ, FromJSON κ, FromJSON ρ, FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ι, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail ς) ⇒ String → ς (ξ, ο, ν, π, λ, μ, κ, ρ, η, θ, ζ, ι, δ, ε, β, γ, α)

FromJSON_(,,,,,,,,,,,,,,,,).parseJSON

(FromJSON ξ, FromJSON ο, FromJSON ν, FromJSON π, FromJSON λ, FromJSON μ, FromJSON κ, FromJSON ρ, FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ι, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail ς) ⇒ Value → ς (ξ, ο, ν, π, λ, μ, κ, ρ, η, θ, ζ, ι, δ, ε, β, γ, α)

FromJSON_(,,,,,,,,,,,,,,,,).fromJSON

(ToJSON ο, ToJSON π, ToJSON ξ, ToJSON ρ, ToJSON μ, ToJSON ν, ToJSON λ, ToJSON ς, ToJSON θ, ToJSON ι, ToJSON η, ToJSON κ, ToJSON δ, ToJSON ε, ToJSON γ, ToJSON ζ, ToJSON β, ToJSON α) ⇒ (ο, π, ξ, ρ, μ, ν, λ, ς, θ, ι, η, κ, δ, ε, γ, ζ, β, α) → Value

ToJSON_(,,,,,,,,,,,,,,,,,).toJSON

(FromJSON ο, FromJSON π, FromJSON ξ, FromJSON ρ, FromJSON μ, FromJSON ν, FromJSON λ, FromJSON ς, FromJSON θ, FromJSON ι, FromJSON η, FromJSON κ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail σ) ⇒ String → σ (ο, π, ξ, ρ, μ, ν, λ, ς, θ, ι, η, κ, δ, ε, γ, ζ, β, α)

FromJSON_(,,,,,,,,,,,,,,,,,).parseJSON

(FromJSON ο, FromJSON π, FromJSON ξ, FromJSON ρ, FromJSON μ, FromJSON ν, FromJSON λ, FromJSON ς, FromJSON θ, FromJSON ι, FromJSON η, FromJSON κ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail σ) ⇒ Value → σ (ο, π, ξ, ρ, μ, ν, λ, ς, θ, ι, η, κ, δ, ε, γ, ζ, β, α)

FromJSON_(,,,,,,,,,,,,,,,,,).fromJSON

(ToJSON π, ToJSON ρ, ToJSON ο, ToJSON ς, ToJSON ν, ToJSON ξ, ToJSON μ, ToJSON σ, ToJSON ι, ToJSON κ, ToJSON θ, ToJSON λ, ToJSON ε, ToJSON ζ, ToJSON δ, ToJSON η, ToJSON β, ToJSON γ, ToJSON α) ⇒ (π, ρ, ο, ς, ν, ξ, μ, σ, ι, κ, θ, λ, ε, ζ, δ, η, β, γ, α) → Value

ToJSON_(,,,,,,,,,,,,,,,,,,).toJSON

(FromJSON π, FromJSON ρ, FromJSON ο, FromJSON ς, FromJSON ν, FromJSON ξ, FromJSON μ, FromJSON σ, FromJSON ι, FromJSON κ, FromJSON θ, FromJSON λ, FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail τ) ⇒ String → τ (π, ρ, ο, ς, ν, ξ, μ, σ, ι, κ, θ, λ, ε, ζ, δ, η, β, γ, α)

FromJSON_(,,,,,,,,,,,,,,,,,,).parseJSON

(FromJSON π, FromJSON ρ, FromJSON ο, FromJSON ς, FromJSON ν, FromJSON ξ, FromJSON μ, FromJSON σ, FromJSON ι, FromJSON κ, FromJSON θ, FromJSON λ, FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail τ) ⇒ Value → τ (π, ρ, ο, ς, ν, ξ, μ, σ, ι, κ, θ, λ, ε, ζ, δ, η, β, γ, α)

FromJSON_(,,,,,,,,,,,,,,,,,,).fromJSON

(ToJSON ρ, ToJSON ς, ToJSON π, ToJSON σ, ToJSON ξ, ToJSON ο, ToJSON ν, ToJSON τ, ToJSON ι, ToJSON κ, ToJSON θ, ToJSON λ, ToJSON ζ, ToJSON η, ToJSON ε, ToJSON μ, ToJSON γ, ToJSON δ, ToJSON β, ToJSON α) ⇒ (ρ, ς, π, σ, ξ, ο, ν, τ, ι, κ, θ, λ, ζ, η, ε, μ, γ, δ, β, α) → Value

ToJSON_(,,,,,,,,,,,,,,,,,,,).toJSON

(FromJSON ρ, FromJSON ς, FromJSON π, FromJSON σ, FromJSON ξ, FromJSON ο, FromJSON ν, FromJSON τ, FromJSON ι, FromJSON κ, FromJSON θ, FromJSON λ, FromJSON ζ, FromJSON η, FromJSON ε, FromJSON μ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail υ) ⇒ String → υ (ρ, ς, π, σ, ξ, ο, ν, τ, ι, κ, θ, λ, ζ, η, ε, μ, γ, δ, β, α)

FromJSON_(,,,,,,,,,,,,,,,,,,,).parseJSON

(FromJSON ρ, FromJSON ς, FromJSON π, FromJSON σ, FromJSON ξ, FromJSON ο, FromJSON ν, FromJSON τ, FromJSON ι, FromJSON κ, FromJSON θ, FromJSON λ, FromJSON ζ, FromJSON η, FromJSON ε, FromJSON μ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail υ) ⇒ Value → υ (ρ, ς, π, σ, ξ, ο, ν, τ, ι, κ, θ, λ, ζ, η, ε, μ, γ, δ, β, α)

FromJSON_(,,,,,,,,,,,,,,,,,,,).fromJSON

(ToJSON ς, ToJSON σ, ToJSON ρ, ToJSON τ, ToJSON ο, ToJSON π, ToJSON ξ, ToJSON υ, ToJSON κ, ToJSON λ, ToJSON ι, ToJSON μ, ToJSON η, ToJSON θ, ToJSON ζ, ToJSON ν, ToJSON δ, ToJSON ε, ToJSON β, ToJSON γ, ToJSON α) ⇒ (ς, σ, ρ, τ, ο, π, ξ, υ, κ, λ, ι, μ, η, θ, ζ, ν, δ, ε, β, γ, α) → Value

ToJSON_(,,,,,,,,,,,,,,,,,,,,).toJSON

(FromJSON ς, FromJSON σ, FromJSON ρ, FromJSON τ, FromJSON ο, FromJSON π, FromJSON ξ, FromJSON υ, FromJSON κ, FromJSON λ, FromJSON ι, FromJSON μ, FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ν, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail φ) ⇒ String → φ (ς, σ, ρ, τ, ο, π, ξ, υ, κ, λ, ι, μ, η, θ, ζ, ν, δ, ε, β, γ, α)

FromJSON_(,,,,,,,,,,,,,,,,,,,,).parseJSON

(FromJSON ς, FromJSON σ, FromJSON ρ, FromJSON τ, FromJSON ο, FromJSON π, FromJSON ξ, FromJSON υ, FromJSON κ, FromJSON λ, FromJSON ι, FromJSON μ, FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ν, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail φ) ⇒ Value → φ (ς, σ, ρ, τ, ο, π, ξ, υ, κ, λ, ι, μ, η, θ, ζ, ν, δ, ε, β, γ, α)

FromJSON_(,,,,,,,,,,,,,,,,,,,,).fromJSON

(ToJSON σ, ToJSON τ, ToJSON ς, ToJSON υ, ToJSON π, ToJSON ρ, ToJSON ο, ToJSON φ, ToJSON λ, ToJSON μ, ToJSON κ, ToJSON ν, ToJSON θ, ToJSON ι, ToJSON η, ToJSON ξ, ToJSON δ, ToJSON ε, ToJSON γ, ToJSON ζ, ToJSON β, ToJSON α) ⇒ (σ, τ, ς, υ, π, ρ, ο, φ, λ, μ, κ, ν, θ, ι, η, ξ, δ, ε, γ, ζ, β, α) → Value

ToJSON_(,,,,,,,,,,,,,,,,,,,,,).toJSON

(FromJSON σ, FromJSON τ, FromJSON ς, FromJSON υ, FromJSON π, FromJSON ρ, FromJSON ο, FromJSON φ, FromJSON λ, FromJSON μ, FromJSON κ, FromJSON ν, FromJSON θ, FromJSON ι, FromJSON η, FromJSON ξ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail χ) ⇒ String → χ (σ, τ, ς, υ, π, ρ, ο, φ, λ, μ, κ, ν, θ, ι, η, ξ, δ, ε, γ, ζ, β, α)

FromJSON_(,,,,,,,,,,,,,,,,,,,,,).parseJSON

(FromJSON σ, FromJSON τ, FromJSON ς, FromJSON υ, FromJSON π, FromJSON ρ, FromJSON ο, FromJSON φ, FromJSON λ, FromJSON μ, FromJSON κ, FromJSON ν, FromJSON θ, FromJSON ι, FromJSON η, FromJSON ξ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail χ) ⇒ Value → χ (σ, τ, ς, υ, π, ρ, ο, φ, λ, μ, κ, ν, θ, ι, η, ξ, δ, ε, γ, ζ, β, α)

FromJSON_(,,,,,,,,,,,,,,,,,,,,,).fromJSON

(ToJSON τ, ToJSON υ, ToJSON σ, ToJSON φ, ToJSON ρ, ToJSON ς, ToJSON π, ToJSON χ, ToJSON μ, ToJSON ν, ToJSON λ, ToJSON ξ, ToJSON ι, ToJSON κ, ToJSON θ, ToJSON ο, ToJSON ε, ToJSON ζ, ToJSON δ, ToJSON η, ToJSON β, ToJSON γ, ToJSON α) ⇒ (τ, υ, σ, φ, ρ, ς, π, χ, μ, ν, λ, ξ, ι, κ, θ, ο, ε, ζ, δ, η, β, γ, α) → Value

ToJSON_(,,,,,,,,,,,,,,,,,,,,,,).toJSON

(FromJSON τ, FromJSON υ, FromJSON σ, FromJSON φ, FromJSON ρ, FromJSON ς, FromJSON π, FromJSON χ, FromJSON μ, FromJSON ν, FromJSON λ, FromJSON ξ, FromJSON ι, FromJSON κ, FromJSON θ, FromJSON ο, FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail ψ) ⇒ String → ψ (τ, υ, σ, φ, ρ, ς, π, χ, μ, ν, λ, ξ, ι, κ, θ, ο, ε, ζ, δ, η, β, γ, α)

FromJSON_(,,,,,,,,,,,,,,,,,,,,,,).parseJSON

(FromJSON τ, FromJSON υ, FromJSON σ, FromJSON φ, FromJSON ρ, FromJSON ς, FromJSON π, FromJSON χ, FromJSON μ, FromJSON ν, FromJSON λ, FromJSON ξ, FromJSON ι, FromJSON κ, FromJSON θ, FromJSON ο, FromJSON ε, FromJSON ζ, FromJSON δ, FromJSON η, FromJSON β, FromJSON γ, FromJSON α, MonadFail ψ) ⇒ Value → ψ (τ, υ, σ, φ, ρ, ς, π, χ, μ, ν, λ, ξ, ι, κ, θ, ο, ε, ζ, δ, η, β, γ, α)

FromJSON_(,,,,,,,,,,,,,,,,,,,,,,).fromJSON

(ToJSON τ, ToJSON υ, ToJSON σ, ToJSON φ, ToJSON ρ, ToJSON ς, ToJSON π, ToJSON χ, ToJSON ν, ToJSON ξ, ToJSON μ, ToJSON ο, ToJSON κ, ToJSON λ, ToJSON ι, ToJSON ψ, ToJSON ζ, ToJSON η, ToJSON ε, ToJSON θ, ToJSON γ, ToJSON δ, ToJSON β, ToJSON α) ⇒ (τ, υ, σ, φ, ρ, ς, π, χ, ν, ξ, μ, ο, κ, λ, ι, ψ, ζ, η, ε, θ, γ, δ, β, α) → Value

ToJSON_(,,,,,,,,,,,,,,,,,,,,,,,).toJSON

(FromJSON τ, FromJSON υ, FromJSON σ, FromJSON φ, FromJSON ρ, FromJSON ς, FromJSON π, FromJSON χ, FromJSON ν, FromJSON ξ, FromJSON μ, FromJSON ο, FromJSON κ, FromJSON λ, FromJSON ι, FromJSON ψ, FromJSON ζ, FromJSON η, FromJSON ε, FromJSON θ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ω) ⇒ String → ω (τ, υ, σ, φ, ρ, ς, π, χ, ν, ξ, μ, ο, κ, λ, ι, ψ, ζ, η, ε, θ, γ, δ, β, α)

FromJSON_(,,,,,,,,,,,,,,,,,,,,,,,).parseJSON

(FromJSON τ, FromJSON υ, FromJSON σ, FromJSON φ, FromJSON ρ, FromJSON ς, FromJSON π, FromJSON χ, FromJSON ν, FromJSON ξ, FromJSON μ, FromJSON ο, FromJSON κ, FromJSON λ, FromJSON ι, FromJSON ψ, FromJSON ζ, FromJSON η, FromJSON ε, FromJSON θ, FromJSON γ, FromJSON δ, FromJSON β, FromJSON α, MonadFail ω) ⇒ Value → ω (τ, υ, σ, φ, ρ, ς, π, χ, ν, ξ, μ, ο, κ, λ, ι, ψ, ζ, η, ε, θ, γ, δ, β, α)

FromJSON_(,,,,,,,,,,,,,,,,,,,,,,,).fromJSON

(ToJSON υ, ToJSON φ, ToJSON τ, ToJSON χ, ToJSON ς, ToJSON σ, ToJSON ρ, ToJSON ψ, ToJSON ξ, ToJSON ο, ToJSON ν, ToJSON π, ToJSON λ, ToJSON μ, ToJSON κ, ToJSON ω, ToJSON η, ToJSON θ, ToJSON ζ, ToJSON ι, ToJSON δ, ToJSON ε, ToJSON β, ToJSON γ, ToJSON α) ⇒ (υ, φ, τ, χ, ς, σ, ρ, ψ, ξ, ο, ν, π, λ, μ, κ, ω, η, θ, ζ, ι, δ, ε, β, γ, α) → Value

ToJSON_(,,,,,,,,,,,,,,,,,,,,,,,,).toJSON

(FromJSON υ, FromJSON φ, FromJSON τ, FromJSON χ, FromJSON ς, FromJSON σ, FromJSON ρ, FromJSON ψ, FromJSON ξ, FromJSON ο, FromJSON ν, FromJSON π, FromJSON λ, FromJSON μ, FromJSON κ, FromJSON ω, FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ι, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail αα) ⇒ String → αα (υ, φ, τ, χ, ς, σ, ρ, ψ, ξ, ο, ν, π, λ, μ, κ, ω, η, θ, ζ, ι, δ, ε, β, γ, α)

FromJSON_(,,,,,,,,,,,,,,,,,,,,,,,,).parseJSON

(FromJSON υ, FromJSON φ, FromJSON τ, FromJSON χ, FromJSON ς, FromJSON σ, FromJSON ρ, FromJSON ψ, FromJSON ξ, FromJSON ο, FromJSON ν, FromJSON π, FromJSON λ, FromJSON μ, FromJSON κ, FromJSON ω, FromJSON η, FromJSON θ, FromJSON ζ, FromJSON ι, FromJSON δ, FromJSON ε, FromJSON β, FromJSON γ, FromJSON α, MonadFail αα) ⇒ Value → αα (υ, φ, τ, χ, ς, σ, ρ, ψ, ξ, ο, ν, π, λ, μ, κ, ω, η, θ, ζ, ι, δ, ε, β, γ, α)

FromJSON_(,,,,,,,,,,,,,,,,,,,,,,,,).fromJSON

(ToJSON φ, ToJSON χ, ToJSON υ, ToJSON ψ, ToJSON σ, ToJSON τ, ToJSON ς, ToJSON ω, ToJSON ο, ToJSON π, ToJSON ξ, ToJSON ρ, ToJSON μ, ToJSON ν, ToJSON λ, ToJSON αα, ToJSON θ, ToJSON ι, ToJSON η, ToJSON κ, ToJSON δ, ToJSON ε, ToJSON γ, ToJSON ζ, ToJSON β, ToJSON α) ⇒ (φ, χ, υ, ψ, σ, τ, ς, ω, ο, π, ξ, ρ, μ, ν, λ, αα, θ, ι, η, κ, δ, ε, γ, ζ, β, α) → Value

ToJSON_(,,,,,,,,,,,,,,,,,,,,,,,,,).toJSON

(FromJSON φ, FromJSON χ, FromJSON υ, FromJSON ψ, FromJSON σ, FromJSON τ, FromJSON ς, FromJSON ω, FromJSON ο, FromJSON π, FromJSON ξ, FromJSON ρ, FromJSON μ, FromJSON ν, FromJSON λ, FromJSON αα, FromJSON θ, FromJSON ι, FromJSON η, FromJSON κ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail αβ) ⇒ String → αβ (φ, χ, υ, ψ, σ, τ, ς, ω, ο, π, ξ, ρ, μ, ν, λ, αα, θ, ι, η, κ, δ, ε, γ, ζ, β, α)

FromJSON_(,,,,,,,,,,,,,,,,,,,,,,,,,).parseJSON

(FromJSON φ, FromJSON χ, FromJSON υ, FromJSON ψ, FromJSON σ, FromJSON τ, FromJSON ς, FromJSON ω, FromJSON ο, FromJSON π, FromJSON ξ, FromJSON ρ, FromJSON μ, FromJSON ν, FromJSON λ, FromJSON αα, FromJSON θ, FromJSON ι, FromJSON η, FromJSON κ, FromJSON δ, FromJSON ε, FromJSON γ, FromJSON ζ, FromJSON β, FromJSON α, MonadFail αβ) ⇒ Value → αβ (φ, χ, υ, ψ, σ, τ, ς, ω, ο, π, ξ, ρ, μ, ν, λ, αα, θ, ι, η, κ, δ, ε, γ, ζ, β, α)

FromJSON_(,,,,,,,,,,,,,,,,,,,,,,,,,).fromJSON

Valid HTML 4.01 Strict