!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ 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 [ \ ] ^ _ ` 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 { | } ~                                                                                                                                      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisional Safe-Inferred23if not present, the title is. (per spec, at least.)Frfc 822 conforming.Grfc 822 conforming.SRFC 822 conforming.f  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[ channel title channel link\rssTitlerssLink]title^ source URLtitle_ enclosure URLenclosure lengthenclosure type`category Valuea guid valueb guid valuecimageURL imageTitle imageLinkde inputTitle inputName inputLinkf  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefUVWXYZTS<=>?@ABCDEFGHIJKLMNOPQR./0123456789:;)*+,-#$%&'( !" [\]^_`abcde  !"#$%&'()*+,-. /0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisional Safe-Inferredfghijklmnopqrstuvfghijklmnopqrstuvfghijklmnopqrstuvfghijklmnopqrstuv<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisional Safe-InferredwUThe Dublin Core Metadata Element Set, all 15 of them (plus an extension constructor.)x%Other; data type extension mechanism.y7Information about rights held in and over the resource.z3The extent or scope of the content of the resource.{"A reference to a related resource.|7A language of the intellectual content of the resource.}EA Reference to a resource from which the present resource is derived.~@An unambiguous reference to the resource within a given context.6The physical or digital manifestation of the resource.3The nature or genre of the content of the resource.NA date associated with an event in the life cycle of the resource (YYYY-MM-DD)NAn entity responsible for making contributions to the content of the resource.7An entity responsible for making the resource available*An account of the content of the resource.)The topic of the content of the resource.GAn entity primarily responsible for making the content of the resource.A name given to the resource.:A DCItem pairs a specific element with its (string) value.wxyz{|}~wxyz{|}~w~}|{zyxw~}|{zyx<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-InferredYYY  <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-Inferred<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-Inferred<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisional Safe-Inferred                    <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-Inferred      <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-Inferred!Atom feeds uses typed IRI links to represent information / metadata that is of interest to the consumers (software, in the main) of feeds. For instance, the edit link relation attached to an atom:entry element points to the IRI to use to update/edit it.zThe Atom standard encourages that such typed links to be registered with IANA if they have wider applicability, and the ! data type encodes the currently registered link types (derived from: http://www.iana.org/assignments/link-relations.html on 2007-10-28]!"#$%&'()*+,-./012345!"#$%&'()*+,-./012345!3210/.-,+*)('&%$#"45!3210/.-,+*)('&%$#"45 <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-Inferredkthe tag/term of the category.l7optional URL for identifying the categorization scheme.m$human-readable label of the categoryn$unknown elements, for extensibility.n6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~catTermfeedId feedTitle feedUpdatedentryId entryTitle entryUpdatedgenTextlinkHrefn6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~nuvwxyz{|}~otsrqpijklmndefghZ[\]^_`abcVYXWHIJKLMNOPQRSTUBCDEFG:;<=>?@A67896789:;<=>?@ABCDEFGH IJKLMNOPQRSTUVYXWZ [\]^_`abcdefghijklmnotsrqpuvwxyz{|}~ <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisional : portable Safe-Inferred%%%% A(c) Galois, Inc. 2007-2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisional : portable Safe-Inferred <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-Inferred<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-Inferred                    <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisional : portable Safe-Inferred     <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-Inferred!&The kinds of feed documents supported.%*The abstract type of feed items. Like the *Z type, the representation of a value is as one of the different RSS item/entry variants.*The abstract type of feed documents. The internal representation is as whatever feed variant type the document was either imported or has now been translated to.!"#$%&'()*+,-.!"#$%&'()*+,-.*.-,+%)('&!$#"!$#"%)('&*.-,+<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisional Safe-Inferred1AConstruct an empty feed document, intending to output it in the fk feed format.==> sets the URL where an HTML version of the feed is published.>=> sets the URL where an HTML version of the feed is published.A('withFeedDate dt' is the composition of ? and @9, setting both publication date and last update date to dtM. Notice that RSS2.0 is the only format supporting both pub and last-update.I?'withItemPubDate dt' associates the creation/ publication date dt with a feed item.JJ is a synonym for I.K0'withItemTitle myTitle' associates a new title, myTitle, with a feed item.LD'withItemAuthor auStr' associates new author info with a feed item.M>'withItemFeedLink name myFeed' associates the parent feed URL myFeed& with a feed item. It is labelled as name.NH'withItemCommentLink url' sets the URL reference to the comment page to url.OO'withItemEnclosure url mbTy len' sets the URL reference to the comment page to url.PM'withItemId isURL id' associates new unique identifier with a feed item. If isURL is :, then the id is assumed to point to a valid web resource.Q_'withItemDescription desc' associates a new descriptive string (aka summary) with a feed item.R<'withItemRights rightStr' associates the rights information rightStr with a feed item.S-'withItemTitle myLink' associates a new URL, myLink, with a feed item.)/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST*!"#$/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST*!$#"12345607;<=>?@ABCDE89:FGH/KSIJLNOMPTQR)/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisional Safe-InferredU'xmlFeed f' serializes a Feed2 document into a conforming XML toplevel element.UUUU<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisional Safe-InferredV<'parseFeedFromFile fp' reads in the contents of the file at fp!; the assumed encoding is UTF-8./'parseFeedWithParser tries to parse the string strR as one of the feed formats. First as Atom, then RSS2 before giving RSS1 a try. Nothing= is, rather unhelpfully, returned as an indication of error.W0'parseFeedString str' tries to parse the string strR as one of the feed formats. First as Atom, then RSS2 before giving RSS1 a try. Nothing= is, rather unhelpfully, returned as an indication of error.XW'readRSS2 elt' tries to derive an RSS2.x, RSS-0.9x feed document from the XML element e.YM'readRSS1 elt' tries to derive an RSS1.0 feed document from the XML element e.ZK'readAtom elt' tries to derive an Atom feed document from the XML element e.VWXYZVWXYZVWXYZVWXYZ<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-Inferred[ toFeedDateG translates a calendar time into the format expected by the feed kind.[[[[<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-Inferredn'getItemPublishDate item' returns the publication date of the item, but first parsed per the supported RFC 822 and RFC 3339 formats.If the date string cannot be parsed as such, Just Nothing is returned. The caller must then instead fall back to processing the date string from o.GThe parsed date representation is one of the ParseTime instances; see .q:'getItemAuthor f' returns the optional author of the item. \]^_`abcdefghijklmnopqrstuvwxy\]^_`abcdefghijklmnopqrstuvwxy^]a`bcdefghijk_\lmnopqrstuvwxy \]^_`abcdefghijklmnopqrstuvwxy<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-Inferredz{|}z{|}}z{|z{|} Safe-Inferred ~~~ ~ !!"#$%&'(()*+,-./0012344567889:;<==>?@AABCDEFGHIJKLMNNOPQRSTUVWXYZ[\]^_`abcdeffghijklmnopqrstuvwxyz{|}~lsmw   w        ! " # $ % & ' ( ) * + , - . / 0 1 1 2 3 4 4 5 6 7 8 9 : ; ; < = > ? @ @ A B C D E F G H I J K L M N O  P P Q R S T U V W X Y Y Z [ \ ] ] ^ _ ` a b c d e f M g g h i j k l m n o p q r s t u v w   x y z { | } ~            p    n                   }  {                                                             A      !"#$%&'() *+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWvyXYZ[\]^_`abczdefghijklmnopqrstuvwxyz{|}~ feed-0.3.9.6Text.RSS.SyntaxText.RSS.ExportText.DublinCore.TypesText.RSS1.SyntaxText.RSS1.UtilsText.RSS1.ExportText.RSS.ImportText.RSS1.ImportText.Atom.Feed.LinkText.Atom.FeedText.Atom.Feed.ExportText.Atom.Feed.ImportText.Atom.Feed.Validate Text.Atom.PubText.Atom.Pub.ExportText.Feed.TypesText.Feed.ConstructorText.Feed.ExportText.Feed.ImportText.Feed.UtilText.Feed.QueryText.Feed.Translate Paths_feed Data.TimeFormat RSSTextInputrssTextInputTitlerssTextInputDescrssTextInputNamerssTextInputLinkrssTextInputAttrsrssTextInputOtherRSSCloudrssCloudDomain rssCloudPort rssCloudPathrssCloudRegisterProcedurerssCloudProtocol rssCloudAttrsRSSImage rssImageURL rssImageTitle rssImageLink rssImageWidthrssImageHeight rssImageDesc rssImageOtherRSSGuidrssGuidPermanentURL rssGuidAttrs rssGuidValue RSSCategoryrssCategoryDomainrssCategoryAttrsrssCategoryValue RSSEnclosurerssEnclosureURLrssEnclosureLengthrssEnclosureTyperssEnclosureAttrs RSSSource rssSourceURLrssSourceAttrsrssSourceTitleRSSItem rssItemTitle rssItemLinkrssItemDescription rssItemAuthorrssItemCategoriesrssItemCommentsrssItemEnclosure rssItemGuidrssItemPubDate rssItemSource rssItemAttrs rssItemOther RSSChannelrssTitlerssLinkrssDescriptionrssItems rssLanguage rssCopyright rssEditor rssWebMaster rssPubDate rssLastUpdate rssCategories rssGeneratorrssDocsrssCloudrssTTLrssImage rssRating rssTextInput rssSkipHours rssSkipDaysrssChannelOther DateString URLStringRSS rssVersionrssAttrs rssChannelrssOthernullRSS nullChannelnullItem nullSource nullEnclosure newCategorynullGuid nullPermaGuid nullImage nullCloud nullTextInputqualNodequalNamexmlRSS xmlChannelxmlItem xmlSource xmlEnclosure xmlCategoryxmlGuidxmlImagexmlCloud xmlTextInput xmlSkipHours xmlSkipDaysxmlAttrxmlLeafmbDCInfoDC_Other DC_Rights DC_Coverage DC_Relation DC_Language DC_Source DC_Identifier DC_FormatDC_TypeDC_DateDC_Contributor DC_PublisherDC_Description DC_Subject DC_CreatorDC_TitleDCItemdcEltdcText infoToTagdc_element_names ContentInfo contentURI contentFormatcontentEncoding contentValue UpdatePeriod Update_YearlyUpdate_Monthly Update_Weekly Update_Daily Update_Hourly TaxonomyTopic taxonomyURI taxonomyLink taxonomyTitle taxonomyDesctaxonomyTopics taxonomyDC taxonomyOther TextInputInfo textInputURItextInputTitle textInputDesc textInputName textInputLink textInputDCtextInputOthertextInputAttrsItemitemURI itemTitleitemLinkitemDescitemDC itemTopics itemContent itemOther itemAttrsImageimageURI imageTitleimageURL imageLinkimageDC imageOther imageAttrsChannel channelURI channelTitle channelLink channelDescchannelImageURIchannelItemURIschannelTextInputURI channelDCchannelUpdatePeriodchannelUpdateFreqchannelUpdateBasechannelContent channelTopics channelOther channelAttrsFeed feedVersion feedChannel feedImage feedItems feedTextInput feedTopics feedOther feedAttrs TextString TimeString TitleString URIStringnullFeednullTextInputInfonullTaxonomyTopicnullContentInfopQNodespNodepQNodepLeafpQLeafpAttrpManychildrenrss10NS rssPrefixrdfNS rdfPrefixsynNS synPrefixtaxNS taxPrefixconNS conPrefixdcNSdcPrefixrdfNamerssNamesynNameknown_rss_eltsknown_syn_elts known_dc_eltsknown_tax_eltsknown_con_eltsremoveKnownEltsremoveKnownAttrsxmlFeedpNodesdcName elementToRSSelementToChannelelementToImageelementToCategoryelementToCloud elementToItemelementToSourceelementToEnclosure elementToGuidelementToTextInputelementToSkipHourselementToSkipDaysreadIntreadBool elementToFeed LinkRelation LinkOtherLinkViaLinkSelf LinkReplies LinkRelated LinkPreviousLinkPrevArchive LinkPaymentLinkNextArchiveLinkNext LinkLicenseLinkLast LinkFirst LinkEditMediaLinkEdit LinkEnclosure LinkCurrent LinkAlternateshowLinkRelation showLinkAttr InReplyTotal replyToTotalreplyToTotalOther InReplyTo replyToRef replyToHRef replyToType replyToSource replyToOtherreplyToContentPerson personName personURI personEmail personOtherSource sourceAuthorssourceCategoriessourceGenerator sourceIconsourceId sourceLinks sourceLogo sourceRightssourceSubtitle sourceTitle sourceUpdated sourceOther TextContent XHTMLString HTMLStringLinklinkHreflinkRellinkType linkHrefLang linkTitle linkLength linkAttrs linkOther GeneratorgenURI genVersiongenTextCategorycatTerm catSchemecatLabelcatOther EntryContentExternalContent MixedContent XHTMLContent HTMLContentEntryentryId entryTitle entryUpdated entryAuthorsentryCategories entryContententryContributor entryLinksentryPublished entryRights entrySource entrySummaryentryInReplyToentryInReplyTotal entryAttrs entryOtherfeedId feedTitle feedUpdated feedAuthorsfeedCategoriesfeedContributors feedGeneratorfeedIcon feedLinksfeedLogo feedRights feedSubtitle feedEntries MediaTypeDateNCNameURI txtToString nullEntry nullGeneratornullLink nullPerson atom_prefixatom_thr_prefixatomNS atomThreadNS xmlns_atomxmlns_atom_threadatomNameatomAttratomNodeatomLeafatomThreadNameatomThreadAttratomThreadNodeatomThreadLeafxmlEntry xmlContentxmlLink xmlGenerator xmlAuthorxmlContributor xmlPerson xmlInReplyToxmlInReplyTotalxmlIdxmlIconxmlLogo xmlUpdated xmlPublished xmlRightsxmlTitle xmlSubtitle xmlSummaryxmlTextContentpAttrspQAttr elementFeed pTextContentpPerson pCategory pGeneratorpSourcepLinkpEntrypContent pInReplyTotal pInReplyToValidatorResultVTreeVLeafVNodeadvicedemandvalidmkTreeflattenT validateEntrycheckEntryAuthor checkCats checkContentscheckContributorcheckContentLink checkLinkscheckIdcheckPublished checkRights checkSource checkSummary checkTitle checkUpdatedcheckCat checkContent checkTerm checkAuthor checkPerson checkName checkEmailcheckUriAccept acceptType CategoriesCategoriesExternal Collection collectionURIcollectionTitlecollectionAcceptcollectionCatscollectionOther WorkspaceworkspaceTitle workspaceColsworkspaceOtherServiceserviceWorkspaces serviceOthershowServiceDocmkQNamemkElemmkLeafmkAttr xmlns_appappNSappName xmlService xmlWorkspace xmlCollection xmlCategories xmlAcceptFeedKindRDFKindRSSKindAtomKindXMLItemRSS1ItemAtomItemXMLFeedRSS1FeedRSSFeedAtomFeed ItemSetter FeedSetternewFeed feedFromRSS feedFromAtom feedFromRDF feedFromXML getFeedKindaddItem withFeedItemsnewItem getItemKind withFeedTitle withFeedHome withFeedHTMLwithFeedDescriptionwithFeedPubDatewithFeedLastUpdate withFeedDatewithFeedLogoLinkwithFeedLanguagewithFeedCategorieswithFeedGeneratoratomEntryToItem rssItemToItem rdfItemToItemwithItemPubDate withItemDate withItemTitlewithItemAuthorwithItemFeedLinkwithItemCommentLinkwithItemEnclosure withItemIdwithItemDescriptionwithItemRights withItemLinkwithItemCategoriesparseFeedFromFileparseFeedStringreadRSS2readRSS1readAtomtoFeedDateString ItemGetter FeedGetter getFeedItems getFeedAuthor getFeedTitle getFeedHome getFeedHTMLgetFeedDescriptiongetFeedPubDategetFeedLastUpdate getFeedDategetFeedLogoLinkgetFeedLanguagegetFeedCategoriesgetFeedGenerator getItemTitle getItemLinkgetItemPublishDategetItemPublishDateString getItemDate getItemAuthorgetItemCommentLinkgetItemEnclosuregetItemFeedLink getItemIdgetItemCategories getItemRightsgetItemSummarygetItemDescription withAtomEntry withRSSItem withRSS1ItemtranslateItemToversion getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName xmlImageURI xmlItemURIsxmlTextInputURIxmlDCxmlUpdatePeriod xmlUpdateFreqxmlContentItemsxmlContentInfo rdfResourcerdfValue xmlTopicsxmlTopicxmlEmptyelementToItemsaddSyndication elementToDCelementToTaxonomyTopicelementToContent bagLeaves seqLeavesghc-prim GHC.TypesTruefilterChildrenaddChildmapMaybeChildrenparseFeedWithParser utf8readFiletoStr contentToStr toRSSItem toRDFItem toAtomItemcatchIObindirlibdirdatadir libexecdir sysconfdir