h$J?      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                   Safe-Inferred aNoneNone3; shakespeareRead file's content as , converting newlines shakespeare)Embed file's content, converting newlines shakespeareEmbed file's content, converting newlines and track file via ghc dependencies, recompiling on changes  None #$38;>?: shakespeareA transformation applied to the final expression. Most often, this would be used to force the type of the expression to help make more meaningful error messages.F shakespeareCoffeescript, TypeScript, and other languages compiles down to Javascript. Previously we waited until the very end, at the rendering stage to perform this compilation. Lets call is a post-conversion This had the advantage that all Haskell values were inserted first: for example a value could be inserted that Coffeescript would compile into Javascript. While that is perhaps a safer approach, the advantage is not used in practice: it was that way mainly for ease of implementation. The down-side is the template must be compiled down to Javascript during every request. If instead we do a pre-conversion to compile down to Javascript, we only need to perform the compilation once.The problem then is the insertion of Haskell values: we need a hole for them. This can be done with variables known to the language. During the pre-conversion we first modify all Haskell insertions So #{a} is change to shakespeare_var_a Then we can place the Haskell values in a function wrapper that exposes those variables: (function(shakespeare_var_a){ ... shakespeare_var_a ...}) TypeScript can compile that, and then we tack an application of the Haskell values onto the result: (#{a})preEscapeIgnoreBalanced is used to not insert backtacks for variable already inside strings or backticks. coffeescript will happily ignore the interpolations, and backticks would not be treated as escaping in that context. preEscapeIgnoreLine was added to ignore comments (which in Coffeescript begin with a #)L shakespeare&A parser with a user state of [String]S shakespeareDetermine which identifiers are used by the given template, useful for creating systems like yesod devel.N shakespearefor error reporting-*+,-./0165234789:;=<>?@ABCDEFGHIJKLMNOPQRSTU-0165234789:FGHIJK>?@ABCDE;=g shakespeareA typeclass for types that can be interpolated in CoffeeScript templates.i shakespeare*Return type of template-reading functions.j shakespeareNewtype wrapper of .n shakespearerender with route interpolation. If using this module standalone, apart from type-safe routes, a dummy renderer can be used: 5renderJavascriptUrl (\_ _ -> undefined) javascriptUrlWhen using Yesod, a renderer is generated for you, which can be accessed within the GHandler monad: .y shakespeareDetermine which identifiers are used by the given template, useful for creating systems like yesod devel.cdefghijklmnopqrstuvwxyqrtswxvuijklefghcdmnpyoNone>, shakespeareRead inline, quasiquoted Roy. shakespeareRead in a Roy template file. This function reads the file once, at compile time. shakespeareRead in a Roy template file. This impure function uses unsafePerformIO to re-read the file on every call, allowing for rapid iteration.None> shakespeare&Read inline, quasiquoted CoffeeScript. shakespeareRead in a CoffeeScript template file. This function reads the file once, at compile time. shakespeareRead in a CoffeeScript template file. This impure function uses unsafePerformIO to re-read the file on every call, allowing for rapid iteration. shakespeareDeprecated synonym for None'(2;>e shakespeareDetermine which identifiers are used by the given template, useful for creating systems like yesod devel. shakespeare&perform the indent-to-brace conversion shakespeare&perform the indent-to-brace conversion shakespearei2b? shakespearehave whitespace? shakespeare indentationNone>  shakespeare!Not intended for direct use, see . shakespeareNormalized value, 1 == 100%. shakespeare!Not intended for direct use, see . shakespeareUnits used for text formatting. shakespeare Normalized value in centimeters. shakespeareAbsolute size units. shakespeare*Create a CSS size, e.g. $(mkSize "100px"). shakespeare2Absolute size unit convertion rate to centimeters. shakespeare Constructs #. Not intended for direct use, see . shakespeare Constructs #. Not intended for direct use, see . shakespeare.Converts number and unit suffix to CSS format.None '(>? shakespeare,renderCss ([lucius|foo{bar:baz}|] undefined)"foo{bar:baz}" shakespeare"Runtime Lucius with mixin support. Since 1.0.6 shakespeareSame as %, but output has no added whitespace. Since 1.0.3 shakespeareDetermine which identifiers are used by the given template, useful for creating systems like yesod devel. shakespearetemplate shakespeareminify? shakespearescope//None3;>?!h  shakespearenever add newlines shakespeare+add newlines between consecutive text lines shakespeareadd newlines everywhere shakespeare*Settings for parsing of a hamlet document. shakespeareThe value to replace a "!!!" with. Do not include the trailing newline. shakespeareShould we add newlines to the output, making it more human-readable? Useful for client-side debugging but may alter browser page layout. shakespeareHow a tag should be closed. Use this to switch between HTML, XHTML or even XML output. shakespeareMapping from short names in "$doctype" statements to full doctype. shakespearebool: does it include params? shakespeare;Defaults settings: HTML5 doctype and HTML-style empty tags. shakespeare/This funny hack is to allow us to refer to the  function without requiring the user to have it in scope. See how this function is used in Text.Hamlet.0None3>?"G shakespeareshould embeded template (via ^{..}) be plain Html or actual templates?None>?+ shakespeareA function generating an 9 given a message translator and a URL rendering function. shakespeareA function generating an  given a URL-rendering function. shakespeare0Convert some value to a list of attribute pairs. shakespeare"Simple Hamlet" quasi-quoter. May only be used to generate expressions. Generated expressions have type . >>>  ( [0|
Hello, world!|])
Hello, world!
 shakespeareLike , but produces XHTML. shakespeare>Hamlet quasi-quoter. May only be used to generate expressions.Generated expression have type  url , for some url. data MyRoute = Home render :: & MyRoute render Home _ = "/home" >>>  ( ([:|Home|] render)) Home  shakespeareLike , but produces XHTML. shakespeareHamlet quasi-quoter with internationalization. May only be used to generate expressions. Generated expressions have type  msg url , for some msg and url. =data MyMsg = Hi | Bye data MyRoute = Home renderEnglish ::  MyMsg renderEnglish Hi = "hi" renderEnglish Bye = "bye" renderUrl :: ) MyRoute renderUrl Home _ = "/home" >>>  ( ([|@{Home} _{Hi} _{Bye}|] renderEnglish renderUrl))
/home hi bye
 shakespeareLike , but the external file is parsed at runtime. Allows for more rapid development, but should not be used in production. shakespeareLike , but the external file is parsed at runtime. Allows for more rapid development, but should not be used in production. shakespeareLike , but produces XHTML. shakespeareLike , but produces XHTML. shakespeareChecks for truth in the left value in each pair in the first argument. If a true exists, then the corresponding right action is performed. Only the first is performed. In there are no true values, then the second argument is performed, if supplied. shakespeareRuns the second argument with the value in the first, if available. Otherwise, runs the third argument, if available.77 None'(>0# shakespeare.Data which can be passed to a Hamlet template. shakespeareA piece of data that can be embedded and passed to a Hamlet template (via ).This supplies an  instance, so with OverloadedStrings it will support literal strings, which are converted to HTML via . For other datatypes, use . shakespeareA parsed Hamlet template. See  and . shakespeareParse an in-memory Hamlet template. This operation may fail if the template is not parsable. shakespeareSame as , but reads from a file. The file is assumed to be UTF-8 encoded (same assumption as compile-time Hamlet). shakespeare2Render a runtime Hamlet template, together with a # of variables to pass in, into an  value. This can fail if the template references a variable that is not present in the Map.   None >1/ shakespeareDetermine which identifiers are used by the given template, useful for creating systems like yesod devel. shakespeare#Create a mixin with Cassius syntax. Since 2.0.3'' 72012 Michael Snoyman , Jeremy Shaw4BSD-style (see the LICENSE file in the distribution)%Michael Snoyman  experimentalportableNone >9 shakespeare*an RFC1766 / ISO 639-1 language code (eg, fr, en-GB, etc). shakespearethe 4 is used to provide translations for a message typesThe master argument exists so that it is possible to provide more than one set of translations for a message type. This is useful if a library provides a default set of translations, but the user of the library wants to provide a different set of translations. shakespeare- is used to convert the value inside #{ } to The primary purpose of this class is to allow the value in #{ } to be a  or % rather than forcing it to always be . shakespeare,generate translations from translation filesThis function will: 6look in the supplied subdirectory for files ending in .msg/generate a type based on the constructors found create a  instance shakespearecreate # instance for an existing data-type shakespeare?create an additional set of translations for a type created by  shakespeare4type that specifies which set of translations to use shakespeare6acceptable languages in descending order of preference shakespearemessage to translate shakespeare%base name to use for translation type shakespeare1subdirectory which contains the translation files shakespearedefault translation language shakespearemaster translation data type shakespeare%existing type to add translations for shakespearepath to translation folder shakespearedefault language shakespearemaster translation data type shakespeare%existing type to add translations for shakespearepath to translation folder shakespearedefault language   None>< shakespeare"Simple text" quasi-quoter. May only be used to generate expressions. Generated expressions have type . >>> do let x = "world"  [|Hello, #{x}!|] Hello, world!  shakespeareLike -, but reads an external file at compile-time. shakespearecodegen is designed for generating Yesod code, including templates So it uses different interpolation characters that won't clash with templates. You can use the normal text quasiquoters to generate code shakespeareGenerates strict Text codegen is designed for generating Yesod code, including templates So it uses different interpolation characters that won't clash with templates. None>? shakespeare#Read inline, quasiquoted TypeScript shakespeare,Read inline, quasiquoted TypeScript with jsx shakespeareRead in a TypeScript template file. This function reads the file once, at compile time. shakespeareRead in a TypeScript template file with jsx. This function reads the file once, at compile time. shakespeareRead in a TypeScript template file. This impure function uses unsafePerformIO to re-read the file on every call, allowing for rapid iteration. shakespeareRead in a TypeScript with jsx template file. This impure function uses unsafePerformIO to re-read the file on every call, allowing for rapid iteration. !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKKLMNOPQRSTUVWXXYZ[\]^__`abcdefghijklmnopqrstuvwxyz{|}}~                                                                  &)shakespeare-2.0.29-9FuThW39Aq79v1EOG8UvFP Text.HamletText.Shakespeare.BaseText.Shakespeare Text.JuliusText.Roy Text.Coffee Text.LuciusText.Hamlet.RTText.Hamlet.Runtime Text.CassiusText.Shakespeare.I18NText.Shakespeare.TextText.TypeScriptText.IndentToBraceText.MkSizeTypeYesod.Core.HandlergetUrlRenderParamsText.Internal.CssText.Internal.CssCommonText.Hamlet.ParseText.Blaze.Html.Renderer renderHtmlText.Blaze.Html.Renderer.StringData.Text.Lazy.IOputStrLn)blaze-html-0.9.1.2-2Zf5RSQ74Nv9TiA3wCSIAKText.Blaze.HtmlHtmlDerefDerefModulesIdent DerefIdent DerefIntegral DerefRational DerefString DerefBranch DerefList DerefTupleScopeIdent parseDeref derefToExp flattenDeref parseHashparseVarparseAtparseUrlparseVarStringparseUrlStringparseIntString parseCaretparseInt parseUnderreadUtf8FileString readUtf8File readFileQreadFileRecompileQ $fShowDeref $fEqDeref $fReadDeref $fDataDeref $fOrdDeref$fLiftLiftedRepDeref $fShowIdent $fEqIdent $fReadIdent $fDataIdent $fOrdIdent$fLiftLiftedRepIdentVarTypeVTPlainVTUrl VTUrlParamVTMixin RenderUrlShakespeareSettingsvarCharurlCharintChar toBuilderwrapunwrapjustVarInterpolation preConversionmodifyFinalValue PreConversion ReadProcessId WrapInsertionwrapInsertionIndentwrapInsertionStartBeginwrapInsertionSeparatorwrapInsertionStartClosewrapInsertionEndwrapInsertionAddParens PreConvert preConvertpreEscapeIgnoreBalancedpreEscapeIgnoreLine wrapInsertionParserdefaultShakespeareSettings preFilterpack' shakespeareshakespeareFromStringshakespeareFileshakespeareUsedIdentifiersshakespeareFileReloadshakespeareRuntime"$fLiftLiftedRepShakespeareSettings $fShowVarType $fEqVarType $fOrdVarType $fEnumVarType$fBoundedVarType $fDataVarType$fGenericVarType $fShowContent $fEqContent$fLiftLiftedRepPreConvert$fLiftLiftedRepPreConversion$fLiftLiftedRepWrapInsertionRawJSrawJS RawJavascript ToJavascript toJavascript JavascriptUrl Javascript unJavascriptrenderJavascriptrenderJavascriptUrlasJavascriptUrljavascriptSettingsjsjuliusjsFile juliusFile jsFileReloadjuliusFileReloadjuliusFileDebug jsFileDebugjuliusUsedIdentifiers$fToJavascriptText$fToJavascriptText0$fToJavascript[]$fToJavascriptValue$fToJavascriptBool$fToJavascriptRawJavascript $fRawJSBool$fRawJSBuilder $fRawJSText $fRawJSText0 $fRawJS[]$fSemigroupJavascript$fMonoidJavascriptroyroyFile royFileReloadcoffee coffeeFilecoffeeFileReloadcoffeeFileDebugToCsstoCssCssMixinCssUrl renderCssPercentageSizepercentageSizeValue AbsoluteSizeabsoluteSizeUnitabsoluteSizeValue AbsoluteUnit CentimeterInch MillimeterPicaPointColor renderCssUrlcolorRed colorBlackmkSize absoluteSizepercentageSizeEmSizeExSize PixelSizeRTValueRTVRawRTVMixinlucius luciusFileluciusFileDebugluciusFileReloadparseTopLevels luciusRT'luciusRT luciusRTMixinluciusRTMinifiedluciusUsedIdentifiers luciusMixin CloseStyleNoClose CloseInside CloseSeparate NewlineStyle NoNewlines NewlinesTextAlwaysNewlinesDefaultNewlineStyleHamletSettings hamletDoctypehamletNewlineshamletCloseStylehamletDoctypeNamesdefaultHamletSettingsxhtmlHamletSettingsHamletExceptionHamletParseExceptionHamletUnsupportedDocExceptionHamletRenderExceptionHamletRT SimpleDocSDRawSDVarSDUrl SDTemplateSDForallSDMaybeSDCond HamletDataHDHtmlHDUrl HDUrlParams HDTemplateHDBoolHDMaybeHDList HamletMap parseHamletRTrenderHamletRTrenderHamletRT'$fExceptionHamletException$fShowHamletExceptionEnv urlRender msgRender HamletRules hrFromHtml hrWithEnvhrEmbed HtmlUrlI18nHtmlUrl TranslateRender ToAttributes toAttributes attrsToHtmlshamletxshamlet htmlRuleshamletxhamlet asHtmlUrl hamletRulesihamlet ihamletRuleshamletWithSettingshamletFromStringhamletFileWithSettings hamletFilehamletFileReloadihamletFileReload xhamletFile shamletFile xshamletFile ihamletFilecondHmaybeH$fToAttributes[]$fToAttributes[]0$fToAttributes(,)$fToAttributes(,)0 $fShowVarExp ToHamletData toHamletDataHamletTemplateparseHamletTemplatereadHamletTemplateFilerenderHamletTemplate$fIsStringHamletData$fToHamletDataBool$fToHamletDataMarkupM$fToHamletDataText$fToHamletDataMaybe$fToHamletData[]$fToHamletDataHamletDatacassius cassiusFilecassiusFileDebugcassiusFileReloadcassiusUsedIdentifiers cassiusMixin SomeMessageLang RenderMessage renderMessage ToMessage toMessage mkMessage mkMessageFormkMessageVariant $fToMessage[]$fToMessageText$fRenderMessagemasterText $fRenderMessagemasterSomeMessage$fIsStringSomeMessageToTexttoTextTextUrl renderTextUrlstextltsttextlbtsbttextFile textFileDebugtextFileReload stextFilecodegen codegenStcodegenFileReload codegenFile $fToTextInt $fToTextInt64 $fToTextInt32 $fToTextText $fToTextText0 $fToText[]$fToTextBuildertsctscJSXtypeScriptFiletypeScriptJSXFiletypeScriptFileReloadtypeScriptJSXFileReloadi2b mkSizeTypebaseGHC.BaseString text-1.2.3.2Data.Text.Internal.BuilderBuildercssUsedIdentifiers cssFileDebug cssRuntime renderBlockCDDataCDMixin CDUrlParamCDUrlCDPlainContentsContent ContentMixinContentUrlParam ContentUrl ContentVar ContentRawCssNoWhitespace CssWhitespaceAttrattrValattrKeyTopLevelTopVar TopAtDecl TopAtBlockTopBlock mixinBlocks mixinAttrsBlock blockMixins blockBlocks blockAttrs blockSelectorMixinsStrHasLeadingSpace ChildBlocksSelector UnresolvedResolvedDListpackfromTextruntimePrependSelectorcombineSelectors blockRuntimecontentToBuilderRTvtToExpgetVarslookupDcompressTopLevel compressBlock blockToMixin blockToCssselectorToBuildercontentsToBuildercontentToBuildertopLevelsToCassiusblocksToCassius liftBuilderabsoluteUnitRateshowSizespecialOrIdent Data.FoldableorModule DataConstr DCUnqualified DCQualifiedBindingBindVarBindAs BindConstr BindRecord BindTupleBindListDoc DocForallDocWithDocCondDocMaybeDocCase DocContent ContentEmbed ContentMsg ContentAttrsResultErrorOkparseDoc System.IO Data.StringIsStringtoHtmlcontainers-0.6.2.1Data.Map.InternalMapData.Text.InternalTextData.Text.Internal.Lazy