úÎEV@•!      #Extract a field as a value of type a. If the field does not # exist or cannot be parsed as type a, fail. !4 when the field is defined and is true. Otherwise, ". BA computation that interacts with a CouchDB database. This monad  encapsulates the #, monad, a persistent HTTP connnection to a C CouchDB database and enough information to re-open the connection  if it is closed. $%<Describes a connection to a CouchDB database. This type is  encapsulated by . &'()*+path ,-.DSend a request to the database. If the connection is closed, it is C reopened and the request is resent. On other errors, we raise an  exception. path of the request dictionary of GET parameters body of the request  hostname port 2Connects to the CouchDB server at localhost:5984. /0123456789:;<=>.. ?@AECreates a new database. Throws an exception if the database already  exists. B%False if the database does not exist Cdatabase name document name document body Returns D on a conflict. Returns E with the  revision number on success. F database document and revision  new value GHDelete a doc by document identifier (revision number not needed). This N operation first retreives the document to get its revision number. It fails  if the document doesn' t exist or there is a conflict.  database document identifier H database document and revision Idatabase name document body id and rev of new document Jdatabase name document name K if the  doc does not exist L?Gets a document as a raw JSON value. Returns the document id,  revision and value as a MN$. These fields are queried lazily, B and may fail later if the response from the server is malformed. database name document name K! if the document does not exist. O database document name update function If the update succeeds,  return the revision number  of the result. PQdatabase name RSdatabase name view set name views TU database design view query parameters : |Returns a list of rows. Each row is a key, value pair. VLike U4, but only returns the keys. Use this for key-only . views where the value is completely ignored.  database design view query parameters W ABCFGHIJLOQSUV  ABCFGHIJLOQSUV Document name XY Document revision number. Z[Database name \?Returns a safe database name. Signals an error if the name is  invalid. ?Returns a safe document name. Signals an error if the name is  invalid. ECreates a new database. Throws an exception if the database already  exists. %False if the database does not exist database name document name document body Returns D on a conflict.  database document and revision  new value HDelete a doc by document identifier (revision number not needed). This N operation first retreives the document to get its revision number. It fails  if the document doesn' t exist or there is a conflict.  database document identifier  database database name document body id and rev of new document database name document name K if the  doc does not exist ?Gets a document as a raw JSON value. Returns the document id,  revision and value as a MN$. These fields are queried lazily, B and may fail later if the response from the server is malformed. database name document name K! if the document does not exist.  database document name update function If the update succeeds,  return the revision number  of the result. database name database name view set name views  database design view query parameters : |Returns a list of rows. Each row is a key, value pair. Like 4, but only returns the keys. Use this for key-only . views where the value is completely ignored.  database design view query parameters        ]      !"#$%&'(&')&*+ ,,-./0123456756856956:56;56<56=56>56?56@56A56B56C56D56E56EFGHIJHIKHLM NOPNOP!Q"R#S$%TUVWCouchDB-0.8.1.2Database.CouchDB.JSONDatabase.CouchDBDatabase.CouchDB.HTTPDatabase.CouchDB.Unsafe jsonStringjsonInt jsonObjectjsonBool jsonField jsonIsTrue CouchMonad runCouchDB runCouchDB' CouchView ViewMapReduceViewMapDocRevDB isDBStringdbdoc isDocStringcreateDBdropDB newNamedDoc updateDocforceDeleteDoc deleteDocnewDocgetDoc getDocPrimgetAndUpdateDoc getAllDocIdsnewView queryView queryViewKeysghc-primGHC.BoolTrueFalse GHC.TypesIO CouchConnccConnccURI ccHostnameccPortmakeURLgetConnreopenConnectionrequest HTTP-4000.0.9Network.HTTP.BaseHEADPUTGETPOSTDELETEOPTIONSTRACECONNECTCustom RequestMethodrspBody rspHeaders rspReasonrspCodeResponseassertJSObject couchResponsebase Data.EitherLeftRight Data.MaybeNothing json-0.4.4Text.JSON.TypesJSObject allDocRowcouchViewToJSONtoRowrowKeyunDocunRev