ˀ~      !"#$%&'()*+,-./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> provisionalportable Safe-InferredAtom 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]    <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-InferredJthe tag/term of the category.K7optional URL for identifying the categorization scheme.L$human-readable label of the categoryM$unknown elements, for extensibility.n !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|catTerm}feedId feedTitle feedUpdated~entryId entryTitle entryUpdatedgenTextlinkHrefn !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~nzyxwfghijklmnopqrstuvTUVWXYZ[\]^_`abcdeNSRQPOHIJKLMCDEFG9:;<=>?@AB5876{'()*+,-./01234!"#$%& |}~ !"#$%&' ()*+,-./0123458769 :;<=>?@ABCDEFGHIJKLMNSRQPOTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<(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> provisional Safe-InferredUThe Dublin Core Metadata Element Set, all 15 of them (plus an extension constructor.)%Other; data type extension mechanism.7Information about rights held in and over the resource.3The 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.                     <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-InferredY !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoY !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoYhgfe[\]^_`abcdJKLMNOPQRSTUVWXYZABCDEFGHI6789:;<=>?@,-./012345#$%&'()*+"! ijklmno"! #$%&'()*+, -./0123456 789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[ \]^_`abcdefghijklmno <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-Inferredpqrstuvwxyz{|}~pqrstuvwxyz{|}~pqrstuvwxzy|{~}pqrstuvwxyz{|}~ <(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-Inferred3if not present, the title is. (per spec, at least.)rfc 822 conforming.rfc 822 conforming.RFC 822 conforming.f channel title channel linkrssTitlerssLinktitle source URLtitle enclosure URLenclosure lengthenclosure typecategory Value guid value guid valueimageURL imageTitle imageLink inputTitle inputName inputLinkff <(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> provisional 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-Inferred/<'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.00'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.1W'readRSS2 elt' tries to derive an RSS2.x, RSS-0.9x feed document from the XML element e.2M'readRSS1 elt' tries to derive an RSS1.0 feed document from the XML element e.3K'readAtom elt' tries to derive an Atom feed document from the XML element e./0123/0123/0123/0123<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisional Safe-Inferred4'xmlFeed f' serializes a Feed2 document into a conforming XML toplevel element.4444<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-Inferred5 toFeedDateG translates a calendar time into the format expected by the feed kind.5555<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-InferredH'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 I.GThe parsed date representation is one of the ParseTime instances; see .K:'getItemAuthor f' returns the optional author of the item. 6789:;<=>?@ABCDEFGHIJKLMNOPQRS6789:;<=>?@ABCDEFGHIJKLMNOPQRS87;:<=>?@ABCDE96FGHIJKLMNOPQRS 6789:;<=>?@ABCDEFGHIJKLMNOPQRS<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisional Safe-InferredVAConstruct an empty feed document, intending to output it in the fk feed format.bb> sets the URL where an HTML version of the feed is published.cb> sets the URL where an HTML version of the feed is published.f('withFeedDate dt' is the composition of d and e9, setting both publication date and last update date to dtM. Notice that RSS2.0 is the only format supporting both pub and last-update.n?'withItemPubDate dt' associates the creation/ publication date dt with a feed item.oo is a synonym for n.p0'withItemTitle myTitle' associates a new title, myTitle, with a feed item.qD'withItemAuthor auStr' associates new author info with a feed item.r>'withItemFeedLink name myFeed' associates the parent feed URL myFeed& with a feed item. It is labelled as name.sH'withItemCommentLink url' sets the URL reference to the comment page to url.tO'withItemEnclosure url mbTy len' sets the URL reference to the comment page to url.uM'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.v_'withItemDescription desc' associates a new descriptive string (aka summary) with a feed item.w<'withItemRights rightStr' associates the rights information rightStr with a feed item.x-'withItemTitle myLink' associates a new URL, myLink, with a feed item.)TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy*!"#$TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy*!$#"VWXYZ[U\`abcdefghij]^_klmTpxnoqstruyvw)TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportable Safe-Inferredz{|}z{|}}z{|z{|} !"#$%&'()*+,-../011234567889:;<==>?@ABCDEFGHIJKLMNNOPQRSTUVWWXYZ[[\]^_`abcdJeefghijklmnopqrstuvvwxyz{|}~        ! " # $ % & ' ( ) * + + , - . / 0 1 2 3 3 4 5 6 7 8 9 : ; < < = > ? @ A B C D E F F G H I J K L M N N O P Q R S T U V W X Y Z [ \ ] v v ^ _ ` a b c M d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                   g i    h  mm<v  a    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO P     Q R S T U V   W  X Y  Z [ \ ] ^ _ ` a b   c defghijklmnopq feed-0.3.9.3Text.Atom.Feed.LinkText.Atom.FeedText.Atom.Feed.ExportText.Atom.Feed.ImportText.Atom.Feed.Validate Text.Atom.PubText.Atom.Pub.ExportText.DublinCore.TypesText.RSS1.SyntaxText.RSS1.UtilsText.RSS1.ImportText.RSS1.ExportText.RSS.SyntaxText.RSS.ImportText.RSS.ExportText.Feed.TypesText.Feed.ImportText.Feed.ExportText.Feed.UtilText.Feed.QueryText.Feed.ConstructorText.Feed.Translate Data.TimeFormat 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 HTMLString TextStringLinklinkHreflinkRellinkType linkHrefLang linkTitle linkLength linkAttrs linkOther GeneratorgenURI genVersiongenTextCategorycatTerm catSchemecatLabelcatOther EntryContentExternalContent MixedContent XHTMLContent HTMLContentEntryentryId entryTitle entryUpdated entryAuthorsentryCategories entryContententryContributor entryLinksentryPublished entryRights entrySource entrySummaryentryInReplyToentryInReplyTotal entryAttrs entryOtherFeedfeedId feedTitle feedUpdated feedAuthorsfeedCategoriesfeedContributors feedGeneratorfeedIcon feedLinksfeedLogo feedRights feedSubtitle feedEntries feedAttrs feedOther MediaTypeDateNCNameURI txtToString newCategorynullFeed nullEntry nullGeneratornullLink nullSource nullPerson atom_prefixatom_thr_prefixatomNS atomThreadNS xmlns_atomxmlns_atom_threadatomNameatomAttratomNodeatomLeafatomThreadNameatomThreadAttratomThreadNodeatomThreadLeafxmlFeedxmlEntry xmlContent xmlCategoryxmlLink xmlSource xmlGenerator xmlAuthorxmlContributor xmlPerson xmlInReplyToxmlInReplyTotalxmlIdxmlIconxmlLogo xmlUpdated xmlPublished xmlRightsxmlTitle xmlSubtitle xmlSummaryxmlTextContentmbpNodespQNodespNodepQNodepLeafpQLeafpAttrpAttrspQAttrpManychildren 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 xmlAcceptDCInfoDC_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 channelAttrs feedVersion feedChannel feedImage feedItems feedTextInput feedTopics TimeString TitleString URIString nullChannel nullImagenullItemnullTextInputInfonullTaxonomyTopicnullContentInfoqualNamerss10NS rssPrefixrdfNS rdfPrefixsynNS synPrefixtaxNS taxPrefixconNS conPrefixdcNSdcPrefixrdfNamerssNamesynNameknown_rss_eltsknown_syn_elts known_dc_eltsknown_tax_eltsknown_con_eltsremoveKnownEltsremoveKnownAttrs elementToFeed RSSTextInputrssTextInputTitlerssTextInputDescrssTextInputNamerssTextInputLinkrssTextInputAttrsrssTextInputOtherRSSCloudrssCloudDomain rssCloudPort rssCloudPathrssCloudRegisterrssCloudProtocol 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 nullEnclosurenullGuid nullPermaGuid nullCloud nullTextInputdcName elementToRSSelementToChannelelementToImageelementToCategoryelementToCloud elementToItemelementToSourceelementToEnclosure elementToGuidelementToTextInputelementToSkipHourselementToSkipDaysreadIntreadBoolqualNodexmlRSS xmlChannelxmlItem xmlEnclosurexmlGuidxmlImagexmlCloud xmlTextInput xmlSkipHours xmlSkipDaysxmlAttrxmlLeafFeedKindRDFKindRSSKindAtomKindXMLItemRSS1ItemAtomItemXMLFeedRSS1FeedRSSFeedAtomFeedparseFeedFromFileparseFeedStringreadRSS2readRSS1readAtomtoFeedDateString ItemGetter FeedGetter getFeedItems getFeedAuthor getFeedTitle getFeedHome getFeedHTMLgetFeedDescriptiongetFeedPubDategetFeedLastUpdate getFeedDategetFeedLogoLinkgetFeedLanguagegetFeedCategoriesgetFeedGenerator getItemTitle getItemLinkgetItemPublishDategetItemPublishDateString getItemDate getItemAuthorgetItemCommentLinkgetItemEnclosuregetItemFeedLink getItemIdgetItemCategories getItemRightsgetItemSummarygetItemDescription ItemSetter FeedSetternewFeed feedFromRSS feedFromAtom feedFromRDF feedFromXML getFeedKindaddItem withFeedItemsnewItem getItemKind withFeedTitle withFeedHome withFeedHTMLwithFeedDescriptionwithFeedPubDatewithFeedLastUpdate withFeedDatewithFeedLogoLinkwithFeedLanguagewithFeedCategorieswithFeedGeneratoratomEntryToItem rssItemToItem rdfItemToItemwithItemPubDate withItemDate withItemTitlewithItemAuthorwithItemFeedLinkwithItemCommentLinkwithItemEnclosure withItemIdwithItemDescriptionwithItemRights withItemLinkwithItemCategories withAtomEntry withRSSItem withRSS1ItemtranslateItemToelementToItemsaddSyndication elementToDCelementToTaxonomyTopicelementToContent bagLeaves seqLeaves xmlImageURI xmlItemURIsxmlTextInputURIxmlDCxmlUpdatePeriod xmlUpdateFreqxmlContentItemsxmlContentInfo rdfResourcerdfValue xmlTopicsxmlTopicxmlEmptyparseFeedWithParser utf8readFiletoStr contentToStrghc-prim GHC.TypesTruefilterChildrenaddChildmapMaybeChildren toRSSItem toRDFItem toAtomItem