i      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                            !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh Safe-InferredNone0& Maybe type.  Either type. 'Monomorphic bind for Fay. (Monomorphic then for Fay. )Monomorphic return for Fay. 59Evaluate each action in the sequence from left to right,  and collect the results. DUses JSON.stringify. EThrows a JavaScript error. FThrows  undefined via error. YImplemented in Fay. ZImplemented in Fay. [Implemented in Fay. \Uses Math.PI. ]Uses Math.exp. ^Uses Math.sqrt. _Uses Math.log. `Uses Math.pow. aUses Math.pow. bUses Math.pow. cImplemented in Fay, it' s not fast. dImplemented in Fay, not fast. eUses Math.sin. fUses Math.tan. gUses Math.cos. hUses Math.asin. iUses Math.atan. jUses Math.acos. kImplemented in Fay, not fast. lImplemented in Fay, not fast. mImplemented in Fay, not fast. nImplemented in Fay, not fast. oImplemented in Fay, not fast. pImplemented in Fay, not fast. qImplemented in Fay, not fast. rImplemented in Fay, not fast. sUses Math.round. tUses Math.ceil. uUses Math.floor. v Flip (-). wImplemented in Fay, not fast. x not (even x) yImplemented in Fay, not fast. z Uses quot'. { Uses ~~(a/b). |(quot x y, rem x y) }Uses rem'. ~ Uses %%. Append two lists. /Default definition for using RebindableSyntax. ijk !"l#$%mnopq&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rstuvwxyz  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ &'()*+,-./0156234#$% !" 789:;<=>?@ABCDEF GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ijk !"l#$%mnopq&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rstuvwxyzNoneBasically forM. Basically forM. Usual isLeft. Usual isRight. None The  function returns  iff its argument is of the  form Just _. The  function returns  iff its argument is . The ( function extracts the element out of a  and $ throws an error if its argument is . The ( function takes a default value and and   value. If the  is !, it returns the default values; 2 otherwise, it returns the value contained in the . The + function returns an empty list when given  $ or a singleton list when not given . The  function returns  on an empty list  or  a where a# is the first element of the list. The  function takes a list of s and returns  a list of all the  values. The  function is a version of  which can throw ? out elements. In particular, the functional argument returns  something of type  b. If this is  , no element - is added on to the result list. If it just  b, then b is  included in the result list. &Handy alternative to not having forM. Similar to forM again. Basically fmap for Maybe. Join for Maybe. None None The & function takes two lists and returns  / iff the first list is a prefix of the second. The & function takes two lists and returns  / iff the first list is a suffix of the second.  Both lists must be finite. The . function drops the given prefix from a list.  It returns + if the list did not start with the prefix  given, or ( the list after the prefix, if it does. * stripPrefix "foo" "foobar" == Just "bar" $ stripPrefix "foo" "foo" == Just "" ' stripPrefix "foo" "barfoo" == Nothing * stripPrefix "foo" "barfoobaz" == Nothing Like +, but drops the given suffix from the end. 2Split lists at delimiter specified by a condition " Drops empty groups (similar to ) 'Split lists at the specified delimiter " Drops empty groups (similar to ) The / function takes a predicate a list and returns ? the pair of lists of elements which do and do not satisfy the  predicate, respectively; i.e., 6 partition p xs == (filter p xs, filter (not . p) xs) The 8 function returns all initial segments of the argument,  shortest first. For example,  $ inits "abc" == ["","a","ab","abc"]  Note that ( has the following strictness property:   inits _|_ = [] : _|_ Classic group by. !Belongs in Control.Monad, right? None(*)  f = x y -> f x * f y. The "f" is for "Fay", not "Functor" ;) See . A la Control.Applicative. None ' comparing p x y = compare (p x) (p y) 2Useful combinator for use in conjunction with the xxxBy family  of functions from  Data.List, for example: " ... sortBy (comparing fst) ... None {|}~ None None'Try the given action and catch if there' s an error. .Try the given action and catch the exception. Throw an exception.  NoneConvert from defined to maybe. Convert from maybe to defined.  None and 2 have lists of subscribers that are notified when  is  used.  and  store their last set value. 1All of the variable types can be set to a value. JA reactive variable. Stores a value, and can have handlers subscribed to  changes. *A mutable reference, with no subscribers. GA subscribable signal. Can have handlers subscribed to them, but doesn't  store a value. Make a new signal. Make a new mutable reference. Make a new reactive variable. <Write to the value (if any), and call subscribers (if any). Get the value of a  or . 1Modifies the current value with a pure function. Runs a ; action on the current value, and updates with the result. Subscribe to the value of a  or . 'The result is an unsubscribe function. :Run the same subscribing action but provide an additional ' unsubscribe parameter to the handler. Subscribe to a !, along with the previous value. 'The result is an unsubscribe function. Subscribe to a 2, but only call handler when it actually changes. 'The result is an unsubscribe function. Subscribe to a ., and call the function on the current value. 'The result is an unsubscribe function. Subscribe to a 6, but only call handler when it actually changes, and # also initially on registration. 'The result is an unsubscribe function.  EGiven a change handler, returns a function that can be used to set a E subscribable without invoking the handler. This can be useful in & situations where the handler for a ! causes an event which otherwise ! ought to set the value of the %. An example of this is interfacing ( with HTML input field change events. The Q0 part of the result is an unsubscribe function.  IGiven a change handler, returns a function that can be used to set a var H without invoking the handler. The handler is called with the initial C value. This can be useful in situations where the handler for a  A causes an event which otherwise ought to set the value of the . An G example of this is interfacing with HTML input field change events. The Q0 part of the result is an unsubscribe function.   Creates a ; that updates whenever the source var is changed, applying 3 the provided function to compute the new value.   Creates a ; that updates whenever one of its source vars are changed.  If the 2nd argument is a ( value, then its used to set the source D vars when the variable is changed. Setting using a merged var is J sometimes preferred because both values are set before the subscribers  are called. The Q0 part of the result is an unsubscribe function.  Like  ), but discards the unsubscribe function.  Creates a ; that updates whenever one of its source vars are changed. 8 It can also be used to set both source vars at once. See  < for more information. Note that when using nested tuples, N if you want all of the values to be set before broadcast, then they should  nest to the left. Like ), but discards the unsubscribe function. +Wait for n signals on the given signaller. AWait for the given predicate to be satisfied on the var and then  unsubscribe. 7Make a one-shot variable subscription that immediately - unsubscribes after the event has triggered. ;Turn a sig into a var, by storing the last reported value. (               (      NoneMake a new unlocked mutex. 0If a mutex is free run the action, otherwise don't. .Wait until the mutex is free to do something. Lock the given mutex until I'm done with it. None Convert from nullable to maybe.  Convert from maybe to nullable. NoneNone"Run a Fay action as a pure value. None"6A space efficient, packed, unboxed Unicode text type.  CO(n) The intercalate function takes a Text and a list of Texts and > concatenates the list after interspersing the first argument # between each element of the list. !Convert from a string to text. "<O(n) Adds a character to the end of a Text. This copies the 7 entire array in the process, unless fused. Subject to 8 fusion. Performs replacement on invalid scalar values. #?O(n) Adds a character to the front of a Text. This function is E more costly than its List counterpart because it requires copying a ? new array. Subject to fusion. Performs replacement on invalid  scalar values. $?O(n) Convert a String into a Text. Subject to fusion. Performs ' replacement on invalid scalar values. %6O(n) Convert a Text into a String. Subject to fusion. &BO(n) Appends one Text to the other by copying both of them into a  new Text. Subject to fusion. 'Append two texts. (<O(n) Returns the number of characters in a Text. Subject to  fusion. )>O(1) Tests whether a Text is empty or not. Subject to fusion. *BO(n) take n, applied to a Text, returns the prefix of the Text of E length n, or the Text itself if n is greater than the length of the  Text. Subject to fusion. +?O(n) drop n, applied to a Text, returns the suffix of the Text A after the first n characters, or the empty Text if n is greater 1 than the length of the Text. Subject to fusion. ,O(1) The empty Text. -AO(n) Breaks a Text up into a list of Texts at newline Chars. The , resulting strings do not contain newlines. .AO(n) Joins lines, after appending a terminating newline to each. /BO(n) The isPrefixOf function takes two Texts and returns True iff 9 the first is a prefix of the second. Subject to fusion.  http:#docs.closure-library.googlecode.comgit*closure_goog_string_string.js.source.html 0>O(n) The intersperse function takes a character and places it @ between the characters of a Text. Subject to fusion. Performs ' replacement on invalid scalar values. 1<O(n) Reverse the characters of a string. Subject to fusion. 2BO(n) Return the prefix of the second string if its suffix matches  the entire first string. 3<O(m+n) Break a Text into pieces separated by the first Text : argument, consuming the delimiter. An empty delimiter is 0 invalid, and will cause an error to be raised. 7@O(1) Returns the first character and rest of a Text, or Nothing  if empty. Subject to fusion. 8:O(1) Returns the first character of a Text, which must be  non-empty. Subject to fusion. 99O(1) Returns the last character of a Text, which must be  non-empty. Subject to fusion. :AO(1) Returns all characters after the head of a Text, which must " be non-empty. Subject to fusion. ;AO(1) Returns all but the last character of a Text, which must be  non-empty. Subject to fusion. <@O(n) map f t is the Text obtained by applying f to each element A of t. Subject to fusion. Performs replacement on invalid scalar  values. =7O(n) Convert a string to lower case, using simple case < conversion. The result string may be longer than the input  string. For instance, 0) (Latin capital letter I with dot above,  U+0130) maps to the sequence i (Latin small letter i, U+0069)  followed by   (combining dot above, U+0307). ?"O(n) Concatenate a list of Texts. @<O(n) Map a function over a Text that results in a Text, and  concatenate the results. A<O(n) any p t determines whether any character in the Text t / satisifes the predicate p. Subject to fusion. B=O(n) all p t determines whether all characters in the Text t . satisify the predicate p. Subject to fusion. CBO(n) maximum returns the maximum value from a Text, which must be  non-empty. Subject to fusion. DBO(n) minimum returns the minimum value from a Text, which must be  non-empty. Subject to fusion. & !"#$%&'()*+,-./012Suffix. Text. 3456789:;<=>?@ABCD& !"#$%&'()*+,-./0123456789:;<=>?@ABCD&$%!,65432#"&'78;9:)(CBA@?D=>< 01/+*.-& !"#$%&'()*+,-./0123456789:;<=>?@ABCDNoneEFGHEFGHEFGHEFGHNoneIJKLMNIJKLMNJKILMNIJKLMNNoneOPQRSTUVWXYZ[\OPQRSTUVWXYZ[\OPQRSTUVWXYZ[\OPQRSTUVWXYZ[\None]^_`a]^_`a]^_`a]^_`aNonebHDay representation (internally represented as milliseconds from Epoch). cIDate representation (internally represented as milliseconds from Epoch). dGet the current time. e=Convert from proleptic Gregorian calendar. First argument is 5 year, second month number (1-12), third day (1-31). fExtract the day from the time. gHShow a time. Meant for debugging purposes, not production presentation. hGShow a day. Meant for debugging purposes, not production presentation. bcdeYear. Month. Day. fghbcdefghdecbfghbcdefgh !"#$%&'&(&)&*+,-&./01&2&345&6&7&89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 9 : ; < =>?@ABCDEFGHIJK LMNOPQRSTTUVWXYZ[\]^_`abcdefghijklmnopqrstu1-*)(vwxyz{|}~?????????          fay-base-0.19.3Prelude Data.Data Data.Either Data.Maybe Data.Char Data.List Data.FunctionData.Ord Unsafe.CoerceControl.Exception Data.DefinedData.Var Data.Mutex Data.Nullable Debug.Trace Fay.Unsafe Data.TextData.LocalStorageData.MutMap.Internal Data.MutMap Data.Ratio Data.TimeFFIghc-primGHC.Primseq GHC.Classes==EqbaseDataGHC.ReadReadGHC.ShowShowData.Typeable.InternalTypeable GHC.TypesBoolCharDoubleInt integer-gmpGHC.Integer.TypeIntegerOrderingEitherGHC.BaseStringFalseTrueLeftRightLTEQGTMaybeNothing&&||/=Just fay-0.21.2 Fay.TypesFay/Ord<<=>>=*+-maybe>>=>>returnfailwhenunlessforMforM_mapMmapM_=<<void>=><=<sequence sequence_comparesuccpredenumFrom enumFromTo enumFromBy enumFromThen enumFromByToenumFromThenTo fromIntegral fromIntegernot otherwiseshowerror undefinedeitheruntil$!constid.$flipcurryuncurrysndfstdivmoddivModminmaxrecipnegateabssignumpiexpsqrtlog**^^ unsafePow^logBasesintancosasinatanacossinhtanhcoshasinhatanhacoshproperFractiontruncateroundceilingfloorsubtractevenoddgcdquotquot'quotRemremrem'lcmfindfilternullmapnubnub'elemnotElemsortsortByinsertByconcconcat concatMapfoldrfoldr1foldlfoldl1++!!headtailinitlastiteraterepeat replicatecycletakedropsplitAt takeWhile dropWhilespanbreakzipWithzipWith3zipzip3unzipunzip3linesunlineswordsunwordsandoranyall intersperse prependToAll intercalatemaximumminimumproductsumscanlscanl1scanrscanr1lookuplengthlength'reverseprintputStrLn ifThenElsewhenLeft whenRightisLeftisRightisJust isNothingfromJust fromMaybe maybeToList listToMaybe catMaybesmapMaybe mapMaybeFBwhenJust whenJust'onJust joinMaybechrordisAsciiisLatin1toUppertoLower isAsciiLower isAsciiUpperisDigit isOctDigit isHexDigitisSpace isPrefixOf isSuffixOf stripPrefix stripSuffix splitWhensplitOn partitioninits groupSortBygroupByfindMonfmapap<*> comparing unsafeCoerce onExceptioncatchthrow fromDefined toDefined SubscribableGettableSettableVarRefSignewSignewRefnewVarsetgetmodify modifyWith subscribewithUnsubscribersubscribeWithOldsubscribeChangesubscribeAndReadsubscribeChangeAndReadsubscribeExclusivesubscribeAndReadExclusivemapVar mergeVars mergeVars' tupleVars tupleVars'waitForNwaitForoneShotholdSigMutexnewMutex ifMutexFree whenMutexFree lockMutex fromNullable toNullabletrace traceShowunsafePerformFayText fromStringsnocconspackunpackappend<>empty toShortestshowIntunconssetLocalStoragegetLocalStorageremoveLocalStoragehasLocalStorageSaltedKeyValIaddSaltunsalt checkSaltedMutMapmutEmpty mutFromList mutLookupmutElemsmutKeys mutAssocsmutClonemutMapMmutMapM_ mutMapMaybeM mutInsert mutDeletemutClearRationalRatio% numerator denominatorDayUTCTimegetCurrentTime fromGregorianutctDayshowTimeshowDayIntegral FractionalEnumNum $fIntegralInt$fFractionalDouble $fEnumInt $fOrdInteger$fOrdInt $fOrdDouble $fOrdChar $fNumDouble$fNumIntFay.FFIffiNullableNullDefined UndefinedPtr Automatic getBracket setInternalbroadcastInternal$fSubscribableVar$fSubscribableSig $fGettableVar $fGettableRef $fSettableVar $fSettableSig $fSettableRef mutFromListI mutLookupImutKeysI mutAssocsI mutMapMaybeMI mutInsertI mutDeleteI$fDataRational$fShowRational$fOrdDay$fEqDay $fShowDay $fDataDay $fOrdUTCTime $fEqUTCTime $fShowUTCTime $fDataUTCTime