N      !"#$%&'()*+,-./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> provisionalSafe23if 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> provisionalSafefghijklmnopqrstuvfghijklmnopqrstuvfghijklmnopqrstuvfghijklmnopqrstuv<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalSafewUThe Dublin Core Metadata Element Set, all 15 of them (plus an extension constructor.)xA name given to the resource.yGAn entity primarily responsible for making the content of the resource.z)The topic of the content of the resource.{*An account of the content of the resource.|7An entity responsible for making the resource available}NAn entity responsible for making contributions to the content of the resource.~NA date associated with an event in the life cycle of the resource (YYYY-MM-DD)3The nature or genre of the content of the resource.6The physical or digital manifestation of the resource.@An unambiguous reference to the resource within a given context.EA Reference to a resource from which the present resource is derived.7A language of the intellectual content of the resource."A reference to a related resource.3The extent or scope of the content of the resource.7Information about rights held in and over the resource.%Other; data type extension mechanism.:A DCItem pairs a specific element with its (string) value.wxyz{|}~wxyz{|}~wxyz{|}~wxyz{|}~<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportableSafeYYY  <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportableSafe<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportableSafe<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalSafe                    <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportableSafe      <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportableSafe!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!"#$%&'()*+,-./012345!"#$%&'()*+,-./012345 <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportableSafekthe 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{|}~opqrstijklmndefghZ[\]^_`abcVWXYHIJKLMNOPQRSTUBCDEFG:;<=>?@A67896789:;<=>?@ABCDEFGH IJKLMNOPQRSTUVWXYZ [\]^_`abcdefghijklmnopqrstuvwxyz{|}~ <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisional : portableSafe%%%% A(c) Galois, Inc. 2007-2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisional : portableSafe <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportableSafe<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportableSafe                    <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisional : portableSafe     <(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportableSafe!&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> provisionalSafe1AConstruct 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> provisionalSafeU'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> provisionalSafeV<'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.X.'parseFeedSource s' tries to parse the source sR 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.YW'readRSS2 elt' tries to derive an RSS2.x, RSS-0.9x feed document from the XML element e.ZM'readRSS1 elt' tries to derive an RSS1.0 feed document from the XML element e.[K'readAtom elt' tries to derive an Atom feed document from the XML element e.VWXYZ[VWXYZ[VWXYZ[VWXYZ[<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportableSafe\ 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> provisionalportableSafeo'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 p.GThe parsed date representation is one of the ParseTime instances; see .r:'getItemAuthor f' returns the optional author of the item. ]^_`abcdefghijklmnopqrstuvwxyz]^_`abcdefghijklmnopqrstuvwxyz_^bacdefghijkl`]mnopqrstuvwxyz ]^_`abcdefghijklmnopqrstuvwxyz<(c) Galois, Inc. 2008, (c) Sigbjorn Finne 2009-BSD3Sigbjorn Finne <sof@forkIO.com> provisionalportableSafe{|}~{|}~~{|}{|}~Safe   !!"#$%&'(()*+,-./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 M c d e f 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:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXvyYZ[\]^_`abcdzefghijklmnopqrstuvwxyz{|}~feed_5t7pgPgMRzZDbkyx8ecaqGText.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_Title DC_Creator DC_SubjectDC_Description DC_PublisherDC_ContributorDC_DateDC_Type DC_Format DC_Identifier DC_Source DC_Language DC_Relation DC_Coverage DC_RightsDC_OtherDCItemdcEltdcText infoToTagdc_element_names ContentInfo contentURI contentFormatcontentEncoding contentValue UpdatePeriod Update_Hourly Update_Daily Update_WeeklyUpdate_Monthly Update_Yearly 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 LinkAlternate LinkCurrent LinkEnclosureLinkEdit LinkEditMedia LinkFirstLinkLast LinkLicenseLinkNextLinkNextArchive LinkPaymentLinkPrevArchive LinkPrevious LinkRelated LinkRepliesLinkSelfLinkVia LinkOthershowLinkRelation showLinkAttr InReplyTotal replyToTotalreplyToTotalOther InReplyTo replyToRef replyToHRef replyToType replyToSource replyToOtherreplyToContentPerson personName personURI personEmail personOtherSource sourceAuthorssourceCategoriessourceGenerator sourceIconsourceId sourceLinks sourceLogo sourceRightssourceSubtitle sourceTitle sourceUpdated sourceOther TextContent HTMLString XHTMLStringLinklinkHreflinkRellinkType linkHrefLang linkTitle linkLength linkAttrs linkOther GeneratorgenURI genVersiongenTextCategorycatTerm catSchemecatLabelcatOther EntryContent HTMLContent XHTMLContent MixedContentExternalContentEntryentryId 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 pInReplyToValidatorResultVTreeVNodeVLeafadvicedemandvalidmkTreeflattenT 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 xmlAcceptFeedKindAtomKindRSSKindRDFKindAtomItemRSS1ItemXMLItemAtomFeedRSSFeedRSS1FeedXMLFeed ItemSetter FeedSetternewFeed feedFromRSS feedFromAtom feedFromRDF feedFromXML getFeedKindaddItem withFeedItemsnewItem getItemKind withFeedTitle withFeedHome withFeedHTMLwithFeedDescriptionwithFeedPubDatewithFeedLastUpdate withFeedDatewithFeedLogoLinkwithFeedLanguagewithFeedCategorieswithFeedGeneratoratomEntryToItem rssItemToItem rdfItemToItemwithItemPubDate withItemDate withItemTitlewithItemAuthorwithItemFeedLinkwithItemCommentLinkwithItemEnclosure withItemIdwithItemDescriptionwithItemRights withItemLinkwithItemCategoriesparseFeedFromFileparseFeedStringparseFeedSourcereadRSS2readRSS1readAtomtoFeedDateString 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