MissingH- Large utility library

MaintainerJohn Goerzen <jgoerzen@complete.org>
Safe HaskellNone



General support for e-mail mailboxes

Written by John Goerzen, jgoerzen@complete.org



data Flag Source

The flags which may be assigned to a message.


type Flags = [Flag]Source

Convenience shortcut

type Message = StringSource

A Message is represented as a simple String.

class (Show a, Show b, Eq b) => MailboxReader a b whereSource

Main class for readable mailboxes.

The mailbox object a represents zero or more Messages. Each message has a unique identifier b in a format specific to each given mailbox. This identifier may or may not be persistent.

Functions which return a list are encouraged -- but not guaranteed -- to do so lazily.

Implementing classes must provide, at minimum, getAll.


listIDs :: a -> IO [b]Source

Returns a list of all unique identifiers.

listMessageFlags :: a -> IO [(b, Flags)]Source

Returns a list of all unique identifiers as well as all flags.

getAll :: a -> IO [(b, Flags, Message)]Source

Returns a list of all messages, including their content, flags, and unique identifiers.

getMessages :: a -> [b] -> IO [(b, Flags, Message)]Source

Returns information about specific messages.

class MailboxReader a b => MailboxWriter a b whereSource


appendMessages :: a -> [(Flags, Message)] -> IO [b]Source

deleteMessages :: a -> [b] -> IO ()Source

addFlags :: a -> [b] -> Flags -> IO ()Source

removeFlags :: a -> [b] -> Flags -> IO ()Source

setFlags :: a -> [b] -> Flags -> IO ()Source