h&.(w      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu Safe-Inferrednotmuch$The maximum tag length. Defined as NOTMUCH_TAG_MAX in  notmuch.h.notmuchThe version of  libnotmuch that  hs-notmuch was built against. (The program could be running against a different version.) Safe-InferredynotmuchMessage tag. Use  to construct a tag. Or use -XOverloadedStrings, but beware that the IsString instance is non-total.2This data type avoid copying when passing tags to  libnotmuch9. But copies do occur when reading tags from a database.A previous experiment with interning showed no benefit. Tags are typically very short so the overhead erodes any advantage.notmuchO(1)notmuchO(n) Just a tag, or Nothing if the string is too long in this scenario. This is particularly confusing when the  Message-Id of the given file is known, but the the file itself is unknown.notmuch'Strictly read a C iterator into a list.notmuch%Lazily read a C iterator into a list.notmuchIterator predicate functionnotmuchIterator get functionnotmuchIterator next functionnotmuch Item mappernotmuchIteratornotmuchDatabasenotmuchFilenamenotmuchDatabasenotmuch7Inspect received pointer and lift it into a Traversablenotmuch,Wrap pointer, including attaching finalizersnotmuch"C double-pointer-style constructornotmuch*Which statuses are considered a "success"?notmuch7Inspect received pointer and lift it into a Traversablenotmuch,Wrap pointer, including attaching finalizersnotmuch"C double-pointer-style constructor 210/.-,+*)('&%$#"! 34|}~567 Safe-Inferred:<8notmuchSearch expression. Use I$ if you want to use a query string as-is (see also notmuch-search-terms(7)).Use  to stringify a  SearchTerm.notmuchStringify a query expression.8IFDCBA?=<;:9>@GEH Safe-Inferred0:<''JnotmuchAuthors belonging to messages in a query result of a thread ordered by date.notmuchauthors matching the querynotmuchnon-matched authorsKnotmuchAuthor of a message.LnotmuchObjects with an associated 3NnotmuchObjects with associated threadsPnotmuch!Objects with associated messages.RnotmuchObjects with tagsTnotmuchOpen a database. The database will be closed and associated resources freed upon garbage collection.The mode is determined by usage. Because read-only functions also work on read-write databases, U# is also provided for convenience.Unotmuch5Convenience function for opening a database read-onlyVnotmuch.Database format version of the given database.Wnotmuch.Look for a particular message in the database.Xnotmuch0Query the database. To retrieve results from a Query, use O or Q.Ynotmuch.Count the number of messages matching a query.1Complexity: same as the underlying Xapian search@Znotmuch-Count the number of threads matching a query.(n) in the number of messages![notmuchGet the message ID.\notmuch"Get the date the message was sent.]notmuchGet the named header as a UTF-8 encoded string. Empty string if header is missing or Nothing on error.May open a file descriptor that will not be closed until the message gets garbage collected.^notmuch Get the filename of the message._notmuchFreeze the message, run the given computation and return the result. The message is always thawed at the end.Have to start with  Message 0 RW due to GHC type system limitation (type-level Nat is not inductive).`notmuch"Set tags for the message. Atomic.anotmuchAdd the tag to a message. If adding/removing multiple tags, use `/ to set the whole tag list atomically, or use _9 to avoid inconsistent states when adding/removing tags.bnotmuchRemove the tag from a message. If adding/removing multiple tags, use `/ to set the whole tag list atomically, or use _9 to avoid inconsistent states when adding/removing tags.cnotmuchReturns only messages in a thread which are not replies to other messages in the thread.dnotmuchO(1)! Date of the newest message in a 8.enotmuchReturns the subject of the first message in the query results that belongs to this thread.fnotmuch#Lens to matched authors. See also h.gnotmuch%Lens to unmatched authors. See also h.hnotmuch2Return authors of a thread. These are split into:7Authors of messages matching the query (accessible via f).1Authors of non-matching messages (accessible via g).inotmuchO(1)! count of messages in the thread.jnotmuch Get the tags of a single messageknotmuchGet all tags used in a threadlnotmuch!Get all tags used in the databasemnotmuchRetrieve the replies to a nnotmuchRetrieve the messages in a 8onotmuch!Retrieve all messages matching a pnotmuch Retrieve the threads matching a qnotmuchGet the 3 of a rnotmuchGet the 3 of a 8  !"#$%&'()*+,-./012345678HEG@>9:;<=?ABCDFIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghiTU5V XYZ8HEG@>9:;<=?ABCDFILMcdehi3NOJKfgWPQ4[\]`ab_^67 RS !"#$%&'()*+,-./012      !"#$%&'()*+,-./0123456789:;<=>?@ABCDE FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~notmuch-0.3.1-inplaceNotmuch Notmuch.UtilNotmuch.Binding.Constants Notmuch.TagNotmuch.TallocNotmuch.BindingNotmuch.Search tagMaxLenlibnotmuchVersionTaggetTagmkTagLens'Prism'PrismreviewbracketT RemoveResultMessageRemovedMessagePersistsModeQueryThreadMessageDatabaseRWROAsNotmuchError _NotmuchError DatabaseModeDatabaseModeReadOnlyDatabaseModeReadWriteStatus StatusSuccessStatusOutOfMemoryStatusReadOnlyDatabaseStatusXapianExceptionStatusFileErrorStatusFileNotEmailStatusDuplicateMessageIdStatusNullPointerStatusTagTooLongStatusUnbalancedFreezeThawStatusUnbalancedAtomicStatusUnsupportedOperationStatusUpgradeRequiredStatusPathError StatusIgnoredStatusIllegalArgumentStatusMalformedCryptoProtocol!StatusFailedCryptoContextCreationStatusUnknownCryptoProtocolStatusNoConfigStatusNoDatabaseStatusDatabaseExistsStatusBadQuerySyntaxStatusNoMailRootStatusLastStatusThreadId MessageId databasePath indexFile removeFile SearchTermFreeFormFromToSubject AttachmentIdFolderPathDateAsteriskAndOrXorNotBare ThreadAuthorsAuthor HasThreadthreadId HasThreadsthreads HasMessagesmessagesHasTagstags databaseOpendatabaseOpenReadOnlydatabaseVersion findMessagequeryqueryCountMessagesqueryCountThreads messageId messageDate messageHeadermessageFilenamewithFrozenMessagemessageSetTags messageAddTagmessageRemoveTagthreadToplevelMessagesthreadNewestDate threadSubjectmatchedAuthorsunmatchedAuthors threadAuthorsthreadTotalMessages$fHasTagsMessage$fHasTagsThread$fHasTagsDatabase$fHasMessagesMessage$fHasMessagesThread$fHasMessagesQuery$fHasThreadsQuery$fHasThreadMessage$fHasThreadThread$fShowThreadAuthors$fGenericThreadAuthors$fNFDataThreadAuthorstagUseAsCStringtagFromCString $fIsStringTag_talloc_steal_loc detachPtrbaseControl.Exception.Basebracketstatusstatus' database_open ptrToList lazyPtrToList PtrToList!database_find_message_by_filenamedatabase_find_message_x constructF constructF'upgradegetMode Filenames DirectoryTags MessageHandleMessages ThreadHandleThreads QueryHandleDatabaseHandle MessageFlagMessageFlagGhostMessageFlagExcludedMessageFlagMatchSort SortUnsorted SortMessageIdSortNewestFirstSortOldestFirstnotmuch_messages_move_to_nextnotmuch_messages_getnotmuch_messages_validnotmuch_threads_move_to_nextnotmuch_threads_getnotmuch_threads_validnotmuch_tags_move_to_nextnotmuch_tags_getnotmuch_tags_validnotmuch_message_thawnotmuch_message_freezenotmuch_message_remove_tagnotmuch_message_add_tagnotmuch_message_remove_all_tagsnotmuch_message_get_tagsnotmuch_message_get_headernotmuch_message_get_datenotmuch_message_set_flagnotmuch_message_get_flagnotmuch_message_get_filenamenotmuch_message_get_repliesnotmuch_message_get_thread_idnotmuch_message_get_message_idnotmuch_thread_get_tagsnotmuch_thread_get_newest_datenotmuch_thread_get_subjectnotmuch_thread_get_authorsnotmuch_thread_get_messages$notmuch_thread_get_toplevel_messages!notmuch_thread_get_total_messagesnotmuch_thread_get_thread_idnotmuch_query_count_threadsnotmuch_query_count_messagesnotmuch_query_search_messagesnotmuch_query_search_threadsnotmuch_query_add_tag_excludenotmuch_query_get_sortnotmuch_query_set_sortnotmuch_query_get_query_stringnotmuch_query_createnotmuch_database_get_all_tags)notmuch_database_find_message_by_filenamenotmuch_database_find_messagenotmuch_database_remove_messagenotmuch_database_index_filenotmuch_database_get_versionnotmuch_database_get_pathnotmuch_database_opennotmuch_database_upgradenotmuch_status_to_stringnotmuch_message_destroynotmuch_thread_destroynotmuch_query_destroynotmuch_database_destroywithDatabaseHandlewithQueryHandlewithThreadHandlewithMessageHandle withDirectory withFilenamesthrowOr withDatabase withMessage withThread withQuery fromEnum'toStatusdatabase_get_pathdatabase_get_versiondatabase_find_messagedatabase_get_all_tags query_createquery_get_query_stringquery_set_sortquery_get_sortquery_add_tag_excludequery_search_threadsquery_search_messages query_count_xquery_count_messagesquery_count_threadsthread_get_thread_idthread_get_total_messagesthread_get_toplevel_messagesthread_get_messagesthread_get_authorsthread_get_subjectthread_get_newest_datethread_get_tagsmessage_get_message_idmessage_get_thread_idmessage_get_repliesmessage_get_filenamemessage_get_flagmessage_set_flagmessage_get_datemessage_get_headermessage_get_tagsmessage_remove_all_tagsmessage_add_tagmessage_remove_tagmessage_freeze message_thaw enumToCInt ptrToListIO tagsToList threadsToListmessagesToListGHC.Showshow$fShowSearchTerm_matchedAuthors_unmatchedAuthors