},      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Events       experimentalZJoel Bjornson joel.bjornson@gmail.com, Niklas Broberg nibro@cs.chalmers.se:IsHJscript class with function toHJScript for converting  instances to HJScript () -To keep track of number of created variables  HJScript Monad  Init state !>Evaluate a script returning a tuple of the produced value and  a block of code. "6Runs a script returning the value, the new state and  the block of code. #Adds a statement $ Adds a block %&'Runs one script inside another Block as a Monoid Shows a HJScript ()  !"#$%&'  !"#$%&' experimentalZJoel Bjornson joel.bjornson@gmail.com, Niklas Broberg nibro@cs.chalmers.seA(&Incrementing or decrementing numbers. )*+,-./012345678 Assignment 9 Plus with :for ;while <doWhile =doIf >doElse ? doIfElse @/Alternative if-else syntax: isTrue ? (doA,doB) ABProviding a way of writing if-else expression as in: isTrue ? doA  | doB BOnly an if branch CNo else branch. D,Anonymous function, returning an expression EAnonymous void function. FFunction declaration GProcedure declaration. $Adds a return statement to a Block. HIJKLMNOPQ'Dereferencing operator, similar to the dot operator in JavaScript. ! E.g. document.forms => document # forms, same as forms document RSTUVWXAccessing arrays. Y Null value Z Converts to JString expression. [Casting an JObject \,Checks if an object is supported by browser ]^_`abcde      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn!#$()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeD()*+,-./0123456789@ANIJODEFG:;<=>?BCKLMPQRSTVUWXYZ[\^_`]abcde$#H!>()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde experimentalYJoel Bjornson joel.bjornson@gmail.com Niklas Broberg nibro@cs.chalmers.se fgProperties for Array hMethods on array i Map array j mapArrayH kThrow away produced value. lSynonym for mapArrayH_ m(Select array elements with a condition. oConstructors for Array fghijklmghfijklmfghijklm experimentalZJoel Bjornson joel.bjornson@gmail.com, Niklas Broberg nibro@cs.chalmers.senopqp Constructors nopqnopqnoopq experimentalZJoel Bjornson joel.bjornson@gmail.com, Niklas Broberg nibro@cs.chalmers.se)rstuvwxyz{|}~qConstructors for Date (rstuvwxyz{|}~(rstuvwxyz{|}~(rsstuvwxyz{|}~ experimentalZJoel Bjornson joel.bjornson@gmail.com, Niklas Broberg nibro@cs.chalmers.se Math Class r  experimentalZJoel Bjornson joel.bjornson@gmail.com, Niklas Broberg nibro@cs.chalmers.sesConstructors for RegExp   experimentalZJoel Bjornson joel.bjornson@gmail.com, Niklas Broberg nibro@cs.chalmers.se   experimentalYJoel Bjornson joel.bjornson@gmail.com Niklas Broberg nibro@cs.chalmers.seDifferent node types     experimentalYJoel Bjornson joel.bjornson@gmail.com Niklas Broberg nibro@cs.chalmers.se                     experimentalYJoel Bjornson joel.bjornson@gmail.com Niklas Broberg nibro@cs.chalmers.seN !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVtuWXYvwxyzG !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYGWXYUVSTQROPMNKLIJGHEFCDAB?@=>;<9:78563412/0-.+,)*'(%&#$!" G  !""#$$%&&'(()**+,,-../001223445667889::;<<=>>?@@ABBCDDEFFGHHIJJKLLMNNOPPQRRSTTUVVWXY experimentalYJoel Bjornson joel.bjornson@gmail.com Niklas Broberg nibro@cs.chalmers.seZ{[\]^_`abcdefghijklmnopqrstuZ[\]^_`abcdefghijklmnopqrstu[Z_\]^`abcdefhlgijktupmnqorsZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~|Constructors for Date vwxyz{|}~vwxyz{|}~vwwxyz{|}~ experimentalYJoel Bjornson joel.bjornson@gmail.com Niklas Broberg nibro@cs.chalmers.se} experimentalYJoel Bjornson joel.bjornson@gmail.com Niklas Broberg nibro@cs.chalmers.se      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu XMLHttpRequest    ~Http 6Allowing path selections form XMLHttpRequest objects. 5instance HasDomSel (JsObject a XMLHttpRequest) where  toDomElement req = req  responseXML  documentElement  Post request Creates a new XMLHttpRequest  experimentalYJoel Bjornson joel.bjornson@gmail.com Niklas Broberg nibro@cs.chalmers.se,&&& experimentalYJoel Bjornson joel.bjornson@gmail.com Niklas Broberg nibro@cs.chalmers.se`      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"$#&%' !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                   !"##$$%%&&''(())**++,,--..//001122345566778899::;;<<==>>??@@##AABBCCDDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcddefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUUVWXY Z[[\]^_`Ha^bcdefghijklmnopqrstuvHJScript-0.4.7HJScript.XMLGeneratorHJScript.Events HJScript.LangHJScriptHJScript.Objects.ArrayHJScript.Objects.BooleanHJScript.Objects.DateHJScript.Objects.MathHJScript.Objects.RegExpHJScript.Objects.StringHJScript.Objects.ActiveXObjectHJScript.DOM.NodeTypesHJScript.DOM.NodeHJScript.DOM.AttributeNodeHJScript.DOM.TextNodeHJScript.DOM.NamedNodeMapHJScript.DOM.ElementNodeHJScript.DOM.XHTMLHJScript.DOM.WindowHJScript.Objects.JQueryHJScript.DOM.DocumentHJScript.Objects.XMLHttpRequest HJScript.AjaxHJScript.UtilsHJScript.Monad HJScript.DOM hsx-0.7.0HSX.XMLGenerator genEElement genElementasChildasAttr:=AttrEventOnUnloadOnSubmitOnSelectOnResizeOnReset OnMouseUp OnMouseOver OnMouseOut OnMouseMove OnMouseDownOnLoadOnKeyUp OnKeyPress OnKeyDownOnFocusOnError OnDblclickOnClickOnChangeOnBlurOnAbort showEvent IsHJScript toHJScript HJScript' evalHJScript runHJScript outputStmt outputBlock newVarNum newVarName hjsInsidepreincpostincpredecpostdec.+..-..*../..&&..||..==..!=..>..<..>=..<=..=..+=.forwhiledoWhiledoIfdoElsedoIfElse?<|> doIfNoElsenoElsefunction procedure functionDecl procedureDeclevaluateHJScript callMethodcallVoidMethodvarvarWithinVarthiscallProcnew##.recfirstxsecondy#!jnulljShow castObject hasFeatureifOpbreakcontinuetruefalseintfloatboolstringheadArr arrLengthpushmapArray mapArrayH mapArrayH_foreach filterArrayBooleanbooleanToStringvalueOfDategetDategetDaygetMonth getFullYeargetHours getMinutes getSecondsgetMilliseconds getUTCDay getUTCMonthgetUTCFullYear getUTCHours getUTCMinutes getUTCSecondsgetUTCMillisecondsgetTimegetTimezoneOffset getUTCDatesetDatesetMonth setFullYearsetYearsetHours setMinutes setSecondssetMillisecondssetTime setUTCDate setUTCMonthsetUTCFullYear setUTCHours setUTCMinutes setUTCSecondssetUTCMilliseconds dateToString toGMTString toUTCStringtoLocaleStringMathabsacosasinatancosexpfloorlogmaxminpowrandomroundsinsqrttanRegExptestexeccompile strLength toUpperCase toLowerCaseanchorbigblinkboldcharAt charCodeAt strConcatindexOfitalics lastIndexOflinkreplacesubstr substring ActiveXObject msXMLHttpDocumentTextNode AttributeNode ElementNodeNodeNodeType NodeNotation NodeDocFrag NodeDocType NodeDocument NodeCommentNodeProccInstr NodeEntetyRef NodeEntetyNodeCDataSectionNodeText NodeAttribute NodeElement nodeTypeValIsNode castToNode castFromNodenodeNamenodeType nodeValue ownerDocumentprefix cloneNodename specifiedvaluetextlength appendData deleteData insertData replaceData splitText substringData NamedNodeMap getNamedItemitemremoveNamedItem IsElementNode attributes childNodes firstChild lastChild localName nextSibling parentNodepreviousSiblingtagName scrollTop scrollTopVar scrollHeightscrollHeightVar appendChild getAttributegetAttributeNode hasAttribute hasAttributes hasChildNodes insertBefore normalizeremoveAttributeremoveAttributeNode removeChild replaceChild setAttributesetAttributeNodeTextareaTableRow TableHeader TableDataTableStyleSelectScreenOptionObject NavigatorMetaLocationLink InputText InputSubmit InputResetInputTextInputReset InputRadio InputPassword InputHidden InputFile InputCheckbox InputButtonImageIFrameHistoryFramesetFrameFormBodyBaseAreaAnchorIsXHTMLElementasXHTMLElement classNameWindowwindowclosed defaultStatus winDocumentframes winLengthwinNameopenerparentselfstatustopalertblurcloseconfirm createPopupfocusmoveBymoveToopenpromtnavigatescrollByscrollToresizeByresizeToJQueryjQuery selectExprjSizegetemptyjValjSetValjTextjSetTextappendprependreadychangesubmitselectrunExpdocumentanchorsappletsembedsformsimageslinks stylesheets alinkColorbodycookiedocumentElementdomain lastModified linkColorreferrerurl vlinkColorcreateAttribute createElementcreateTextNodegetElementByIdgetElementsByTagNamewritewritelnXMLHttpRequest statusReqonReadyStateChange responseXML responseText readyStateopenReqsendReqsetRequestHeader IsReqParams toReqParams ReqParamsReqParam asyncGetReq asyncPostReqnoParams=:<&> addGetParams openAsync openAsyncPostsendNullsendPost setCallBack succCallBackisReady isReadySucccrtXMLHttpRequestsetPostReqHeaderdispNone dispBlock dispInlinethisElemthisXHTMLElementthisNodehasClasshasChild isVisible isInVisibleelemById elemsByTag fstElemByTagallElems parentElemmsg getElemById getElemsByTaggetFstElemByTag getAllElems getParentElemgetElemsByClassgetFstElemByClass getSiblingshideElemshowElem showInline showBlock remFirstChild remChildrenremElemappendChildrensetChild toggleVistoggleVisBlocktoggleVisInlineelemValsetValHJState initState getHJState putHJState $fMonoidBlock $fShowXMLGenTHJSJBinOperatorbinOp addReturnHJavaScript-0.4.7Language.HJavaScript.Syntax renderBlockvaltoBlockvoidMethodCallNoArgsmethodCallNoArgsvoidMethodCall methodCallcall propertyVarderefVarderefJTypeJVarJParamJMember JDerefVar JArrayIndex JPropertyVarVarRecJIntJFloatJBoolJStringJRecJFstJSndJConstJAssign JAssignWithJNegJNotJBinOp JIncrement JDecrementJIfOpJCallJNewJDeleteJDeref JFunctionJThisJBlockJNull JCastObjectJValueOfJIsImplJShowExpJVoidJObjectJArray IsFeaturejshow IsNullablePstPrePostPre PlusAssign MinusAssign TimesAssign DivAssign ModAssign AndAssignOrAssignAssignOp PlusOpTypePlusMinusTimesDivModAndOrEquals NotEqualsGThanLThanGEThanLEThanBinOpVarDecl VarDeclAssign VarAssignExpStmtWhileDoWhileForForInBreakContinueReturnIfStmtElseifElseNoElseElses EmptyBlockSequenceBlock ParamType showsFParams mkFParams FormalParamsArgsv2e VarsToExpsIsClassHasConstructorIsDereftoExpIsExp toJString IsJStringtoJIntIsJInttoJFloatIsJFloattoJBoolIsJBoolArray$fHasConstructorArray()()$fHasConstructorBooleanExpBool$fHasConstructorDate()() callMathMeth$fHasConstructorRegExpExp[] XHTMLElementdirlangtitle generalize specialize$fHasConstructorJQueryExp[] HttpMethodPostGet openAsyncGet crtXMLReq hasXMLHttpReq hasActiveXtxtNodeelemNode newTxtNodenewElemstyledisplayIsAttrNodeValuetoAttrNodeValue AttributeChildXMLelementeElement