packages feed

DOM (empty) → 2.0.0

raw patch · 132 files changed

+15187/−0 lines, 132 filesdep +WebBitsdep +basedep +mtlsetup-changed

Dependencies added: WebBits, base, mtl

Files

+ DOM.cabal view
@@ -0,0 +1,152 @@+-- DOM.cabal is generated automatically: do not edit+Name: DOM+Build-Type: Simple+Version: 2.0.0+Synopsis: DOM Level 2 bindings for the WebBits package.+Description:+   This package provides monadic smart constructors for Javascript syntax representation+   implemented in the "WebBits" package. Most of this package's code was autogenerated from IDL files+   available from the Web Consortium. See e. g. +   <http://www.w3.org/TR/DOM-Level-2-Core/idl-definitions.html>+   These constructors help generate WebBits representation of Javascript code that works with+   methods and attributes of DOM objects in typesafe manner using monadic notation of Haskell.+   .+   See documentation for the "Data.DOM" module for more information and a brief usage example.+   .+   In the package version number, the version major reflects the level of DOM specification+   for which bindings are provided.+License: BSD3+License-File: LICENSE+Category: Web+Maintainer: Dmitry Golubovsky <golubovsky@gmail.com>+Build-depends: base >= 3, mtl >= 1.1.0.0, WebBits >= 0.11.0+Exposed-modules:+   Data.DOM.Css,+   Data.DOM.CSS2Properties,+   Data.DOM.CSSCharsetRule,+   Data.DOM.CSSFontFaceRule,+   Data.DOM.CSSImportRule,+   Data.DOM.CSSMediaRule,+   Data.DOM.CSSPageRule,+   Data.DOM.CSSPrimitiveValue,+   Data.DOM.CSSRule,+   Data.DOM.CSSRuleList,+   Data.DOM.CSSStyleDeclaration,+   Data.DOM.CSSStyleRule,+   Data.DOM.CSSStyleSheet,+   Data.DOM.CSSValue,+   Data.DOM.CSSValueList,+   Data.DOM.Counter,+   Data.DOM.DOMImplementationCSS,+   Data.DOM.DocumentCSS,+   Data.DOM.ElementCSSInlineStyle,+   Data.DOM.RGBColor,+   Data.DOM.Rect,+   Data.DOM.ViewCSS,+   Data.DOM.Dom,+   Data.DOM.Attr,+   Data.DOM.CharacterData,+   Data.DOM.DOMImplementation,+   Data.DOM.Document,+   Data.DOM.DocumentType,+   Data.DOM.Element,+   Data.DOM.Entity,+   Data.DOM.NamedNodeMap,+   Data.DOM.Node,+   Data.DOM.NodeList,+   Data.DOM.Notation,+   Data.DOM.ProcessingInstruction,+   Data.DOM.Text,+   Data.DOM.Events,+   Data.DOM.DocumentEvent,+   Data.DOM.Event,+   Data.DOM.EventListener,+   Data.DOM.EventTarget,+   Data.DOM.KeyEvent,+   Data.DOM.KeyboardEvent,+   Data.DOM.MouseEvent,+   Data.DOM.MutationEvent,+   Data.DOM.UIEvent,+   Data.DOM.Html2,+   Data.DOM.HTMLAnchorElement,+   Data.DOM.HTMLAppletElement,+   Data.DOM.HTMLAreaElement,+   Data.DOM.HTMLBRElement,+   Data.DOM.HTMLBaseElement,+   Data.DOM.HTMLBaseFontElement,+   Data.DOM.HTMLBodyElement,+   Data.DOM.HTMLButtonElement,+   Data.DOM.HTMLCollection,+   Data.DOM.HTMLDListElement,+   Data.DOM.HTMLDirectoryElement,+   Data.DOM.HTMLDivElement,+   Data.DOM.HTMLDocument,+   Data.DOM.HTMLElement,+   Data.DOM.HTMLFieldSetElement,+   Data.DOM.HTMLFontElement,+   Data.DOM.HTMLFormElement,+   Data.DOM.HTMLFrameElement,+   Data.DOM.HTMLFrameSetElement,+   Data.DOM.HTMLHRElement,+   Data.DOM.HTMLHeadElement,+   Data.DOM.HTMLHeadingElement,+   Data.DOM.HTMLHtmlElement,+   Data.DOM.HTMLIFrameElement,+   Data.DOM.HTMLImageElement,+   Data.DOM.HTMLInputElement,+   Data.DOM.HTMLIsIndexElement,+   Data.DOM.HTMLLIElement,+   Data.DOM.HTMLLabelElement,+   Data.DOM.HTMLLegendElement,+   Data.DOM.HTMLLinkElement,+   Data.DOM.HTMLMapElement,+   Data.DOM.HTMLMenuElement,+   Data.DOM.HTMLMetaElement,+   Data.DOM.HTMLModElement,+   Data.DOM.HTMLOListElement,+   Data.DOM.HTMLObjectElement,+   Data.DOM.HTMLOptGroupElement,+   Data.DOM.HTMLOptionElement,+   Data.DOM.HTMLOptionsCollection,+   Data.DOM.HTMLParagraphElement,+   Data.DOM.HTMLParamElement,+   Data.DOM.HTMLPreElement,+   Data.DOM.HTMLQuoteElement,+   Data.DOM.HTMLScriptElement,+   Data.DOM.HTMLSelectElement,+   Data.DOM.HTMLStyleElement,+   Data.DOM.HTMLTableCaptionElement,+   Data.DOM.HTMLTableCellElement,+   Data.DOM.HTMLTableColElement,+   Data.DOM.HTMLTableElement,+   Data.DOM.HTMLTableRowElement,+   Data.DOM.HTMLTableSectionElement,+   Data.DOM.HTMLTextAreaElement,+   Data.DOM.HTMLTitleElement,+   Data.DOM.HTMLUListElement,+   Data.DOM.Ranges,+   Data.DOM.DocumentRange,+   Data.DOM.Range,+   Data.DOM.Stylesheets,+   Data.DOM.DocumentStyle,+   Data.DOM.LinkStyle,+   Data.DOM.MediaList,+   Data.DOM.StyleSheet,+   Data.DOM.StyleSheetList,+   Data.DOM.Traversal,+   Data.DOM.DocumentTraversal,+   Data.DOM.NodeFilter,+   Data.DOM.NodeIterator,+   Data.DOM.TreeWalker,+   Data.DOM.Views,+   Data.DOM.AbstractView,+   Data.DOM.DocumentView,+   Data.DOM.WBTypes,+   Data.DOM,+   Data.DOM.WindowObj,+   Data.DOM.DocumentWindow,+   Data.DOM.EmbeddingElement,+   Data.DOM.Location,+   Data.DOM.Window,+   Data.DOM.XMLHTTP,+   Data.DOM.XMLHttpRequest
+ Data/DOM.hs view
@@ -0,0 +1,190 @@++------------------------------------------------------------------+-- |+-- Module      :  Data.DOM+-- Copyright   :  (c) Dmitry Golubovsky, 2009+-- License     :  BSD-style+-- +-- Maintainer  :  golubovsky@gmail.com+-- Stability   :  experimental+-- Portability :  portable+-- +-- This module will most likely be imported by any Haskell program that uses DOM.+-- Other modules from Data.DOM namespace are to be imported as needed, sometimes+-- qualified because there are some name clashes in attributes and methods across+-- the DOM interfaces.+--+-- Below is an example of Haskell code which generates Javascript to display+-- traditional @Hello World@. This example shows that even a simplest +-- "Control.Monad.Identity" will do. Of course, a more sofisticated Monad+-- might provide more benefits, such as assigning some of expressions to+-- Javascript variables to share and prevent repeated evaluation, +-- automatic declaration of functions, etc.+-- +-- @+-- module Main where+-- import "WebBits.JavaScript"+-- import "Control.Monad"+-- import "Control.Monad.Identity"+-- import "Data.DOM"+-- import "Data.DOM.Dom"+-- import "Data.DOM.Node"+-- import "Data.DOM.HTMLDocument"+-- main = 'putStrLn' '$' 'show' '$' pp '$' +--   'FunctionStmt' undefined ('Id' undefined \"main\") [] +--     ('ExprStmt' undefined '$' 'runIdentity' q)+-- q = do+--   d <- 'htmlDocument'+--   t <- 'mkText' ('string' \"Hello World\") d+--   b <- 'getm'body' d+--   'addChild' t b+-- @+--+-- Below is Javascript generated by this example. All expressions just nest+-- where necessary, and method calls may be chained.+--+-- @ +-- function main()+-- \{+-- window.document.body.appendChild(window.document.createTextNode(\"Hello World\"));+-- \}+-- @+------------------------------------------------------------------++module Data.DOM (+  -- * Module Data.DOM.WBTypes re-exported for convenience+  module Data.DOM.WBTypes+  -- * Additional DOM support functions+ ,window+ ,document+ ,htmlDocument+ ,documentBody+ ,documentHead+ ,inlineStyle+ ,inlineStyleDecl+ ,mkText+ ,addChild+  -- * Functions to construct Javascript values+ ,string+ ,number+ ,bool+ ,true+ ,false+) where++import Control.Monad+import Data.DOM.WBTypes+import Data.DOM.WindowObj+import Data.DOM.Window+import Data.DOM.Dom+import Data.DOM.Html2+import Data.DOM.Css+import Data.DOM.Node+import Data.DOM.Document+import Data.DOM.HTMLDocument+import WebBits.JavaScript++-- | Access the global Window object.++window :: (Monad m) => m (Expression TWindow)++window = return $ VarRef TWindow (Id TWindow "window")++-- | Access the current document. This indeed should be made through the+-- Window interface, but current (incomplete) specification does not+-- provide an easy way for that.++document :: (Monad m) => m (Expression TDocument)++document = return $ VarRef TDocument (Id TDocument "window.document")++-- | Same as above, using the HTMLDocument interface.++htmlDocument :: (Monad m) => m (Expression THTMLDocument)++htmlDocument = return $ VarRef THTMLDocument (Id THTMLDocument "window.document")++-- | A maker function for a TEXT element.++mkText :: (Monad mn, CDocument this) => +   Expression String -> Expression this -> mn (Expression TText)++mkText = createTextNode++-- | Same as 'appendChild', but with type signature reflecting that returned+-- value is the node added.++addChild :: (Monad m, CNode c, CNode p) => Expression c -> Expression p -> m (Expression c)++addChild = appendChild++-- | Access the @<BODY>@ node of the current HTML document. Same as 'get\'body', but with+-- proper type of the returned value.++documentBody ::  (Monad mn, CHTMLDocument this) => +  Expression this -> mn (Expression THTMLBodyElement)++documentBody = get'body++-- | Access the @<HEAD>@ node of the current HTML document.++documentHead ::+          (Monad mn, CHTMLDocument this) =>+            Expression this -> mn (Expression THTMLHeadElement)+documentHead thisp+  = do let et = undefined :: THTMLHeadElement+       let r = DotRef et (thisp /\ et) (Id et "head")+       return r++-- |Obtain an inline style ('TCSS2Properties') interface of an object++inlineStyle ::+          (Monad mn, CHTMLElement this) =>+            Expression this -> mn (Expression TCSS2Properties)+inlineStyle thisp+  = do let et = undefined :: TCSS2Properties+       let r = DotRef et (thisp /\ et) (Id et "style")+       return r++-- |Obtain an inline style ('TCSSStyleDeclaration') interface of an object++inlineStyleDecl ::+          (Monad mn, CHTMLElement this) =>+            Expression this -> mn (Expression TCSSStyleDeclaration)+inlineStyleDecl thisp+  = do let et = undefined :: TCSSStyleDeclaration+       let r = DotRef et (thisp /\ et) (Id et "style")+       return r+++-- | Create a Javascript string literal out of a string.++string :: String -> Expression String++string s = StringLit s s++-- | Create a Javascript numeric literal out of a numeric value.++number :: (Integral n) => n -> Expression Double++number n = let d = fromIntegral n in NumLit d d++-- | Create a Javascript boolean literal out of a Boolean.++bool :: Bool -> Expression Bool++bool b = BoolLit b b++-- | Javascript True value++true :: Expression Bool++true = bool True++-- | Javascript False value++false :: Expression Bool++false = bool False++
+ Data/DOM/AbstractView.hs view
@@ -0,0 +1,22 @@++module Data.DOM.AbstractView (get'document, getm'document) where+import Data.DOM.Views+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'document ::+             (Monad mn, CAbstractView this, CDocumentView zz) =>+               Expression this -> mn (Expression zz)+get'document thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "document")+       return r+ +getm'document ::+              (Monad mn, CAbstractView this) =>+                Expression this -> mn (Expression TDocumentView)+getm'document = get'document+
+ Data/DOM/Attr.hs view
@@ -0,0 +1,62 @@++module Data.DOM.Attr+       (get'name, getm'name, get'specified, getm'specified, set'value,+        get'value, getm'value, get'ownerElement, getm'ownerElement)+       where+import Data.DOM.Dom+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Document (createElement)+ +get'name ::+         (Monad mn, CAttr this) => Expression this -> mn (Expression String)+get'name thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "name")+       return r+ +getm'name ::+          (Monad mn, CAttr this) => Expression this -> mn (Expression String)+getm'name = get'name+ +get'specified ::+              (Monad mn, CAttr this) => Expression this -> mn (Expression Bool)+get'specified thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "specified")+       return r+ +getm'specified ::+               (Monad mn, CAttr this) => Expression this -> mn (Expression Bool)+getm'specified = get'specified+ +set'value ::+          (Monad mn, CAttr zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'value = setjsProperty "value"+ +get'value ::+          (Monad mn, CAttr this) => Expression this -> mn (Expression String)+get'value thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "value")+       return r+ +getm'value ::+           (Monad mn, CAttr this) => Expression this -> mn (Expression String)+getm'value = get'value+ +get'ownerElement ::+                 (Monad mn, CAttr this, CElement zz) =>+                   Expression this -> mn (Expression zz)+get'ownerElement thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "ownerElement")+       return r+ +getm'ownerElement ::+                  (Monad mn, CAttr this) =>+                    Expression this -> mn (Expression TElement)+getm'ownerElement = get'ownerElement+
+ Data/DOM/CSS2Properties.hs view
@@ -0,0 +1,2310 @@++module Data.DOM.CSS2Properties+       (set'azimuth, get'azimuth, getm'azimuth, set'background,+        get'background, getm'background, set'backgroundAttachment,+        get'backgroundAttachment, getm'backgroundAttachment,+        set'backgroundColor, get'backgroundColor, getm'backgroundColor,+        set'backgroundImage, get'backgroundImage, getm'backgroundImage,+        set'backgroundPosition, get'backgroundPosition,+        getm'backgroundPosition, set'backgroundRepeat,+        get'backgroundRepeat, getm'backgroundRepeat, set'border,+        get'border, getm'border, set'borderCollapse, get'borderCollapse,+        getm'borderCollapse, set'borderColor, get'borderColor,+        getm'borderColor, set'borderSpacing, get'borderSpacing,+        getm'borderSpacing, set'borderStyle, get'borderStyle,+        getm'borderStyle, set'borderTop, get'borderTop, getm'borderTop,+        set'borderRight, get'borderRight, getm'borderRight,+        set'borderBottom, get'borderBottom, getm'borderBottom,+        set'borderLeft, get'borderLeft, getm'borderLeft,+        set'borderTopColor, get'borderTopColor, getm'borderTopColor,+        set'borderRightColor, get'borderRightColor, getm'borderRightColor,+        set'borderBottomColor, get'borderBottomColor,+        getm'borderBottomColor, set'borderLeftColor, get'borderLeftColor,+        getm'borderLeftColor, set'borderTopStyle, get'borderTopStyle,+        getm'borderTopStyle, set'borderRightStyle, get'borderRightStyle,+        getm'borderRightStyle, set'borderBottomStyle,+        get'borderBottomStyle, getm'borderBottomStyle, set'borderLeftStyle,+        get'borderLeftStyle, getm'borderLeftStyle, set'borderTopWidth,+        get'borderTopWidth, getm'borderTopWidth, set'borderRightWidth,+        get'borderRightWidth, getm'borderRightWidth, set'borderBottomWidth,+        get'borderBottomWidth, getm'borderBottomWidth, set'borderLeftWidth,+        get'borderLeftWidth, getm'borderLeftWidth, set'borderWidth,+        get'borderWidth, getm'borderWidth, set'bottom, get'bottom,+        getm'bottom, set'captionSide, get'captionSide, getm'captionSide,+        set'clear, get'clear, getm'clear, set'clip, get'clip, getm'clip,+        set'color, get'color, getm'color, set'content, get'content,+        getm'content, set'counterIncrement, get'counterIncrement,+        getm'counterIncrement, set'counterReset, get'counterReset,+        getm'counterReset, set'cue, get'cue, getm'cue, set'cueAfter,+        get'cueAfter, getm'cueAfter, set'cueBefore, get'cueBefore,+        getm'cueBefore, set'cursor, get'cursor, getm'cursor, set'direction,+        get'direction, getm'direction, set'display, get'display,+        getm'display, set'elevation, get'elevation, getm'elevation,+        set'emptyCells, get'emptyCells, getm'emptyCells, set'cssFloat,+        get'cssFloat, getm'cssFloat, set'font, get'font, getm'font,+        set'fontFamily, get'fontFamily, getm'fontFamily, set'fontSize,+        get'fontSize, getm'fontSize, set'fontSizeAdjust,+        get'fontSizeAdjust, getm'fontSizeAdjust, set'fontStretch,+        get'fontStretch, getm'fontStretch, set'fontStyle, get'fontStyle,+        getm'fontStyle, set'fontVariant, get'fontVariant, getm'fontVariant,+        set'fontWeight, get'fontWeight, getm'fontWeight, set'height,+        get'height, getm'height, set'left, get'left, getm'left,+        set'letterSpacing, get'letterSpacing, getm'letterSpacing,+        set'lineHeight, get'lineHeight, getm'lineHeight, set'listStyle,+        get'listStyle, getm'listStyle, set'listStyleImage,+        get'listStyleImage, getm'listStyleImage, set'listStylePosition,+        get'listStylePosition, getm'listStylePosition, set'listStyleType,+        get'listStyleType, getm'listStyleType, set'margin, get'margin,+        getm'margin, set'marginTop, get'marginTop, getm'marginTop,+        set'marginRight, get'marginRight, getm'marginRight,+        set'marginBottom, get'marginBottom, getm'marginBottom,+        set'marginLeft, get'marginLeft, getm'marginLeft, set'markerOffset,+        get'markerOffset, getm'markerOffset, set'marks, get'marks,+        getm'marks, set'maxHeight, get'maxHeight, getm'maxHeight,+        set'maxWidth, get'maxWidth, getm'maxWidth, set'minHeight,+        get'minHeight, getm'minHeight, set'minWidth, get'minWidth,+        getm'minWidth, set'orphans, get'orphans, getm'orphans, set'outline,+        get'outline, getm'outline, set'outlineColor, get'outlineColor,+        getm'outlineColor, set'outlineStyle, get'outlineStyle,+        getm'outlineStyle, set'outlineWidth, get'outlineWidth,+        getm'outlineWidth, set'overflow, get'overflow, getm'overflow,+        set'padding, get'padding, getm'padding, set'paddingTop,+        get'paddingTop, getm'paddingTop, set'paddingRight,+        get'paddingRight, getm'paddingRight, set'paddingBottom,+        get'paddingBottom, getm'paddingBottom, set'paddingLeft,+        get'paddingLeft, getm'paddingLeft, set'page, get'page, getm'page,+        set'pageBreakAfter, get'pageBreakAfter, getm'pageBreakAfter,+        set'pageBreakBefore, get'pageBreakBefore, getm'pageBreakBefore,+        set'pageBreakInside, get'pageBreakInside, getm'pageBreakInside,+        set'pause, get'pause, getm'pause, set'pauseAfter, get'pauseAfter,+        getm'pauseAfter, set'pauseBefore, get'pauseBefore,+        getm'pauseBefore, set'pitch, get'pitch, getm'pitch, set'pitchRange,+        get'pitchRange, getm'pitchRange, set'playDuring, get'playDuring,+        getm'playDuring, set'position, get'position, getm'position,+        set'quotes, get'quotes, getm'quotes, set'richness, get'richness,+        getm'richness, set'right, get'right, getm'right, set'size,+        get'size, getm'size, set'speak, get'speak, getm'speak,+        set'speakHeader, get'speakHeader, getm'speakHeader,+        set'speakNumeral, get'speakNumeral, getm'speakNumeral,+        set'speakPunctuation, get'speakPunctuation, getm'speakPunctuation,+        set'speechRate, get'speechRate, getm'speechRate, set'stress,+        get'stress, getm'stress, set'tableLayout, get'tableLayout,+        getm'tableLayout, set'textAlign, get'textAlign, getm'textAlign,+        set'textDecoration, get'textDecoration, getm'textDecoration,+        set'textIndent, get'textIndent, getm'textIndent, set'textShadow,+        get'textShadow, getm'textShadow, set'textTransform,+        get'textTransform, getm'textTransform, set'top, get'top, getm'top,+        set'unicodeBidi, get'unicodeBidi, getm'unicodeBidi,+        set'verticalAlign, get'verticalAlign, getm'verticalAlign,+        set'visibility, get'visibility, getm'visibility, set'voiceFamily,+        get'voiceFamily, getm'voiceFamily, set'volume, get'volume,+        getm'volume, set'whiteSpace, get'whiteSpace, getm'whiteSpace,+        set'widows, get'widows, getm'widows, set'width, get'width,+        getm'width, set'wordSpacing, get'wordSpacing, getm'wordSpacing,+        set'zIndex, get'zIndex, getm'zIndex)+       where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'azimuth ::+            (Monad mn, CCSS2Properties zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'azimuth = setjsProperty "azimuth"+ +get'azimuth ::+            (Monad mn, CCSS2Properties this) =>+              Expression this -> mn (Expression String)+get'azimuth thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "azimuth")+       return r+ +getm'azimuth ::+             (Monad mn, CCSS2Properties this) =>+               Expression this -> mn (Expression String)+getm'azimuth = get'azimuth+ +set'background ::+               (Monad mn, CCSS2Properties zz) =>+                 Expression String -> Expression zz -> mn (Expression zz)+set'background = setjsProperty "background"+ +get'background ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+get'background thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "background")+       return r+ +getm'background ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+getm'background = get'background+ +set'backgroundAttachment ::+                         (Monad mn, CCSS2Properties zz) =>+                           Expression String -> Expression zz -> mn (Expression zz)+set'backgroundAttachment = setjsProperty "backgroundAttachment"+ +get'backgroundAttachment ::+                         (Monad mn, CCSS2Properties this) =>+                           Expression this -> mn (Expression String)+get'backgroundAttachment thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "backgroundAttachment")+       return r+ +getm'backgroundAttachment ::+                          (Monad mn, CCSS2Properties this) =>+                            Expression this -> mn (Expression String)+getm'backgroundAttachment = get'backgroundAttachment+ +set'backgroundColor ::+                    (Monad mn, CCSS2Properties zz) =>+                      Expression String -> Expression zz -> mn (Expression zz)+set'backgroundColor = setjsProperty "backgroundColor"+ +get'backgroundColor ::+                    (Monad mn, CCSS2Properties this) =>+                      Expression this -> mn (Expression String)+get'backgroundColor thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "backgroundColor")+       return r+ +getm'backgroundColor ::+                     (Monad mn, CCSS2Properties this) =>+                       Expression this -> mn (Expression String)+getm'backgroundColor = get'backgroundColor+ +set'backgroundImage ::+                    (Monad mn, CCSS2Properties zz) =>+                      Expression String -> Expression zz -> mn (Expression zz)+set'backgroundImage = setjsProperty "backgroundImage"+ +get'backgroundImage ::+                    (Monad mn, CCSS2Properties this) =>+                      Expression this -> mn (Expression String)+get'backgroundImage thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "backgroundImage")+       return r+ +getm'backgroundImage ::+                     (Monad mn, CCSS2Properties this) =>+                       Expression this -> mn (Expression String)+getm'backgroundImage = get'backgroundImage+ +set'backgroundPosition ::+                       (Monad mn, CCSS2Properties zz) =>+                         Expression String -> Expression zz -> mn (Expression zz)+set'backgroundPosition = setjsProperty "backgroundPosition"+ +get'backgroundPosition ::+                       (Monad mn, CCSS2Properties this) =>+                         Expression this -> mn (Expression String)+get'backgroundPosition thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "backgroundPosition")+       return r+ +getm'backgroundPosition ::+                        (Monad mn, CCSS2Properties this) =>+                          Expression this -> mn (Expression String)+getm'backgroundPosition = get'backgroundPosition+ +set'backgroundRepeat ::+                     (Monad mn, CCSS2Properties zz) =>+                       Expression String -> Expression zz -> mn (Expression zz)+set'backgroundRepeat = setjsProperty "backgroundRepeat"+ +get'backgroundRepeat ::+                     (Monad mn, CCSS2Properties this) =>+                       Expression this -> mn (Expression String)+get'backgroundRepeat thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "backgroundRepeat")+       return r+ +getm'backgroundRepeat ::+                      (Monad mn, CCSS2Properties this) =>+                        Expression this -> mn (Expression String)+getm'backgroundRepeat = get'backgroundRepeat+ +set'border ::+           (Monad mn, CCSS2Properties zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'border = setjsProperty "border"+ +get'border ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+get'border thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "border")+       return r+ +getm'border ::+            (Monad mn, CCSS2Properties this) =>+              Expression this -> mn (Expression String)+getm'border = get'border+ +set'borderCollapse ::+                   (Monad mn, CCSS2Properties zz) =>+                     Expression String -> Expression zz -> mn (Expression zz)+set'borderCollapse = setjsProperty "borderCollapse"+ +get'borderCollapse ::+                   (Monad mn, CCSS2Properties this) =>+                     Expression this -> mn (Expression String)+get'borderCollapse thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderCollapse")+       return r+ +getm'borderCollapse ::+                    (Monad mn, CCSS2Properties this) =>+                      Expression this -> mn (Expression String)+getm'borderCollapse = get'borderCollapse+ +set'borderColor ::+                (Monad mn, CCSS2Properties zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'borderColor = setjsProperty "borderColor"+ +get'borderColor ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+get'borderColor thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderColor")+       return r+ +getm'borderColor ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+getm'borderColor = get'borderColor+ +set'borderSpacing ::+                  (Monad mn, CCSS2Properties zz) =>+                    Expression String -> Expression zz -> mn (Expression zz)+set'borderSpacing = setjsProperty "borderSpacing"+ +get'borderSpacing ::+                  (Monad mn, CCSS2Properties this) =>+                    Expression this -> mn (Expression String)+get'borderSpacing thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderSpacing")+       return r+ +getm'borderSpacing ::+                   (Monad mn, CCSS2Properties this) =>+                     Expression this -> mn (Expression String)+getm'borderSpacing = get'borderSpacing+ +set'borderStyle ::+                (Monad mn, CCSS2Properties zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'borderStyle = setjsProperty "borderStyle"+ +get'borderStyle ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+get'borderStyle thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderStyle")+       return r+ +getm'borderStyle ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+getm'borderStyle = get'borderStyle+ +set'borderTop ::+              (Monad mn, CCSS2Properties zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'borderTop = setjsProperty "borderTop"+ +get'borderTop ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+get'borderTop thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderTop")+       return r+ +getm'borderTop ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+getm'borderTop = get'borderTop+ +set'borderRight ::+                (Monad mn, CCSS2Properties zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'borderRight = setjsProperty "borderRight"+ +get'borderRight ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+get'borderRight thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderRight")+       return r+ +getm'borderRight ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+getm'borderRight = get'borderRight+ +set'borderBottom ::+                 (Monad mn, CCSS2Properties zz) =>+                   Expression String -> Expression zz -> mn (Expression zz)+set'borderBottom = setjsProperty "borderBottom"+ +get'borderBottom ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+get'borderBottom thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderBottom")+       return r+ +getm'borderBottom ::+                  (Monad mn, CCSS2Properties this) =>+                    Expression this -> mn (Expression String)+getm'borderBottom = get'borderBottom+ +set'borderLeft ::+               (Monad mn, CCSS2Properties zz) =>+                 Expression String -> Expression zz -> mn (Expression zz)+set'borderLeft = setjsProperty "borderLeft"+ +get'borderLeft ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+get'borderLeft thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderLeft")+       return r+ +getm'borderLeft ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+getm'borderLeft = get'borderLeft+ +set'borderTopColor ::+                   (Monad mn, CCSS2Properties zz) =>+                     Expression String -> Expression zz -> mn (Expression zz)+set'borderTopColor = setjsProperty "borderTopColor"+ +get'borderTopColor ::+                   (Monad mn, CCSS2Properties this) =>+                     Expression this -> mn (Expression String)+get'borderTopColor thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderTopColor")+       return r+ +getm'borderTopColor ::+                    (Monad mn, CCSS2Properties this) =>+                      Expression this -> mn (Expression String)+getm'borderTopColor = get'borderTopColor+ +set'borderRightColor ::+                     (Monad mn, CCSS2Properties zz) =>+                       Expression String -> Expression zz -> mn (Expression zz)+set'borderRightColor = setjsProperty "borderRightColor"+ +get'borderRightColor ::+                     (Monad mn, CCSS2Properties this) =>+                       Expression this -> mn (Expression String)+get'borderRightColor thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderRightColor")+       return r+ +getm'borderRightColor ::+                      (Monad mn, CCSS2Properties this) =>+                        Expression this -> mn (Expression String)+getm'borderRightColor = get'borderRightColor+ +set'borderBottomColor ::+                      (Monad mn, CCSS2Properties zz) =>+                        Expression String -> Expression zz -> mn (Expression zz)+set'borderBottomColor = setjsProperty "borderBottomColor"+ +get'borderBottomColor ::+                      (Monad mn, CCSS2Properties this) =>+                        Expression this -> mn (Expression String)+get'borderBottomColor thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderBottomColor")+       return r+ +getm'borderBottomColor ::+                       (Monad mn, CCSS2Properties this) =>+                         Expression this -> mn (Expression String)+getm'borderBottomColor = get'borderBottomColor+ +set'borderLeftColor ::+                    (Monad mn, CCSS2Properties zz) =>+                      Expression String -> Expression zz -> mn (Expression zz)+set'borderLeftColor = setjsProperty "borderLeftColor"+ +get'borderLeftColor ::+                    (Monad mn, CCSS2Properties this) =>+                      Expression this -> mn (Expression String)+get'borderLeftColor thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderLeftColor")+       return r+ +getm'borderLeftColor ::+                     (Monad mn, CCSS2Properties this) =>+                       Expression this -> mn (Expression String)+getm'borderLeftColor = get'borderLeftColor+ +set'borderTopStyle ::+                   (Monad mn, CCSS2Properties zz) =>+                     Expression String -> Expression zz -> mn (Expression zz)+set'borderTopStyle = setjsProperty "borderTopStyle"+ +get'borderTopStyle ::+                   (Monad mn, CCSS2Properties this) =>+                     Expression this -> mn (Expression String)+get'borderTopStyle thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderTopStyle")+       return r+ +getm'borderTopStyle ::+                    (Monad mn, CCSS2Properties this) =>+                      Expression this -> mn (Expression String)+getm'borderTopStyle = get'borderTopStyle+ +set'borderRightStyle ::+                     (Monad mn, CCSS2Properties zz) =>+                       Expression String -> Expression zz -> mn (Expression zz)+set'borderRightStyle = setjsProperty "borderRightStyle"+ +get'borderRightStyle ::+                     (Monad mn, CCSS2Properties this) =>+                       Expression this -> mn (Expression String)+get'borderRightStyle thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderRightStyle")+       return r+ +getm'borderRightStyle ::+                      (Monad mn, CCSS2Properties this) =>+                        Expression this -> mn (Expression String)+getm'borderRightStyle = get'borderRightStyle+ +set'borderBottomStyle ::+                      (Monad mn, CCSS2Properties zz) =>+                        Expression String -> Expression zz -> mn (Expression zz)+set'borderBottomStyle = setjsProperty "borderBottomStyle"+ +get'borderBottomStyle ::+                      (Monad mn, CCSS2Properties this) =>+                        Expression this -> mn (Expression String)+get'borderBottomStyle thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderBottomStyle")+       return r+ +getm'borderBottomStyle ::+                       (Monad mn, CCSS2Properties this) =>+                         Expression this -> mn (Expression String)+getm'borderBottomStyle = get'borderBottomStyle+ +set'borderLeftStyle ::+                    (Monad mn, CCSS2Properties zz) =>+                      Expression String -> Expression zz -> mn (Expression zz)+set'borderLeftStyle = setjsProperty "borderLeftStyle"+ +get'borderLeftStyle ::+                    (Monad mn, CCSS2Properties this) =>+                      Expression this -> mn (Expression String)+get'borderLeftStyle thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderLeftStyle")+       return r+ +getm'borderLeftStyle ::+                     (Monad mn, CCSS2Properties this) =>+                       Expression this -> mn (Expression String)+getm'borderLeftStyle = get'borderLeftStyle+ +set'borderTopWidth ::+                   (Monad mn, CCSS2Properties zz) =>+                     Expression String -> Expression zz -> mn (Expression zz)+set'borderTopWidth = setjsProperty "borderTopWidth"+ +get'borderTopWidth ::+                   (Monad mn, CCSS2Properties this) =>+                     Expression this -> mn (Expression String)+get'borderTopWidth thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderTopWidth")+       return r+ +getm'borderTopWidth ::+                    (Monad mn, CCSS2Properties this) =>+                      Expression this -> mn (Expression String)+getm'borderTopWidth = get'borderTopWidth+ +set'borderRightWidth ::+                     (Monad mn, CCSS2Properties zz) =>+                       Expression String -> Expression zz -> mn (Expression zz)+set'borderRightWidth = setjsProperty "borderRightWidth"+ +get'borderRightWidth ::+                     (Monad mn, CCSS2Properties this) =>+                       Expression this -> mn (Expression String)+get'borderRightWidth thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderRightWidth")+       return r+ +getm'borderRightWidth ::+                      (Monad mn, CCSS2Properties this) =>+                        Expression this -> mn (Expression String)+getm'borderRightWidth = get'borderRightWidth+ +set'borderBottomWidth ::+                      (Monad mn, CCSS2Properties zz) =>+                        Expression String -> Expression zz -> mn (Expression zz)+set'borderBottomWidth = setjsProperty "borderBottomWidth"+ +get'borderBottomWidth ::+                      (Monad mn, CCSS2Properties this) =>+                        Expression this -> mn (Expression String)+get'borderBottomWidth thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderBottomWidth")+       return r+ +getm'borderBottomWidth ::+                       (Monad mn, CCSS2Properties this) =>+                         Expression this -> mn (Expression String)+getm'borderBottomWidth = get'borderBottomWidth+ +set'borderLeftWidth ::+                    (Monad mn, CCSS2Properties zz) =>+                      Expression String -> Expression zz -> mn (Expression zz)+set'borderLeftWidth = setjsProperty "borderLeftWidth"+ +get'borderLeftWidth ::+                    (Monad mn, CCSS2Properties this) =>+                      Expression this -> mn (Expression String)+get'borderLeftWidth thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderLeftWidth")+       return r+ +getm'borderLeftWidth ::+                     (Monad mn, CCSS2Properties this) =>+                       Expression this -> mn (Expression String)+getm'borderLeftWidth = get'borderLeftWidth+ +set'borderWidth ::+                (Monad mn, CCSS2Properties zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'borderWidth = setjsProperty "borderWidth"+ +get'borderWidth ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+get'borderWidth thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "borderWidth")+       return r+ +getm'borderWidth ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+getm'borderWidth = get'borderWidth+ +set'bottom ::+           (Monad mn, CCSS2Properties zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'bottom = setjsProperty "bottom"+ +get'bottom ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+get'bottom thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "bottom")+       return r+ +getm'bottom ::+            (Monad mn, CCSS2Properties this) =>+              Expression this -> mn (Expression String)+getm'bottom = get'bottom+ +set'captionSide ::+                (Monad mn, CCSS2Properties zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'captionSide = setjsProperty "captionSide"+ +get'captionSide ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+get'captionSide thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "captionSide")+       return r+ +getm'captionSide ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+getm'captionSide = get'captionSide+ +set'clear ::+          (Monad mn, CCSS2Properties zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'clear = setjsProperty "clear"+ +get'clear ::+          (Monad mn, CCSS2Properties this) =>+            Expression this -> mn (Expression String)+get'clear thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "clear")+       return r+ +getm'clear ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+getm'clear = get'clear+ +set'clip ::+         (Monad mn, CCSS2Properties zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'clip = setjsProperty "clip"+ +get'clip ::+         (Monad mn, CCSS2Properties this) =>+           Expression this -> mn (Expression String)+get'clip thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "clip")+       return r+ +getm'clip ::+          (Monad mn, CCSS2Properties this) =>+            Expression this -> mn (Expression String)+getm'clip = get'clip+ +set'color ::+          (Monad mn, CCSS2Properties zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'color = setjsProperty "color"+ +get'color ::+          (Monad mn, CCSS2Properties this) =>+            Expression this -> mn (Expression String)+get'color thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "color")+       return r+ +getm'color ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+getm'color = get'color+ +set'content ::+            (Monad mn, CCSS2Properties zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'content = setjsProperty "content"+ +get'content ::+            (Monad mn, CCSS2Properties this) =>+              Expression this -> mn (Expression String)+get'content thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "content")+       return r+ +getm'content ::+             (Monad mn, CCSS2Properties this) =>+               Expression this -> mn (Expression String)+getm'content = get'content+ +set'counterIncrement ::+                     (Monad mn, CCSS2Properties zz) =>+                       Expression String -> Expression zz -> mn (Expression zz)+set'counterIncrement = setjsProperty "counterIncrement"+ +get'counterIncrement ::+                     (Monad mn, CCSS2Properties this) =>+                       Expression this -> mn (Expression String)+get'counterIncrement thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "counterIncrement")+       return r+ +getm'counterIncrement ::+                      (Monad mn, CCSS2Properties this) =>+                        Expression this -> mn (Expression String)+getm'counterIncrement = get'counterIncrement+ +set'counterReset ::+                 (Monad mn, CCSS2Properties zz) =>+                   Expression String -> Expression zz -> mn (Expression zz)+set'counterReset = setjsProperty "counterReset"+ +get'counterReset ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+get'counterReset thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "counterReset")+       return r+ +getm'counterReset ::+                  (Monad mn, CCSS2Properties this) =>+                    Expression this -> mn (Expression String)+getm'counterReset = get'counterReset+ +set'cue ::+        (Monad mn, CCSS2Properties zz) =>+          Expression String -> Expression zz -> mn (Expression zz)+set'cue = setjsProperty "cue"+ +get'cue ::+        (Monad mn, CCSS2Properties this) =>+          Expression this -> mn (Expression String)+get'cue thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "cue")+       return r+ +getm'cue ::+         (Monad mn, CCSS2Properties this) =>+           Expression this -> mn (Expression String)+getm'cue = get'cue+ +set'cueAfter ::+             (Monad mn, CCSS2Properties zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'cueAfter = setjsProperty "cueAfter"+ +get'cueAfter ::+             (Monad mn, CCSS2Properties this) =>+               Expression this -> mn (Expression String)+get'cueAfter thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "cueAfter")+       return r+ +getm'cueAfter ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+getm'cueAfter = get'cueAfter+ +set'cueBefore ::+              (Monad mn, CCSS2Properties zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'cueBefore = setjsProperty "cueBefore"+ +get'cueBefore ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+get'cueBefore thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "cueBefore")+       return r+ +getm'cueBefore ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+getm'cueBefore = get'cueBefore+ +set'cursor ::+           (Monad mn, CCSS2Properties zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'cursor = setjsProperty "cursor"+ +get'cursor ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+get'cursor thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "cursor")+       return r+ +getm'cursor ::+            (Monad mn, CCSS2Properties this) =>+              Expression this -> mn (Expression String)+getm'cursor = get'cursor+ +set'direction ::+              (Monad mn, CCSS2Properties zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'direction = setjsProperty "direction"+ +get'direction ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+get'direction thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "direction")+       return r+ +getm'direction ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+getm'direction = get'direction+ +set'display ::+            (Monad mn, CCSS2Properties zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'display = setjsProperty "display"+ +get'display ::+            (Monad mn, CCSS2Properties this) =>+              Expression this -> mn (Expression String)+get'display thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "display")+       return r+ +getm'display ::+             (Monad mn, CCSS2Properties this) =>+               Expression this -> mn (Expression String)+getm'display = get'display+ +set'elevation ::+              (Monad mn, CCSS2Properties zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'elevation = setjsProperty "elevation"+ +get'elevation ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+get'elevation thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "elevation")+       return r+ +getm'elevation ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+getm'elevation = get'elevation+ +set'emptyCells ::+               (Monad mn, CCSS2Properties zz) =>+                 Expression String -> Expression zz -> mn (Expression zz)+set'emptyCells = setjsProperty "emptyCells"+ +get'emptyCells ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+get'emptyCells thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "emptyCells")+       return r+ +getm'emptyCells ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+getm'emptyCells = get'emptyCells+ +set'cssFloat ::+             (Monad mn, CCSS2Properties zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'cssFloat = setjsProperty "cssFloat"+ +get'cssFloat ::+             (Monad mn, CCSS2Properties this) =>+               Expression this -> mn (Expression String)+get'cssFloat thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "cssFloat")+       return r+ +getm'cssFloat ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+getm'cssFloat = get'cssFloat+ +set'font ::+         (Monad mn, CCSS2Properties zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'font = setjsProperty "font"+ +get'font ::+         (Monad mn, CCSS2Properties this) =>+           Expression this -> mn (Expression String)+get'font thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "font")+       return r+ +getm'font ::+          (Monad mn, CCSS2Properties this) =>+            Expression this -> mn (Expression String)+getm'font = get'font+ +set'fontFamily ::+               (Monad mn, CCSS2Properties zz) =>+                 Expression String -> Expression zz -> mn (Expression zz)+set'fontFamily = setjsProperty "fontFamily"+ +get'fontFamily ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+get'fontFamily thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "fontFamily")+       return r+ +getm'fontFamily ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+getm'fontFamily = get'fontFamily+ +set'fontSize ::+             (Monad mn, CCSS2Properties zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'fontSize = setjsProperty "fontSize"+ +get'fontSize ::+             (Monad mn, CCSS2Properties this) =>+               Expression this -> mn (Expression String)+get'fontSize thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "fontSize")+       return r+ +getm'fontSize ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+getm'fontSize = get'fontSize+ +set'fontSizeAdjust ::+                   (Monad mn, CCSS2Properties zz) =>+                     Expression String -> Expression zz -> mn (Expression zz)+set'fontSizeAdjust = setjsProperty "fontSizeAdjust"+ +get'fontSizeAdjust ::+                   (Monad mn, CCSS2Properties this) =>+                     Expression this -> mn (Expression String)+get'fontSizeAdjust thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "fontSizeAdjust")+       return r+ +getm'fontSizeAdjust ::+                    (Monad mn, CCSS2Properties this) =>+                      Expression this -> mn (Expression String)+getm'fontSizeAdjust = get'fontSizeAdjust+ +set'fontStretch ::+                (Monad mn, CCSS2Properties zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'fontStretch = setjsProperty "fontStretch"+ +get'fontStretch ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+get'fontStretch thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "fontStretch")+       return r+ +getm'fontStretch ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+getm'fontStretch = get'fontStretch+ +set'fontStyle ::+              (Monad mn, CCSS2Properties zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'fontStyle = setjsProperty "fontStyle"+ +get'fontStyle ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+get'fontStyle thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "fontStyle")+       return r+ +getm'fontStyle ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+getm'fontStyle = get'fontStyle+ +set'fontVariant ::+                (Monad mn, CCSS2Properties zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'fontVariant = setjsProperty "fontVariant"+ +get'fontVariant ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+get'fontVariant thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "fontVariant")+       return r+ +getm'fontVariant ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+getm'fontVariant = get'fontVariant+ +set'fontWeight ::+               (Monad mn, CCSS2Properties zz) =>+                 Expression String -> Expression zz -> mn (Expression zz)+set'fontWeight = setjsProperty "fontWeight"+ +get'fontWeight ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+get'fontWeight thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "fontWeight")+       return r+ +getm'fontWeight ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+getm'fontWeight = get'fontWeight+ +set'height ::+           (Monad mn, CCSS2Properties zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'height = setjsProperty "height"+ +get'height ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+get'height thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "height")+       return r+ +getm'height ::+            (Monad mn, CCSS2Properties this) =>+              Expression this -> mn (Expression String)+getm'height = get'height+ +set'left ::+         (Monad mn, CCSS2Properties zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'left = setjsProperty "left"+ +get'left ::+         (Monad mn, CCSS2Properties this) =>+           Expression this -> mn (Expression String)+get'left thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "left")+       return r+ +getm'left ::+          (Monad mn, CCSS2Properties this) =>+            Expression this -> mn (Expression String)+getm'left = get'left+ +set'letterSpacing ::+                  (Monad mn, CCSS2Properties zz) =>+                    Expression String -> Expression zz -> mn (Expression zz)+set'letterSpacing = setjsProperty "letterSpacing"+ +get'letterSpacing ::+                  (Monad mn, CCSS2Properties this) =>+                    Expression this -> mn (Expression String)+get'letterSpacing thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "letterSpacing")+       return r+ +getm'letterSpacing ::+                   (Monad mn, CCSS2Properties this) =>+                     Expression this -> mn (Expression String)+getm'letterSpacing = get'letterSpacing+ +set'lineHeight ::+               (Monad mn, CCSS2Properties zz) =>+                 Expression String -> Expression zz -> mn (Expression zz)+set'lineHeight = setjsProperty "lineHeight"+ +get'lineHeight ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+get'lineHeight thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "lineHeight")+       return r+ +getm'lineHeight ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+getm'lineHeight = get'lineHeight+ +set'listStyle ::+              (Monad mn, CCSS2Properties zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'listStyle = setjsProperty "listStyle"+ +get'listStyle ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+get'listStyle thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "listStyle")+       return r+ +getm'listStyle ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+getm'listStyle = get'listStyle+ +set'listStyleImage ::+                   (Monad mn, CCSS2Properties zz) =>+                     Expression String -> Expression zz -> mn (Expression zz)+set'listStyleImage = setjsProperty "listStyleImage"+ +get'listStyleImage ::+                   (Monad mn, CCSS2Properties this) =>+                     Expression this -> mn (Expression String)+get'listStyleImage thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "listStyleImage")+       return r+ +getm'listStyleImage ::+                    (Monad mn, CCSS2Properties this) =>+                      Expression this -> mn (Expression String)+getm'listStyleImage = get'listStyleImage+ +set'listStylePosition ::+                      (Monad mn, CCSS2Properties zz) =>+                        Expression String -> Expression zz -> mn (Expression zz)+set'listStylePosition = setjsProperty "listStylePosition"+ +get'listStylePosition ::+                      (Monad mn, CCSS2Properties this) =>+                        Expression this -> mn (Expression String)+get'listStylePosition thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "listStylePosition")+       return r+ +getm'listStylePosition ::+                       (Monad mn, CCSS2Properties this) =>+                         Expression this -> mn (Expression String)+getm'listStylePosition = get'listStylePosition+ +set'listStyleType ::+                  (Monad mn, CCSS2Properties zz) =>+                    Expression String -> Expression zz -> mn (Expression zz)+set'listStyleType = setjsProperty "listStyleType"+ +get'listStyleType ::+                  (Monad mn, CCSS2Properties this) =>+                    Expression this -> mn (Expression String)+get'listStyleType thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "listStyleType")+       return r+ +getm'listStyleType ::+                   (Monad mn, CCSS2Properties this) =>+                     Expression this -> mn (Expression String)+getm'listStyleType = get'listStyleType+ +set'margin ::+           (Monad mn, CCSS2Properties zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'margin = setjsProperty "margin"+ +get'margin ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+get'margin thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "margin")+       return r+ +getm'margin ::+            (Monad mn, CCSS2Properties this) =>+              Expression this -> mn (Expression String)+getm'margin = get'margin+ +set'marginTop ::+              (Monad mn, CCSS2Properties zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'marginTop = setjsProperty "marginTop"+ +get'marginTop ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+get'marginTop thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "marginTop")+       return r+ +getm'marginTop ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+getm'marginTop = get'marginTop+ +set'marginRight ::+                (Monad mn, CCSS2Properties zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'marginRight = setjsProperty "marginRight"+ +get'marginRight ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+get'marginRight thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "marginRight")+       return r+ +getm'marginRight ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+getm'marginRight = get'marginRight+ +set'marginBottom ::+                 (Monad mn, CCSS2Properties zz) =>+                   Expression String -> Expression zz -> mn (Expression zz)+set'marginBottom = setjsProperty "marginBottom"+ +get'marginBottom ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+get'marginBottom thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "marginBottom")+       return r+ +getm'marginBottom ::+                  (Monad mn, CCSS2Properties this) =>+                    Expression this -> mn (Expression String)+getm'marginBottom = get'marginBottom+ +set'marginLeft ::+               (Monad mn, CCSS2Properties zz) =>+                 Expression String -> Expression zz -> mn (Expression zz)+set'marginLeft = setjsProperty "marginLeft"+ +get'marginLeft ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+get'marginLeft thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "marginLeft")+       return r+ +getm'marginLeft ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+getm'marginLeft = get'marginLeft+ +set'markerOffset ::+                 (Monad mn, CCSS2Properties zz) =>+                   Expression String -> Expression zz -> mn (Expression zz)+set'markerOffset = setjsProperty "markerOffset"+ +get'markerOffset ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+get'markerOffset thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "markerOffset")+       return r+ +getm'markerOffset ::+                  (Monad mn, CCSS2Properties this) =>+                    Expression this -> mn (Expression String)+getm'markerOffset = get'markerOffset+ +set'marks ::+          (Monad mn, CCSS2Properties zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'marks = setjsProperty "marks"+ +get'marks ::+          (Monad mn, CCSS2Properties this) =>+            Expression this -> mn (Expression String)+get'marks thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "marks")+       return r+ +getm'marks ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+getm'marks = get'marks+ +set'maxHeight ::+              (Monad mn, CCSS2Properties zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'maxHeight = setjsProperty "maxHeight"+ +get'maxHeight ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+get'maxHeight thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "maxHeight")+       return r+ +getm'maxHeight ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+getm'maxHeight = get'maxHeight+ +set'maxWidth ::+             (Monad mn, CCSS2Properties zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'maxWidth = setjsProperty "maxWidth"+ +get'maxWidth ::+             (Monad mn, CCSS2Properties this) =>+               Expression this -> mn (Expression String)+get'maxWidth thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "maxWidth")+       return r+ +getm'maxWidth ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+getm'maxWidth = get'maxWidth+ +set'minHeight ::+              (Monad mn, CCSS2Properties zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'minHeight = setjsProperty "minHeight"+ +get'minHeight ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+get'minHeight thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "minHeight")+       return r+ +getm'minHeight ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+getm'minHeight = get'minHeight+ +set'minWidth ::+             (Monad mn, CCSS2Properties zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'minWidth = setjsProperty "minWidth"+ +get'minWidth ::+             (Monad mn, CCSS2Properties this) =>+               Expression this -> mn (Expression String)+get'minWidth thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "minWidth")+       return r+ +getm'minWidth ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+getm'minWidth = get'minWidth+ +set'orphans ::+            (Monad mn, CCSS2Properties zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'orphans = setjsProperty "orphans"+ +get'orphans ::+            (Monad mn, CCSS2Properties this) =>+              Expression this -> mn (Expression String)+get'orphans thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "orphans")+       return r+ +getm'orphans ::+             (Monad mn, CCSS2Properties this) =>+               Expression this -> mn (Expression String)+getm'orphans = get'orphans+ +set'outline ::+            (Monad mn, CCSS2Properties zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'outline = setjsProperty "outline"+ +get'outline ::+            (Monad mn, CCSS2Properties this) =>+              Expression this -> mn (Expression String)+get'outline thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "outline")+       return r+ +getm'outline ::+             (Monad mn, CCSS2Properties this) =>+               Expression this -> mn (Expression String)+getm'outline = get'outline+ +set'outlineColor ::+                 (Monad mn, CCSS2Properties zz) =>+                   Expression String -> Expression zz -> mn (Expression zz)+set'outlineColor = setjsProperty "outlineColor"+ +get'outlineColor ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+get'outlineColor thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "outlineColor")+       return r+ +getm'outlineColor ::+                  (Monad mn, CCSS2Properties this) =>+                    Expression this -> mn (Expression String)+getm'outlineColor = get'outlineColor+ +set'outlineStyle ::+                 (Monad mn, CCSS2Properties zz) =>+                   Expression String -> Expression zz -> mn (Expression zz)+set'outlineStyle = setjsProperty "outlineStyle"+ +get'outlineStyle ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+get'outlineStyle thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "outlineStyle")+       return r+ +getm'outlineStyle ::+                  (Monad mn, CCSS2Properties this) =>+                    Expression this -> mn (Expression String)+getm'outlineStyle = get'outlineStyle+ +set'outlineWidth ::+                 (Monad mn, CCSS2Properties zz) =>+                   Expression String -> Expression zz -> mn (Expression zz)+set'outlineWidth = setjsProperty "outlineWidth"+ +get'outlineWidth ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+get'outlineWidth thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "outlineWidth")+       return r+ +getm'outlineWidth ::+                  (Monad mn, CCSS2Properties this) =>+                    Expression this -> mn (Expression String)+getm'outlineWidth = get'outlineWidth+ +set'overflow ::+             (Monad mn, CCSS2Properties zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'overflow = setjsProperty "overflow"+ +get'overflow ::+             (Monad mn, CCSS2Properties this) =>+               Expression this -> mn (Expression String)+get'overflow thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "overflow")+       return r+ +getm'overflow ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+getm'overflow = get'overflow+ +set'padding ::+            (Monad mn, CCSS2Properties zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'padding = setjsProperty "padding"+ +get'padding ::+            (Monad mn, CCSS2Properties this) =>+              Expression this -> mn (Expression String)+get'padding thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "padding")+       return r+ +getm'padding ::+             (Monad mn, CCSS2Properties this) =>+               Expression this -> mn (Expression String)+getm'padding = get'padding+ +set'paddingTop ::+               (Monad mn, CCSS2Properties zz) =>+                 Expression String -> Expression zz -> mn (Expression zz)+set'paddingTop = setjsProperty "paddingTop"+ +get'paddingTop ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+get'paddingTop thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "paddingTop")+       return r+ +getm'paddingTop ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+getm'paddingTop = get'paddingTop+ +set'paddingRight ::+                 (Monad mn, CCSS2Properties zz) =>+                   Expression String -> Expression zz -> mn (Expression zz)+set'paddingRight = setjsProperty "paddingRight"+ +get'paddingRight ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+get'paddingRight thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "paddingRight")+       return r+ +getm'paddingRight ::+                  (Monad mn, CCSS2Properties this) =>+                    Expression this -> mn (Expression String)+getm'paddingRight = get'paddingRight+ +set'paddingBottom ::+                  (Monad mn, CCSS2Properties zz) =>+                    Expression String -> Expression zz -> mn (Expression zz)+set'paddingBottom = setjsProperty "paddingBottom"+ +get'paddingBottom ::+                  (Monad mn, CCSS2Properties this) =>+                    Expression this -> mn (Expression String)+get'paddingBottom thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "paddingBottom")+       return r+ +getm'paddingBottom ::+                   (Monad mn, CCSS2Properties this) =>+                     Expression this -> mn (Expression String)+getm'paddingBottom = get'paddingBottom+ +set'paddingLeft ::+                (Monad mn, CCSS2Properties zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'paddingLeft = setjsProperty "paddingLeft"+ +get'paddingLeft ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+get'paddingLeft thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "paddingLeft")+       return r+ +getm'paddingLeft ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+getm'paddingLeft = get'paddingLeft+ +set'page ::+         (Monad mn, CCSS2Properties zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'page = setjsProperty "page"+ +get'page ::+         (Monad mn, CCSS2Properties this) =>+           Expression this -> mn (Expression String)+get'page thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "page")+       return r+ +getm'page ::+          (Monad mn, CCSS2Properties this) =>+            Expression this -> mn (Expression String)+getm'page = get'page+ +set'pageBreakAfter ::+                   (Monad mn, CCSS2Properties zz) =>+                     Expression String -> Expression zz -> mn (Expression zz)+set'pageBreakAfter = setjsProperty "pageBreakAfter"+ +get'pageBreakAfter ::+                   (Monad mn, CCSS2Properties this) =>+                     Expression this -> mn (Expression String)+get'pageBreakAfter thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "pageBreakAfter")+       return r+ +getm'pageBreakAfter ::+                    (Monad mn, CCSS2Properties this) =>+                      Expression this -> mn (Expression String)+getm'pageBreakAfter = get'pageBreakAfter+ +set'pageBreakBefore ::+                    (Monad mn, CCSS2Properties zz) =>+                      Expression String -> Expression zz -> mn (Expression zz)+set'pageBreakBefore = setjsProperty "pageBreakBefore"+ +get'pageBreakBefore ::+                    (Monad mn, CCSS2Properties this) =>+                      Expression this -> mn (Expression String)+get'pageBreakBefore thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "pageBreakBefore")+       return r+ +getm'pageBreakBefore ::+                     (Monad mn, CCSS2Properties this) =>+                       Expression this -> mn (Expression String)+getm'pageBreakBefore = get'pageBreakBefore+ +set'pageBreakInside ::+                    (Monad mn, CCSS2Properties zz) =>+                      Expression String -> Expression zz -> mn (Expression zz)+set'pageBreakInside = setjsProperty "pageBreakInside"+ +get'pageBreakInside ::+                    (Monad mn, CCSS2Properties this) =>+                      Expression this -> mn (Expression String)+get'pageBreakInside thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "pageBreakInside")+       return r+ +getm'pageBreakInside ::+                     (Monad mn, CCSS2Properties this) =>+                       Expression this -> mn (Expression String)+getm'pageBreakInside = get'pageBreakInside+ +set'pause ::+          (Monad mn, CCSS2Properties zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'pause = setjsProperty "pause"+ +get'pause ::+          (Monad mn, CCSS2Properties this) =>+            Expression this -> mn (Expression String)+get'pause thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "pause")+       return r+ +getm'pause ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+getm'pause = get'pause+ +set'pauseAfter ::+               (Monad mn, CCSS2Properties zz) =>+                 Expression String -> Expression zz -> mn (Expression zz)+set'pauseAfter = setjsProperty "pauseAfter"+ +get'pauseAfter ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+get'pauseAfter thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "pauseAfter")+       return r+ +getm'pauseAfter ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+getm'pauseAfter = get'pauseAfter+ +set'pauseBefore ::+                (Monad mn, CCSS2Properties zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'pauseBefore = setjsProperty "pauseBefore"+ +get'pauseBefore ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+get'pauseBefore thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "pauseBefore")+       return r+ +getm'pauseBefore ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+getm'pauseBefore = get'pauseBefore+ +set'pitch ::+          (Monad mn, CCSS2Properties zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'pitch = setjsProperty "pitch"+ +get'pitch ::+          (Monad mn, CCSS2Properties this) =>+            Expression this -> mn (Expression String)+get'pitch thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "pitch")+       return r+ +getm'pitch ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+getm'pitch = get'pitch+ +set'pitchRange ::+               (Monad mn, CCSS2Properties zz) =>+                 Expression String -> Expression zz -> mn (Expression zz)+set'pitchRange = setjsProperty "pitchRange"+ +get'pitchRange ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+get'pitchRange thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "pitchRange")+       return r+ +getm'pitchRange ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+getm'pitchRange = get'pitchRange+ +set'playDuring ::+               (Monad mn, CCSS2Properties zz) =>+                 Expression String -> Expression zz -> mn (Expression zz)+set'playDuring = setjsProperty "playDuring"+ +get'playDuring ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+get'playDuring thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "playDuring")+       return r+ +getm'playDuring ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+getm'playDuring = get'playDuring+ +set'position ::+             (Monad mn, CCSS2Properties zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'position = setjsProperty "position"+ +get'position ::+             (Monad mn, CCSS2Properties this) =>+               Expression this -> mn (Expression String)+get'position thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "position")+       return r+ +getm'position ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+getm'position = get'position+ +set'quotes ::+           (Monad mn, CCSS2Properties zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'quotes = setjsProperty "quotes"+ +get'quotes ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+get'quotes thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "quotes")+       return r+ +getm'quotes ::+            (Monad mn, CCSS2Properties this) =>+              Expression this -> mn (Expression String)+getm'quotes = get'quotes+ +set'richness ::+             (Monad mn, CCSS2Properties zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'richness = setjsProperty "richness"+ +get'richness ::+             (Monad mn, CCSS2Properties this) =>+               Expression this -> mn (Expression String)+get'richness thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "richness")+       return r+ +getm'richness ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+getm'richness = get'richness+ +set'right ::+          (Monad mn, CCSS2Properties zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'right = setjsProperty "right"+ +get'right ::+          (Monad mn, CCSS2Properties this) =>+            Expression this -> mn (Expression String)+get'right thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "right")+       return r+ +getm'right ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+getm'right = get'right+ +set'size ::+         (Monad mn, CCSS2Properties zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'size = setjsProperty "size"+ +get'size ::+         (Monad mn, CCSS2Properties this) =>+           Expression this -> mn (Expression String)+get'size thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "size")+       return r+ +getm'size ::+          (Monad mn, CCSS2Properties this) =>+            Expression this -> mn (Expression String)+getm'size = get'size+ +set'speak ::+          (Monad mn, CCSS2Properties zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'speak = setjsProperty "speak"+ +get'speak ::+          (Monad mn, CCSS2Properties this) =>+            Expression this -> mn (Expression String)+get'speak thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "speak")+       return r+ +getm'speak ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+getm'speak = get'speak+ +set'speakHeader ::+                (Monad mn, CCSS2Properties zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'speakHeader = setjsProperty "speakHeader"+ +get'speakHeader ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+get'speakHeader thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "speakHeader")+       return r+ +getm'speakHeader ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+getm'speakHeader = get'speakHeader+ +set'speakNumeral ::+                 (Monad mn, CCSS2Properties zz) =>+                   Expression String -> Expression zz -> mn (Expression zz)+set'speakNumeral = setjsProperty "speakNumeral"+ +get'speakNumeral ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+get'speakNumeral thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "speakNumeral")+       return r+ +getm'speakNumeral ::+                  (Monad mn, CCSS2Properties this) =>+                    Expression this -> mn (Expression String)+getm'speakNumeral = get'speakNumeral+ +set'speakPunctuation ::+                     (Monad mn, CCSS2Properties zz) =>+                       Expression String -> Expression zz -> mn (Expression zz)+set'speakPunctuation = setjsProperty "speakPunctuation"+ +get'speakPunctuation ::+                     (Monad mn, CCSS2Properties this) =>+                       Expression this -> mn (Expression String)+get'speakPunctuation thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "speakPunctuation")+       return r+ +getm'speakPunctuation ::+                      (Monad mn, CCSS2Properties this) =>+                        Expression this -> mn (Expression String)+getm'speakPunctuation = get'speakPunctuation+ +set'speechRate ::+               (Monad mn, CCSS2Properties zz) =>+                 Expression String -> Expression zz -> mn (Expression zz)+set'speechRate = setjsProperty "speechRate"+ +get'speechRate ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+get'speechRate thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "speechRate")+       return r+ +getm'speechRate ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+getm'speechRate = get'speechRate+ +set'stress ::+           (Monad mn, CCSS2Properties zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'stress = setjsProperty "stress"+ +get'stress ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+get'stress thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "stress")+       return r+ +getm'stress ::+            (Monad mn, CCSS2Properties this) =>+              Expression this -> mn (Expression String)+getm'stress = get'stress+ +set'tableLayout ::+                (Monad mn, CCSS2Properties zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'tableLayout = setjsProperty "tableLayout"+ +get'tableLayout ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+get'tableLayout thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "tableLayout")+       return r+ +getm'tableLayout ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+getm'tableLayout = get'tableLayout+ +set'textAlign ::+              (Monad mn, CCSS2Properties zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'textAlign = setjsProperty "textAlign"+ +get'textAlign ::+              (Monad mn, CCSS2Properties this) =>+                Expression this -> mn (Expression String)+get'textAlign thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "textAlign")+       return r+ +getm'textAlign ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+getm'textAlign = get'textAlign+ +set'textDecoration ::+                   (Monad mn, CCSS2Properties zz) =>+                     Expression String -> Expression zz -> mn (Expression zz)+set'textDecoration = setjsProperty "textDecoration"+ +get'textDecoration ::+                   (Monad mn, CCSS2Properties this) =>+                     Expression this -> mn (Expression String)+get'textDecoration thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "textDecoration")+       return r+ +getm'textDecoration ::+                    (Monad mn, CCSS2Properties this) =>+                      Expression this -> mn (Expression String)+getm'textDecoration = get'textDecoration+ +set'textIndent ::+               (Monad mn, CCSS2Properties zz) =>+                 Expression String -> Expression zz -> mn (Expression zz)+set'textIndent = setjsProperty "textIndent"+ +get'textIndent ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+get'textIndent thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "textIndent")+       return r+ +getm'textIndent ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+getm'textIndent = get'textIndent+ +set'textShadow ::+               (Monad mn, CCSS2Properties zz) =>+                 Expression String -> Expression zz -> mn (Expression zz)+set'textShadow = setjsProperty "textShadow"+ +get'textShadow ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+get'textShadow thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "textShadow")+       return r+ +getm'textShadow ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+getm'textShadow = get'textShadow+ +set'textTransform ::+                  (Monad mn, CCSS2Properties zz) =>+                    Expression String -> Expression zz -> mn (Expression zz)+set'textTransform = setjsProperty "textTransform"+ +get'textTransform ::+                  (Monad mn, CCSS2Properties this) =>+                    Expression this -> mn (Expression String)+get'textTransform thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "textTransform")+       return r+ +getm'textTransform ::+                   (Monad mn, CCSS2Properties this) =>+                     Expression this -> mn (Expression String)+getm'textTransform = get'textTransform+ +set'top ::+        (Monad mn, CCSS2Properties zz) =>+          Expression String -> Expression zz -> mn (Expression zz)+set'top = setjsProperty "top"+ +get'top ::+        (Monad mn, CCSS2Properties this) =>+          Expression this -> mn (Expression String)+get'top thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "top")+       return r+ +getm'top ::+         (Monad mn, CCSS2Properties this) =>+           Expression this -> mn (Expression String)+getm'top = get'top+ +set'unicodeBidi ::+                (Monad mn, CCSS2Properties zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'unicodeBidi = setjsProperty "unicodeBidi"+ +get'unicodeBidi ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+get'unicodeBidi thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "unicodeBidi")+       return r+ +getm'unicodeBidi ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+getm'unicodeBidi = get'unicodeBidi+ +set'verticalAlign ::+                  (Monad mn, CCSS2Properties zz) =>+                    Expression String -> Expression zz -> mn (Expression zz)+set'verticalAlign = setjsProperty "verticalAlign"+ +get'verticalAlign ::+                  (Monad mn, CCSS2Properties this) =>+                    Expression this -> mn (Expression String)+get'verticalAlign thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "verticalAlign")+       return r+ +getm'verticalAlign ::+                   (Monad mn, CCSS2Properties this) =>+                     Expression this -> mn (Expression String)+getm'verticalAlign = get'verticalAlign+ +set'visibility ::+               (Monad mn, CCSS2Properties zz) =>+                 Expression String -> Expression zz -> mn (Expression zz)+set'visibility = setjsProperty "visibility"+ +get'visibility ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+get'visibility thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "visibility")+       return r+ +getm'visibility ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+getm'visibility = get'visibility+ +set'voiceFamily ::+                (Monad mn, CCSS2Properties zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'voiceFamily = setjsProperty "voiceFamily"+ +get'voiceFamily ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+get'voiceFamily thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "voiceFamily")+       return r+ +getm'voiceFamily ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+getm'voiceFamily = get'voiceFamily+ +set'volume ::+           (Monad mn, CCSS2Properties zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'volume = setjsProperty "volume"+ +get'volume ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+get'volume thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "volume")+       return r+ +getm'volume ::+            (Monad mn, CCSS2Properties this) =>+              Expression this -> mn (Expression String)+getm'volume = get'volume+ +set'whiteSpace ::+               (Monad mn, CCSS2Properties zz) =>+                 Expression String -> Expression zz -> mn (Expression zz)+set'whiteSpace = setjsProperty "whiteSpace"+ +get'whiteSpace ::+               (Monad mn, CCSS2Properties this) =>+                 Expression this -> mn (Expression String)+get'whiteSpace thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "whiteSpace")+       return r+ +getm'whiteSpace ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+getm'whiteSpace = get'whiteSpace+ +set'widows ::+           (Monad mn, CCSS2Properties zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'widows = setjsProperty "widows"+ +get'widows ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+get'widows thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "widows")+       return r+ +getm'widows ::+            (Monad mn, CCSS2Properties this) =>+              Expression this -> mn (Expression String)+getm'widows = get'widows+ +set'width ::+          (Monad mn, CCSS2Properties zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'width = setjsProperty "width"+ +get'width ::+          (Monad mn, CCSS2Properties this) =>+            Expression this -> mn (Expression String)+get'width thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "width")+       return r+ +getm'width ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+getm'width = get'width+ +set'wordSpacing ::+                (Monad mn, CCSS2Properties zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'wordSpacing = setjsProperty "wordSpacing"+ +get'wordSpacing ::+                (Monad mn, CCSS2Properties this) =>+                  Expression this -> mn (Expression String)+get'wordSpacing thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "wordSpacing")+       return r+ +getm'wordSpacing ::+                 (Monad mn, CCSS2Properties this) =>+                   Expression this -> mn (Expression String)+getm'wordSpacing = get'wordSpacing+ +set'zIndex ::+           (Monad mn, CCSS2Properties zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'zIndex = setjsProperty "zIndex"+ +get'zIndex ::+           (Monad mn, CCSS2Properties this) =>+             Expression this -> mn (Expression String)+get'zIndex thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "zIndex")+       return r+ +getm'zIndex ::+            (Monad mn, CCSS2Properties this) =>+              Expression this -> mn (Expression String)+getm'zIndex = get'zIndex+
+ Data/DOM/CSSCharsetRule.hs view
@@ -0,0 +1,30 @@++module Data.DOM.CSSCharsetRule+       (set'encoding, get'encoding, getm'encoding) where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'encoding ::+             (Monad mn, CCSSCharsetRule zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'encoding = setjsProperty "encoding"+ +get'encoding ::+             (Monad mn, CCSSCharsetRule this) =>+               Expression this -> mn (Expression String)+get'encoding thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "encoding")+       return r+ +getm'encoding ::+              (Monad mn, CCSSCharsetRule this) =>+                Expression this -> mn (Expression String)+getm'encoding = get'encoding+
+ Data/DOM/CSSFontFaceRule.hs view
@@ -0,0 +1,24 @@++module Data.DOM.CSSFontFaceRule (get'style, getm'style) where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'style ::+          (Monad mn, CCSSFontFaceRule this, CCSSStyleDeclaration zz) =>+            Expression this -> mn (Expression zz)+get'style thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "style")+       return r+ +getm'style ::+           (Monad mn, CCSSFontFaceRule this) =>+             Expression this -> mn (Expression TCSSStyleDeclaration)+getm'style = get'style+
+ Data/DOM/CSSImportRule.hs view
@@ -0,0 +1,53 @@++module Data.DOM.CSSImportRule+       (get'href, getm'href, get'media, getm'media, get'styleSheet,+        getm'styleSheet)+       where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'href ::+         (Monad mn, CCSSImportRule this) =>+           Expression this -> mn (Expression String)+get'href thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "href")+       return r+ +getm'href ::+          (Monad mn, CCSSImportRule this) =>+            Expression this -> mn (Expression String)+getm'href = get'href+ +get'media ::+          (Monad mn, CCSSImportRule this, CMediaList zz) =>+            Expression this -> mn (Expression zz)+get'media thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "media")+       return r+ +getm'media ::+           (Monad mn, CCSSImportRule this) =>+             Expression this -> mn (Expression TMediaList)+getm'media = get'media+ +get'styleSheet ::+               (Monad mn, CCSSImportRule this, CCSSStyleSheet zz) =>+                 Expression this -> mn (Expression zz)+get'styleSheet thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "styleSheet")+       return r+ +getm'styleSheet ::+                (Monad mn, CCSSImportRule this) =>+                  Expression this -> mn (Expression TCSSStyleSheet)+getm'styleSheet = get'styleSheet+
+ Data/DOM/CSSMediaRule.hs view
@@ -0,0 +1,57 @@++module Data.DOM.CSSMediaRule+       (insertRule, deleteRule, get'media, getm'media, get'cssRules,+        getm'cssRules)+       where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +insertRule ::+           (Monad mn, CCSSMediaRule this) =>+             Expression String ->+               Expression Double -> Expression this -> mn (Expression Double)+insertRule a b thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "insertRule")+       return (CallExpr et r [a /\ et, b /\ et])+ +deleteRule ::+           (Monad mn, CCSSMediaRule this) =>+             Expression Double -> Expression this -> mn (Expression ())+deleteRule a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "deleteRule")+       return (CallExpr et r [a /\ et])+ +get'media ::+          (Monad mn, CCSSMediaRule this, CMediaList zz) =>+            Expression this -> mn (Expression zz)+get'media thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "media")+       return r+ +getm'media ::+           (Monad mn, CCSSMediaRule this) =>+             Expression this -> mn (Expression TMediaList)+getm'media = get'media+ +get'cssRules ::+             (Monad mn, CCSSMediaRule this, CCSSRuleList zz) =>+               Expression this -> mn (Expression zz)+get'cssRules thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "cssRules")+       return r+ +getm'cssRules ::+              (Monad mn, CCSSMediaRule this) =>+                Expression this -> mn (Expression TCSSRuleList)+getm'cssRules = get'cssRules+
+ Data/DOM/CSSPageRule.hs view
@@ -0,0 +1,45 @@++module Data.DOM.CSSPageRule+       (set'selectorText, get'selectorText, getm'selectorText, get'style,+        getm'style)+       where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'selectorText ::+                 (Monad mn, CCSSPageRule zz) =>+                   Expression String -> Expression zz -> mn (Expression zz)+set'selectorText = setjsProperty "selectorText"+ +get'selectorText ::+                 (Monad mn, CCSSPageRule this) =>+                   Expression this -> mn (Expression String)+get'selectorText thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "selectorText")+       return r+ +getm'selectorText ::+                  (Monad mn, CCSSPageRule this) =>+                    Expression this -> mn (Expression String)+getm'selectorText = get'selectorText+ +get'style ::+          (Monad mn, CCSSPageRule this, CCSSStyleDeclaration zz) =>+            Expression this -> mn (Expression zz)+get'style thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "style")+       return r+ +getm'style ::+           (Monad mn, CCSSPageRule this) =>+             Expression this -> mn (Expression TCSSStyleDeclaration)+getm'style = get'style+
+ Data/DOM/CSSPrimitiveValue.hs view
@@ -0,0 +1,116 @@++module Data.DOM.CSSPrimitiveValue+       (setFloatValue, getFloatValue, setStringValue, getStringValue,+        getCounterValue, getRectValue, getRGBColorValue, cCSS_UNKNOWN,+        cCSS_NUMBER, cCSS_PERCENTAGE, cCSS_EMS, cCSS_EXS, cCSS_PX, cCSS_CM,+        cCSS_MM, cCSS_IN, cCSS_PT, cCSS_PC, cCSS_DEG, cCSS_RAD, cCSS_GRAD,+        cCSS_MS, cCSS_S, cCSS_HZ, cCSS_KHZ, cCSS_DIMENSION, cCSS_STRING,+        cCSS_URI, cCSS_IDENT, cCSS_ATTR, cCSS_COUNTER, cCSS_RECT,+        cCSS_RGBCOLOR, get'primitiveType, getm'primitiveType)+       where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +setFloatValue ::+              (Monad mn, CCSSPrimitiveValue this) =>+                Expression Double ->+                  Expression Double -> Expression this -> mn (Expression ())+setFloatValue a b thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "setFloatValue")+       return (CallExpr et r [a /\ et, b /\ et])+ +getFloatValue ::+              (Monad mn, CCSSPrimitiveValue this) =>+                Expression Double -> Expression this -> mn (Expression Double)+getFloatValue a thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "getFloatValue")+       return (CallExpr et r [a /\ et])+ +setStringValue ::+               (Monad mn, CCSSPrimitiveValue this) =>+                 Expression Double ->+                   Expression String -> Expression this -> mn (Expression ())+setStringValue a b thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "setStringValue")+       return (CallExpr et r [a /\ et, b /\ et])+ +getStringValue ::+               (Monad mn, CCSSPrimitiveValue this) =>+                 Expression this -> mn (Expression String)+getStringValue thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "getStringValue")+       return (CallExpr et r [])+ +getCounterValue ::+                (Monad mn, CCSSPrimitiveValue this, CCounter zz) =>+                  Expression this -> mn (Expression zz)+getCounterValue thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "getCounterValue")+       return (CallExpr et r [])+ +getRectValue ::+             (Monad mn, CCSSPrimitiveValue this, CRect zz) =>+               Expression this -> mn (Expression zz)+getRectValue thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "getRectValue")+       return (CallExpr et r [])+ +getRGBColorValue ::+                 (Monad mn, CCSSPrimitiveValue this, CRGBColor zz) =>+                   Expression this -> mn (Expression zz)+getRGBColorValue thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "getRGBColorValue")+       return (CallExpr et r [])+cCSS_UNKNOWN = 0+cCSS_NUMBER = 1+cCSS_PERCENTAGE = 2+cCSS_EMS = 3+cCSS_EXS = 4+cCSS_PX = 5+cCSS_CM = 6+cCSS_MM = 7+cCSS_IN = 8+cCSS_PT = 9+cCSS_PC = 10+cCSS_DEG = 11+cCSS_RAD = 12+cCSS_GRAD = 13+cCSS_MS = 14+cCSS_S = 15+cCSS_HZ = 16+cCSS_KHZ = 17+cCSS_DIMENSION = 18+cCSS_STRING = 19+cCSS_URI = 20+cCSS_IDENT = 21+cCSS_ATTR = 22+cCSS_COUNTER = 23+cCSS_RECT = 24+cCSS_RGBCOLOR = 25+ +get'primitiveType ::+                  (Monad mn, CCSSPrimitiveValue this) =>+                    Expression this -> mn (Expression Double)+get'primitiveType thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "primitiveType")+       return r+ +getm'primitiveType ::+                   (Monad mn, CCSSPrimitiveValue this) =>+                     Expression this -> mn (Expression Double)+getm'primitiveType = get'primitiveType+
+ Data/DOM/CSSRule.hs view
@@ -0,0 +1,80 @@++module Data.DOM.CSSRule+       (cUNKNOWN_RULE, cSTYLE_RULE, cCHARSET_RULE, cIMPORT_RULE,+        cMEDIA_RULE, cFONT_FACE_RULE, cPAGE_RULE, get'type, getm'type,+        set'cssText, get'cssText, getm'cssText, get'parentStyleSheet,+        getm'parentStyleSheet, get'parentRule, getm'parentRule)+       where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+cUNKNOWN_RULE = 0+cSTYLE_RULE = 1+cCHARSET_RULE = 2+cIMPORT_RULE = 3+cMEDIA_RULE = 4+cFONT_FACE_RULE = 5+cPAGE_RULE = 6+ +get'type ::+         (Monad mn, CCSSRule this) =>+           Expression this -> mn (Expression Double)+get'type thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "type")+       return r+ +getm'type ::+          (Monad mn, CCSSRule this) =>+            Expression this -> mn (Expression Double)+getm'type = get'type+ +set'cssText ::+            (Monad mn, CCSSRule zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'cssText = setjsProperty "cssText"+ +get'cssText ::+            (Monad mn, CCSSRule this) =>+              Expression this -> mn (Expression String)+get'cssText thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "cssText")+       return r+ +getm'cssText ::+             (Monad mn, CCSSRule this) =>+               Expression this -> mn (Expression String)+getm'cssText = get'cssText+ +get'parentStyleSheet ::+                     (Monad mn, CCSSRule this, CCSSStyleSheet zz) =>+                       Expression this -> mn (Expression zz)+get'parentStyleSheet thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "parentStyleSheet")+       return r+ +getm'parentStyleSheet ::+                      (Monad mn, CCSSRule this) =>+                        Expression this -> mn (Expression TCSSStyleSheet)+getm'parentStyleSheet = get'parentStyleSheet+ +get'parentRule ::+               (Monad mn, CCSSRule this, CCSSRule zz) =>+                 Expression this -> mn (Expression zz)+get'parentRule thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "parentRule")+       return r+ +getm'parentRule ::+                (Monad mn, CCSSRule this) =>+                  Expression this -> mn (Expression TCSSRule)+getm'parentRule = get'parentRule+
+ Data/DOM/CSSRuleList.hs view
@@ -0,0 +1,32 @@++module Data.DOM.CSSRuleList (item, get'length, getm'length) where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +item ::+     (Monad mn, CCSSRuleList this, CCSSRule zz) =>+       Expression Double -> Expression this -> mn (Expression zz)+item a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "item")+       return (CallExpr et r [a /\ et])+ +get'length ::+           (Monad mn, CCSSRuleList this) =>+             Expression this -> mn (Expression Double)+get'length thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "length")+       return r+ +getm'length ::+            (Monad mn, CCSSRuleList this) =>+              Expression this -> mn (Expression Double)+getm'length = get'length+
+ Data/DOM/CSSStyleDeclaration.hs view
@@ -0,0 +1,110 @@++module Data.DOM.CSSStyleDeclaration+       (getPropertyValue, getPropertyCSSValue, removeProperty,+        getPropertyPriority, setProperty, item, set'cssText, get'cssText,+        getm'cssText, get'length, getm'length, get'parentRule,+        getm'parentRule)+       where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +getPropertyValue ::+                 (Monad mn, CCSSStyleDeclaration this) =>+                   Expression String -> Expression this -> mn (Expression String)+getPropertyValue a thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "getPropertyValue")+       return (CallExpr et r [a /\ et])+ +getPropertyCSSValue ::+                    (Monad mn, CCSSStyleDeclaration this, CCSSValue zz) =>+                      Expression String -> Expression this -> mn (Expression zz)+getPropertyCSSValue a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "getPropertyCSSValue")+       return (CallExpr et r [a /\ et])+ +removeProperty ::+               (Monad mn, CCSSStyleDeclaration this) =>+                 Expression String -> Expression this -> mn (Expression String)+removeProperty a thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "removeProperty")+       return (CallExpr et r [a /\ et])+ +getPropertyPriority ::+                    (Monad mn, CCSSStyleDeclaration this) =>+                      Expression String -> Expression this -> mn (Expression String)+getPropertyPriority a thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "getPropertyPriority")+       return (CallExpr et r [a /\ et])+ +setProperty ::+            (Monad mn, CCSSStyleDeclaration this) =>+              Expression String ->+                Expression String ->+                  Expression String -> Expression this -> mn (Expression ())+setProperty a b c thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "setProperty")+       return (CallExpr et r [a /\ et, b /\ et, c /\ et])+ +item ::+     (Monad mn, CCSSStyleDeclaration this) =>+       Expression Double -> Expression this -> mn (Expression String)+item a thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "item")+       return (CallExpr et r [a /\ et])+ +set'cssText ::+            (Monad mn, CCSSStyleDeclaration zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'cssText = setjsProperty "cssText"+ +get'cssText ::+            (Monad mn, CCSSStyleDeclaration this) =>+              Expression this -> mn (Expression String)+get'cssText thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "cssText")+       return r+ +getm'cssText ::+             (Monad mn, CCSSStyleDeclaration this) =>+               Expression this -> mn (Expression String)+getm'cssText = get'cssText+ +get'length ::+           (Monad mn, CCSSStyleDeclaration this) =>+             Expression this -> mn (Expression Double)+get'length thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "length")+       return r+ +getm'length ::+            (Monad mn, CCSSStyleDeclaration this) =>+              Expression this -> mn (Expression Double)+getm'length = get'length+ +get'parentRule ::+               (Monad mn, CCSSStyleDeclaration this, CCSSRule zz) =>+                 Expression this -> mn (Expression zz)+get'parentRule thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "parentRule")+       return r+ +getm'parentRule ::+                (Monad mn, CCSSStyleDeclaration this) =>+                  Expression this -> mn (Expression TCSSRule)+getm'parentRule = get'parentRule+
+ Data/DOM/CSSStyleRule.hs view
@@ -0,0 +1,45 @@++module Data.DOM.CSSStyleRule+       (set'selectorText, get'selectorText, getm'selectorText, get'style,+        getm'style)+       where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'selectorText ::+                 (Monad mn, CCSSStyleRule zz) =>+                   Expression String -> Expression zz -> mn (Expression zz)+set'selectorText = setjsProperty "selectorText"+ +get'selectorText ::+                 (Monad mn, CCSSStyleRule this) =>+                   Expression this -> mn (Expression String)+get'selectorText thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "selectorText")+       return r+ +getm'selectorText ::+                  (Monad mn, CCSSStyleRule this) =>+                    Expression this -> mn (Expression String)+getm'selectorText = get'selectorText+ +get'style ::+          (Monad mn, CCSSStyleRule this, CCSSStyleDeclaration zz) =>+            Expression this -> mn (Expression zz)+get'style thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "style")+       return r+ +getm'style ::+           (Monad mn, CCSSStyleRule this) =>+             Expression this -> mn (Expression TCSSStyleDeclaration)+getm'style = get'style+
+ Data/DOM/CSSStyleSheet.hs view
@@ -0,0 +1,57 @@++module Data.DOM.CSSStyleSheet+       (insertRule, deleteRule, get'ownerRule, getm'ownerRule,+        get'cssRules, getm'cssRules)+       where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +insertRule ::+           (Monad mn, CCSSStyleSheet this) =>+             Expression String ->+               Expression Double -> Expression this -> mn (Expression Double)+insertRule a b thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "insertRule")+       return (CallExpr et r [a /\ et, b /\ et])+ +deleteRule ::+           (Monad mn, CCSSStyleSheet this) =>+             Expression Double -> Expression this -> mn (Expression ())+deleteRule a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "deleteRule")+       return (CallExpr et r [a /\ et])+ +get'ownerRule ::+              (Monad mn, CCSSStyleSheet this, CCSSRule zz) =>+                Expression this -> mn (Expression zz)+get'ownerRule thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "ownerRule")+       return r+ +getm'ownerRule ::+               (Monad mn, CCSSStyleSheet this) =>+                 Expression this -> mn (Expression TCSSRule)+getm'ownerRule = get'ownerRule+ +get'cssRules ::+             (Monad mn, CCSSStyleSheet this, CCSSRuleList zz) =>+               Expression this -> mn (Expression zz)+get'cssRules thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "cssRules")+       return r+ +getm'cssRules ::+              (Monad mn, CCSSStyleSheet this) =>+                Expression this -> mn (Expression TCSSRuleList)+getm'cssRules = get'cssRules+
+ Data/DOM/CSSValue.hs view
@@ -0,0 +1,50 @@++module Data.DOM.CSSValue+       (cCSS_INHERIT, cCSS_PRIMITIVE_VALUE, cCSS_VALUE_LIST, cCSS_CUSTOM,+        set'cssText, get'cssText, getm'cssText, get'cssValueType,+        getm'cssValueType)+       where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+cCSS_INHERIT = 0+cCSS_PRIMITIVE_VALUE = 1+cCSS_VALUE_LIST = 2+cCSS_CUSTOM = 3+ +set'cssText ::+            (Monad mn, CCSSValue zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'cssText = setjsProperty "cssText"+ +get'cssText ::+            (Monad mn, CCSSValue this) =>+              Expression this -> mn (Expression String)+get'cssText thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "cssText")+       return r+ +getm'cssText ::+             (Monad mn, CCSSValue this) =>+               Expression this -> mn (Expression String)+getm'cssText = get'cssText+ +get'cssValueType ::+                 (Monad mn, CCSSValue this) =>+                   Expression this -> mn (Expression Double)+get'cssValueType thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "cssValueType")+       return r+ +getm'cssValueType ::+                  (Monad mn, CCSSValue this) =>+                    Expression this -> mn (Expression Double)+getm'cssValueType = get'cssValueType+
+ Data/DOM/CSSValueList.hs view
@@ -0,0 +1,32 @@++module Data.DOM.CSSValueList (item, get'length, getm'length) where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +item ::+     (Monad mn, CCSSValueList this, CCSSValue zz) =>+       Expression Double -> Expression this -> mn (Expression zz)+item a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "item")+       return (CallExpr et r [a /\ et])+ +get'length ::+           (Monad mn, CCSSValueList this) =>+             Expression this -> mn (Expression Double)+get'length thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "length")+       return r+ +getm'length ::+            (Monad mn, CCSSValueList this) =>+              Expression this -> mn (Expression Double)+getm'length = get'length+
+ Data/DOM/CharacterData.hs view
@@ -0,0 +1,87 @@++module Data.DOM.CharacterData+       (substringData, appendData, insertData, deleteData, replaceData,+        set'data, get'data, getm'data, get'length, getm'length)+       where+import Data.DOM.Dom+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Document (createElement)+ +substringData ::+              (Monad mn, CCharacterData this) =>+                Expression Double ->+                  Expression Double -> Expression this -> mn (Expression String)+substringData a b thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "substringData")+       return (CallExpr et r [a /\ et, b /\ et])+ +appendData ::+           (Monad mn, CCharacterData this) =>+             Expression String -> Expression this -> mn (Expression ())+appendData a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "appendData")+       return (CallExpr et r [a /\ et])+ +insertData ::+           (Monad mn, CCharacterData this) =>+             Expression Double ->+               Expression String -> Expression this -> mn (Expression ())+insertData a b thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "insertData")+       return (CallExpr et r [a /\ et, b /\ et])+ +deleteData ::+           (Monad mn, CCharacterData this) =>+             Expression Double ->+               Expression Double -> Expression this -> mn (Expression ())+deleteData a b thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "deleteData")+       return (CallExpr et r [a /\ et, b /\ et])+ +replaceData ::+            (Monad mn, CCharacterData this) =>+              Expression Double ->+                Expression Double ->+                  Expression String -> Expression this -> mn (Expression ())+replaceData a b c thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "replaceData")+       return (CallExpr et r [a /\ et, b /\ et, c /\ et])+ +set'data ::+         (Monad mn, CCharacterData zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'data = setjsProperty "data"+ +get'data ::+         (Monad mn, CCharacterData this) =>+           Expression this -> mn (Expression String)+get'data thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "data")+       return r+ +getm'data ::+          (Monad mn, CCharacterData this) =>+            Expression this -> mn (Expression String)+getm'data = get'data+ +get'length ::+           (Monad mn, CCharacterData this) =>+             Expression this -> mn (Expression Double)+get'length thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "length")+       return r+ +getm'length ::+            (Monad mn, CCharacterData this) =>+              Expression this -> mn (Expression Double)+getm'length = get'length+
+ Data/DOM/Counter.hs view
@@ -0,0 +1,53 @@++module Data.DOM.Counter+       (get'identifier, getm'identifier, get'listStyle, getm'listStyle,+        get'separator, getm'separator)+       where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'identifier ::+               (Monad mn, CCounter this) =>+                 Expression this -> mn (Expression String)+get'identifier thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "identifier")+       return r+ +getm'identifier ::+                (Monad mn, CCounter this) =>+                  Expression this -> mn (Expression String)+getm'identifier = get'identifier+ +get'listStyle ::+              (Monad mn, CCounter this) =>+                Expression this -> mn (Expression String)+get'listStyle thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "listStyle")+       return r+ +getm'listStyle ::+               (Monad mn, CCounter this) =>+                 Expression this -> mn (Expression String)+getm'listStyle = get'listStyle+ +get'separator ::+              (Monad mn, CCounter this) =>+                Expression this -> mn (Expression String)+get'separator thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "separator")+       return r+ +getm'separator ::+               (Monad mn, CCounter this) =>+                 Expression this -> mn (Expression String)+getm'separator = get'separator+
+ Data/DOM/Css.hs view
@@ -0,0 +1,181 @@++module Data.DOM.Css+       (TCSSRuleList(..), TCSSRule(..), TCSSStyleRule(..),+        TCSSMediaRule(..), TCSSFontFaceRule(..), TCSSPageRule(..),+        TCSSImportRule(..), TCSSCharsetRule(..), TCSSUnknownRule(..),+        TCSSStyleDeclaration(..), TCSSValue(..), TCSSPrimitiveValue(..),+        TCSSValueList(..), TRGBColor(..), TRect(..), TCounter(..),+        TElementCSSInlineStyle(..), TCSS2Properties(..),+        TCSSStyleSheet(..), TViewCSS(..), TDocumentCSS(..),+        TDOMImplementationCSS(..), CCSSRuleList, CCSSRule, CCSSStyleRule,+        CCSSMediaRule, CCSSFontFaceRule, CCSSPageRule, CCSSImportRule,+        CCSSCharsetRule, CCSSUnknownRule, CCSSStyleDeclaration, CCSSValue,+        CCSSPrimitiveValue, CCSSValueList, CRGBColor, CRect, CCounter,+        CElementCSSInlineStyle, CCSS2Properties, CCSSStyleSheet, CViewCSS,+        CDocumentCSS, CDOMImplementationCSS)+       where+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+ +data TCSSRuleList = TCSSRuleList+ +data TCSSRule = TCSSRule+ +data TCSSStyleRule = TCSSStyleRule+ +data TCSSMediaRule = TCSSMediaRule+ +data TCSSFontFaceRule = TCSSFontFaceRule+ +data TCSSPageRule = TCSSPageRule+ +data TCSSImportRule = TCSSImportRule+ +data TCSSCharsetRule = TCSSCharsetRule+ +data TCSSUnknownRule = TCSSUnknownRule+ +data TCSSStyleDeclaration = TCSSStyleDeclaration+ +data TCSSValue = TCSSValue+ +data TCSSPrimitiveValue = TCSSPrimitiveValue+ +data TCSSValueList = TCSSValueList+ +data TRGBColor = TRGBColor+ +data TRect = TRect+ +data TCounter = TCounter+ +data TElementCSSInlineStyle = TElementCSSInlineStyle+ +data TCSS2Properties = TCSS2Properties+ +data TCSSStyleSheet = TCSSStyleSheet+ +data TViewCSS = TViewCSS+ +data TDocumentCSS = TDocumentCSS+ +data TDOMImplementationCSS = TDOMImplementationCSS+ +class CCSSRuleList a+ +class CCSSRule a+ +class (CCSSRule a) => CCSSStyleRule a+ +class (CCSSRule a) => CCSSMediaRule a+ +class (CCSSRule a) => CCSSFontFaceRule a+ +class (CCSSRule a) => CCSSPageRule a+ +class (CCSSRule a) => CCSSImportRule a+ +class (CCSSRule a) => CCSSCharsetRule a+ +class (CCSSRule a) => CCSSUnknownRule a+ +class CCSSStyleDeclaration a+ +class CCSSValue a+ +class (CCSSValue a) => CCSSPrimitiveValue a+ +class (CCSSValue a) => CCSSValueList a+ +class CRGBColor a+ +class CRect a+ +class CCounter a+ +class CElementCSSInlineStyle a+ +class CCSS2Properties a+ +class (CStyleSheet a) => CCSSStyleSheet a+ +class (CAbstractView a) => CViewCSS a+ +class (CDocumentStyle a) => CDocumentCSS a+ +class (CDOMImplementation a) => CDOMImplementationCSS a+ +instance CCSSRuleList TCSSRuleList+ +instance CCSSRule TCSSRule+ +instance CCSSStyleRule TCSSStyleRule+ +instance CCSSRule TCSSStyleRule+ +instance CCSSMediaRule TCSSMediaRule+ +instance CCSSRule TCSSMediaRule+ +instance CCSSFontFaceRule TCSSFontFaceRule+ +instance CCSSRule TCSSFontFaceRule+ +instance CCSSPageRule TCSSPageRule+ +instance CCSSRule TCSSPageRule+ +instance CCSSImportRule TCSSImportRule+ +instance CCSSRule TCSSImportRule+ +instance CCSSCharsetRule TCSSCharsetRule+ +instance CCSSRule TCSSCharsetRule+ +instance CCSSUnknownRule TCSSUnknownRule+ +instance CCSSRule TCSSUnknownRule+ +instance CCSSStyleDeclaration TCSSStyleDeclaration+ +instance CCSSValue TCSSValue+ +instance CCSSPrimitiveValue TCSSPrimitiveValue+ +instance CCSSValue TCSSPrimitiveValue+ +instance CCSSValueList TCSSValueList+ +instance CCSSValue TCSSValueList+ +instance CRGBColor TRGBColor+ +instance CRect TRect+ +instance CCounter TCounter+ +instance CElementCSSInlineStyle TElementCSSInlineStyle+ +instance CCSS2Properties TCSS2Properties+ +instance CCSSStyleSheet TCSSStyleSheet+ +instance CStyleSheet TCSSStyleSheet+ +instance CViewCSS TViewCSS+ +instance CAbstractView TViewCSS+ +instance CDocumentCSS TDocumentCSS+ +instance CDocumentStyle TDocumentCSS+ +instance CDOMImplementationCSS TDOMImplementationCSS+ +instance CDOMImplementation TDOMImplementationCSS+
+ Data/DOM/DOMImplementation.hs view
@@ -0,0 +1,39 @@++module Data.DOM.DOMImplementation+       (hasFeature, createDocumentType, createDocument) where+import Data.DOM.Dom+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Document (createElement)+ +hasFeature ::+           (Monad mn, CDOMImplementation this) =>+             Expression String ->+               Expression String -> Expression this -> mn (Expression Bool)+hasFeature a b thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "hasFeature")+       return (CallExpr et r [a /\ et, b /\ et])+ +createDocumentType ::+                   (Monad mn, CDOMImplementation this, CDocumentType zz) =>+                     Expression String ->+                       Expression String ->+                         Expression String -> Expression this -> mn (Expression zz)+createDocumentType a b c thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createDocumentType")+       return (CallExpr et r [a /\ et, b /\ et, c /\ et])+ +createDocument ::+               (Monad mn, CDOMImplementation this, CDocumentType doctype,+                CDocument zz) =>+                 Expression String ->+                   Expression String ->+                     Expression doctype -> Expression this -> mn (Expression zz)+createDocument a b c thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createDocument")+       return (CallExpr et r [a /\ et, b /\ et, c /\ et])+
+ Data/DOM/DOMImplementationCSS.hs view
@@ -0,0 +1,20 @@++module Data.DOM.DOMImplementationCSS (createCSSStyleSheet) where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +createCSSStyleSheet ::+                    (Monad mn, CDOMImplementationCSS this, CCSSStyleSheet zz) =>+                      Expression String ->+                        Expression String -> Expression this -> mn (Expression zz)+createCSSStyleSheet a b thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createCSSStyleSheet")+       return (CallExpr et r [a /\ et, b /\ et])+
+ Data/DOM/Document.hs view
@@ -0,0 +1,172 @@++module Data.DOM.Document+       (createElement, createDocumentFragment, createTextNode,+        createComment, createCDATASection, createProcessingInstruction,+        createAttribute, createEntityReference, getElementsByTagName,+        importNode, createElementNS, createAttributeNS,+        getElementsByTagNameNS, getElementById, get'doctype, getm'doctype,+        get'implementation, getm'implementation, get'documentElement,+        getm'documentElement)+       where+import Data.DOM.Dom+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+ +createElement ::+              (Monad mn, CDocument this, CElement zz) =>+                Expression String -> Expression this -> mn (Expression zz)+createElement a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createElement")+       return (CallExpr et r [a /\ et])+ +createDocumentFragment ::+                       (Monad mn, CDocument this, CDocumentFragment zz) =>+                         Expression this -> mn (Expression zz)+createDocumentFragment thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createDocumentFragment")+       return (CallExpr et r [])+ +createTextNode ::+               (Monad mn, CDocument this, CText zz) =>+                 Expression String -> Expression this -> mn (Expression zz)+createTextNode a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createTextNode")+       return (CallExpr et r [a /\ et])+ +createComment ::+              (Monad mn, CDocument this, CComment zz) =>+                Expression String -> Expression this -> mn (Expression zz)+createComment a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createComment")+       return (CallExpr et r [a /\ et])+ +createCDATASection ::+                   (Monad mn, CDocument this, CCDATASection zz) =>+                     Expression String -> Expression this -> mn (Expression zz)+createCDATASection a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createCDATASection")+       return (CallExpr et r [a /\ et])+ +createProcessingInstruction ::+                            (Monad mn, CDocument this, CProcessingInstruction zz) =>+                              Expression String ->+                                Expression String -> Expression this -> mn (Expression zz)+createProcessingInstruction a b thisp+  = do let et = undefined :: zz+       let r+             = DotRef et (thisp /\ et) (Id et "createProcessingInstruction")+       return (CallExpr et r [a /\ et, b /\ et])+ +createAttribute ::+                (Monad mn, CDocument this, CAttr zz) =>+                  Expression String -> Expression this -> mn (Expression zz)+createAttribute a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createAttribute")+       return (CallExpr et r [a /\ et])+ +createEntityReference ::+                      (Monad mn, CDocument this, CEntityReference zz) =>+                        Expression String -> Expression this -> mn (Expression zz)+createEntityReference a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createEntityReference")+       return (CallExpr et r [a /\ et])+ +getElementsByTagName ::+                     (Monad mn, CDocument this, CNodeList zz) =>+                       Expression String -> Expression this -> mn (Expression zz)+getElementsByTagName a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "getElementsByTagName")+       return (CallExpr et r [a /\ et])+ +importNode ::+           (Monad mn, CDocument this, CNode importedNode, CNode zz) =>+             Expression importedNode ->+               Expression Bool -> Expression this -> mn (Expression zz)+importNode a b thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "importNode")+       return (CallExpr et r [a /\ et, b /\ et])+ +createElementNS ::+                (Monad mn, CDocument this, CElement zz) =>+                  Expression String ->+                    Expression String -> Expression this -> mn (Expression zz)+createElementNS a b thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createElementNS")+       return (CallExpr et r [a /\ et, b /\ et])+ +createAttributeNS ::+                  (Monad mn, CDocument this, CAttr zz) =>+                    Expression String ->+                      Expression String -> Expression this -> mn (Expression zz)+createAttributeNS a b thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createAttributeNS")+       return (CallExpr et r [a /\ et, b /\ et])+ +getElementsByTagNameNS ::+                       (Monad mn, CDocument this, CNodeList zz) =>+                         Expression String ->+                           Expression String -> Expression this -> mn (Expression zz)+getElementsByTagNameNS a b thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "getElementsByTagNameNS")+       return (CallExpr et r [a /\ et, b /\ et])+ +getElementById ::+               (Monad mn, CDocument this, CElement zz) =>+                 Expression String -> Expression this -> mn (Expression zz)+getElementById a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "getElementById")+       return (CallExpr et r [a /\ et])+ +get'doctype ::+            (Monad mn, CDocument this, CDocumentType zz) =>+              Expression this -> mn (Expression zz)+get'doctype thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "doctype")+       return r+ +getm'doctype ::+             (Monad mn, CDocument this) =>+               Expression this -> mn (Expression TDocumentType)+getm'doctype = get'doctype+ +get'implementation ::+                   (Monad mn, CDocument this, CDOMImplementation zz) =>+                     Expression this -> mn (Expression zz)+get'implementation thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "implementation")+       return r+ +getm'implementation ::+                    (Monad mn, CDocument this) =>+                      Expression this -> mn (Expression TDOMImplementation)+getm'implementation = get'implementation+ +get'documentElement ::+                    (Monad mn, CDocument this, CElement zz) =>+                      Expression this -> mn (Expression zz)+get'documentElement thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "documentElement")+       return r+ +getm'documentElement ::+                     (Monad mn, CDocument this) =>+                       Expression this -> mn (Expression TElement)+getm'documentElement = get'documentElement+
+ Data/DOM/DocumentCSS.hs view
@@ -0,0 +1,21 @@++module Data.DOM.DocumentCSS (getOverrideStyle) where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +getOverrideStyle ::+                 (Monad mn, CDocumentCSS this, CElement elt,+                  CCSSStyleDeclaration zz) =>+                   Expression elt ->+                     Expression String -> Expression this -> mn (Expression zz)+getOverrideStyle a b thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "getOverrideStyle")+       return (CallExpr et r [a /\ et, b /\ et])+
+ Data/DOM/DocumentEvent.hs view
@@ -0,0 +1,18 @@++module Data.DOM.DocumentEvent (createEvent) where+import Data.DOM.Events+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +createEvent ::+            (Monad mn, CDocumentEvent this, CEvent zz) =>+              Expression String -> Expression this -> mn (Expression zz)+createEvent a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createEvent")+       return (CallExpr et r [a /\ et])+
+ Data/DOM/DocumentRange.hs view
@@ -0,0 +1,17 @@++module Data.DOM.DocumentRange (createRange) where+import Data.DOM.Ranges+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +createRange ::+            (Monad mn, CDocumentRange this, CRange zz) =>+              Expression this -> mn (Expression zz)+createRange thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createRange")+       return (CallExpr et r [])+
+ Data/DOM/DocumentStyle.hs view
@@ -0,0 +1,23 @@++module Data.DOM.DocumentStyle (get'styleSheets, getm'styleSheets)+       where+import Data.DOM.Stylesheets+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'styleSheets ::+                (Monad mn, CDocumentStyle this, CStyleSheetList zz) =>+                  Expression this -> mn (Expression zz)+get'styleSheets thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "styleSheets")+       return r+ +getm'styleSheets ::+                 (Monad mn, CDocumentStyle this) =>+                   Expression this -> mn (Expression TStyleSheetList)+getm'styleSheets = get'styleSheets+
+ Data/DOM/DocumentTraversal.hs view
@@ -0,0 +1,34 @@++module Data.DOM.DocumentTraversal+       (createNodeIterator, createTreeWalker) where+import Data.DOM.Traversal+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +createNodeIterator ::+                   (Monad mn, CDocumentTraversal this, CNode root, CNodeFilter filter,+                    CNodeIterator zz) =>+                     Expression root ->+                       Expression Double ->+                         Expression filter ->+                           Expression Bool -> Expression this -> mn (Expression zz)+createNodeIterator a b c d thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createNodeIterator")+       return (CallExpr et r [a /\ et, b /\ et, c /\ et, d /\ et])+ +createTreeWalker ::+                 (Monad mn, CDocumentTraversal this, CNode root, CNodeFilter filter,+                  CTreeWalker zz) =>+                   Expression root ->+                     Expression Double ->+                       Expression filter ->+                         Expression Bool -> Expression this -> mn (Expression zz)+createTreeWalker a b c d thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createTreeWalker")+       return (CallExpr et r [a /\ et, b /\ et, c /\ et, d /\ et])+
+ Data/DOM/DocumentType.hs view
@@ -0,0 +1,90 @@++module Data.DOM.DocumentType+       (get'name, getm'name, get'entities, getm'entities, get'notations,+        getm'notations, get'publicId, getm'publicId, get'systemId,+        getm'systemId, get'internalSubset, getm'internalSubset)+       where+import Data.DOM.Dom+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Document (createElement)+ +get'name ::+         (Monad mn, CDocumentType this) =>+           Expression this -> mn (Expression String)+get'name thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "name")+       return r+ +getm'name ::+          (Monad mn, CDocumentType this) =>+            Expression this -> mn (Expression String)+getm'name = get'name+ +get'entities ::+             (Monad mn, CDocumentType this, CNamedNodeMap zz) =>+               Expression this -> mn (Expression zz)+get'entities thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "entities")+       return r+ +getm'entities ::+              (Monad mn, CDocumentType this) =>+                Expression this -> mn (Expression TNamedNodeMap)+getm'entities = get'entities+ +get'notations ::+              (Monad mn, CDocumentType this, CNamedNodeMap zz) =>+                Expression this -> mn (Expression zz)+get'notations thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "notations")+       return r+ +getm'notations ::+               (Monad mn, CDocumentType this) =>+                 Expression this -> mn (Expression TNamedNodeMap)+getm'notations = get'notations+ +get'publicId ::+             (Monad mn, CDocumentType this) =>+               Expression this -> mn (Expression String)+get'publicId thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "publicId")+       return r+ +getm'publicId ::+              (Monad mn, CDocumentType this) =>+                Expression this -> mn (Expression String)+getm'publicId = get'publicId+ +get'systemId ::+             (Monad mn, CDocumentType this) =>+               Expression this -> mn (Expression String)+get'systemId thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "systemId")+       return r+ +getm'systemId ::+              (Monad mn, CDocumentType this) =>+                Expression this -> mn (Expression String)+getm'systemId = get'systemId+ +get'internalSubset ::+                   (Monad mn, CDocumentType this) =>+                     Expression this -> mn (Expression String)+get'internalSubset thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "internalSubset")+       return r+ +getm'internalSubset ::+                    (Monad mn, CDocumentType this) =>+                      Expression this -> mn (Expression String)+getm'internalSubset = get'internalSubset+
+ Data/DOM/DocumentView.hs view
@@ -0,0 +1,23 @@++module Data.DOM.DocumentView (get'defaultView, getm'defaultView)+       where+import Data.DOM.Views+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'defaultView ::+                (Monad mn, CDocumentView this, CAbstractView zz) =>+                  Expression this -> mn (Expression zz)+get'defaultView thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "defaultView")+       return r+ +getm'defaultView ::+                 (Monad mn, CDocumentView this) =>+                   Expression this -> mn (Expression TAbstractView)+getm'defaultView = get'defaultView+
+ Data/DOM/DocumentWindow.hs view
@@ -0,0 +1,23 @@++module Data.DOM.DocumentWindow (get'location, getm'location) where+import Data.DOM.WindowObj+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'location ::+             (Monad mn, CDocumentWindow this, CLocation zz) =>+               Expression this -> mn (Expression zz)+get'location thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "location")+       return r+ +getm'location ::+              (Monad mn, CDocumentWindow this) =>+                Expression this -> mn (Expression TLocation)+getm'location = get'location+
+ Data/DOM/Dom.hs view
@@ -0,0 +1,152 @@++module Data.DOM.Dom+       (TDOMImplementation(..), TNode(..), TNodeList(..),+        TNamedNodeMap(..), TCharacterData(..), TAttr(..), TElement(..),+        TText(..), TComment(..), TCDATASection(..), TDocumentType(..),+        TNotation(..), TEntity(..), TEntityReference(..),+        TProcessingInstruction(..), TDocumentFragment(..), TDocument(..),+        CDOMImplementation, CNode, CNodeList, CNamedNodeMap,+        CCharacterData, CAttr, CElement, CText, CComment, CCDATASection,+        CDocumentType, CNotation, CEntity, CEntityReference,+        CProcessingInstruction, CDocumentFragment, CDocument)+       where+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+ +data TDOMImplementation = TDOMImplementation+ +data TNode = TNode+ +data TNodeList = TNodeList+ +data TNamedNodeMap = TNamedNodeMap+ +data TCharacterData = TCharacterData+ +data TAttr = TAttr+ +data TElement = TElement+ +data TText = TText+ +data TComment = TComment+ +data TCDATASection = TCDATASection+ +data TDocumentType = TDocumentType+ +data TNotation = TNotation+ +data TEntity = TEntity+ +data TEntityReference = TEntityReference+ +data TProcessingInstruction = TProcessingInstruction+ +data TDocumentFragment = TDocumentFragment+ +data TDocument = TDocument+ +class CDOMImplementation a+ +class CNode a+ +class CNodeList a+ +class CNamedNodeMap a+ +class (CNode a) => CCharacterData a+ +class (CNode a) => CAttr a+ +class (CNode a) => CElement a+ +class (CCharacterData a) => CText a+ +class (CCharacterData a) => CComment a+ +class (CText a) => CCDATASection a+ +class (CNode a) => CDocumentType a+ +class (CNode a) => CNotation a+ +class (CNode a) => CEntity a+ +class (CNode a) => CEntityReference a+ +class (CNode a) => CProcessingInstruction a+ +class (CNode a) => CDocumentFragment a+ +class (CNode a) => CDocument a+ +instance CDOMImplementation TDOMImplementation+ +instance CNode TNode+ +instance CNodeList TNodeList+ +instance CNamedNodeMap TNamedNodeMap+ +instance CCharacterData TCharacterData+ +instance CNode TCharacterData+ +instance CAttr TAttr+ +instance CNode TAttr+ +instance CElement TElement+ +instance CNode TElement+ +instance CText TText+ +instance CCharacterData TText+ +instance CNode TText+ +instance CComment TComment+ +instance CCharacterData TComment+ +instance CNode TComment+ +instance CCDATASection TCDATASection+ +instance CText TCDATASection+ +instance CCharacterData TCDATASection+ +instance CNode TCDATASection+ +instance CDocumentType TDocumentType+ +instance CNode TDocumentType+ +instance CNotation TNotation+ +instance CNode TNotation+ +instance CEntity TEntity+ +instance CNode TEntity+ +instance CEntityReference TEntityReference+ +instance CNode TEntityReference+ +instance CProcessingInstruction TProcessingInstruction+ +instance CNode TProcessingInstruction+ +instance CDocumentFragment TDocumentFragment+ +instance CNode TDocumentFragment+ +instance CDocument TDocument+ +instance CNode TDocument+
+ Data/DOM/Element.hs view
@@ -0,0 +1,155 @@++module Data.DOM.Element+       (getAttribute, setAttribute, removeAttribute, getAttributeNode,+        setAttributeNode, removeAttributeNode, getElementsByTagName,+        getAttributeNS, setAttributeNS, removeAttributeNS,+        getAttributeNodeNS, setAttributeNodeNS, getElementsByTagNameNS,+        hasAttribute, hasAttributeNS, get'tagName, getm'tagName)+       where+import Data.DOM.Dom+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Document (createElement)+ +getAttribute ::+             (Monad mn, CElement this) =>+               Expression String -> Expression this -> mn (Expression String)+getAttribute a thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "getAttribute")+       return (CallExpr et r [a /\ et])+ +setAttribute ::+             (Monad mn, CElement this) =>+               Expression String ->+                 Expression String -> Expression this -> mn (Expression ())+setAttribute a b thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "setAttribute")+       return (CallExpr et r [a /\ et, b /\ et])+ +removeAttribute ::+                (Monad mn, CElement this) =>+                  Expression String -> Expression this -> mn (Expression ())+removeAttribute a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "removeAttribute")+       return (CallExpr et r [a /\ et])+ +getAttributeNode ::+                 (Monad mn, CElement this, CAttr zz) =>+                   Expression String -> Expression this -> mn (Expression zz)+getAttributeNode a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "getAttributeNode")+       return (CallExpr et r [a /\ et])+ +setAttributeNode ::+                 (Monad mn, CElement this, CAttr newAttr, CAttr zz) =>+                   Expression newAttr -> Expression this -> mn (Expression zz)+setAttributeNode a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "setAttributeNode")+       return (CallExpr et r [a /\ et])+ +removeAttributeNode ::+                    (Monad mn, CElement this, CAttr oldAttr, CAttr zz) =>+                      Expression oldAttr -> Expression this -> mn (Expression zz)+removeAttributeNode a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "removeAttributeNode")+       return (CallExpr et r [a /\ et])+ +getElementsByTagName ::+                     (Monad mn, CElement this, CNodeList zz) =>+                       Expression String -> Expression this -> mn (Expression zz)+getElementsByTagName a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "getElementsByTagName")+       return (CallExpr et r [a /\ et])+ +getAttributeNS ::+               (Monad mn, CElement this) =>+                 Expression String ->+                   Expression String -> Expression this -> mn (Expression String)+getAttributeNS a b thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "getAttributeNS")+       return (CallExpr et r [a /\ et, b /\ et])+ +setAttributeNS ::+               (Monad mn, CElement this) =>+                 Expression String ->+                   Expression String ->+                     Expression String -> Expression this -> mn (Expression ())+setAttributeNS a b c thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "setAttributeNS")+       return (CallExpr et r [a /\ et, b /\ et, c /\ et])+ +removeAttributeNS ::+                  (Monad mn, CElement this) =>+                    Expression String ->+                      Expression String -> Expression this -> mn (Expression ())+removeAttributeNS a b thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "removeAttributeNS")+       return (CallExpr et r [a /\ et, b /\ et])+ +getAttributeNodeNS ::+                   (Monad mn, CElement this, CAttr zz) =>+                     Expression String ->+                       Expression String -> Expression this -> mn (Expression zz)+getAttributeNodeNS a b thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "getAttributeNodeNS")+       return (CallExpr et r [a /\ et, b /\ et])+ +setAttributeNodeNS ::+                   (Monad mn, CElement this, CAttr newAttr, CAttr zz) =>+                     Expression newAttr -> Expression this -> mn (Expression zz)+setAttributeNodeNS a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "setAttributeNodeNS")+       return (CallExpr et r [a /\ et])+ +getElementsByTagNameNS ::+                       (Monad mn, CElement this, CNodeList zz) =>+                         Expression String ->+                           Expression String -> Expression this -> mn (Expression zz)+getElementsByTagNameNS a b thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "getElementsByTagNameNS")+       return (CallExpr et r [a /\ et, b /\ et])+ +hasAttribute ::+             (Monad mn, CElement this) =>+               Expression String -> Expression this -> mn (Expression Bool)+hasAttribute a thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "hasAttribute")+       return (CallExpr et r [a /\ et])+ +hasAttributeNS ::+               (Monad mn, CElement this) =>+                 Expression String ->+                   Expression String -> Expression this -> mn (Expression Bool)+hasAttributeNS a b thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "hasAttributeNS")+       return (CallExpr et r [a /\ et, b /\ et])+ +get'tagName ::+            (Monad mn, CElement this) =>+              Expression this -> mn (Expression String)+get'tagName thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "tagName")+       return r+ +getm'tagName ::+             (Monad mn, CElement this) =>+               Expression this -> mn (Expression String)+getm'tagName = get'tagName+
+ Data/DOM/ElementCSSInlineStyle.hs view
@@ -0,0 +1,24 @@++module Data.DOM.ElementCSSInlineStyle (get'style, getm'style) where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'style ::+          (Monad mn, CElementCSSInlineStyle this, CCSSStyleDeclaration zz) =>+            Expression this -> mn (Expression zz)+get'style thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "style")+       return r+ +getm'style ::+           (Monad mn, CElementCSSInlineStyle this) =>+             Expression this -> mn (Expression TCSSStyleDeclaration)+getm'style = get'style+
+ Data/DOM/EmbeddingElement.hs view
@@ -0,0 +1,39 @@++module Data.DOM.EmbeddingElement+       (get'contentDocument, getm'contentDocument, get'contentWindow,+        getm'contentWindow)+       where+import Data.DOM.WindowObj+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'contentDocument ::+                    (Monad mn, CEmbeddingElement this, CDocument zz) =>+                      Expression this -> mn (Expression zz)+get'contentDocument thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "contentDocument")+       return r+ +getm'contentDocument ::+                     (Monad mn, CEmbeddingElement this) =>+                       Expression this -> mn (Expression TDocument)+getm'contentDocument = get'contentDocument+ +get'contentWindow ::+                  (Monad mn, CEmbeddingElement this, CWindow zz) =>+                    Expression this -> mn (Expression zz)+get'contentWindow thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "contentWindow")+       return r+ +getm'contentWindow ::+                   (Monad mn, CEmbeddingElement this) =>+                     Expression this -> mn (Expression TWindow)+getm'contentWindow = get'contentWindow+
+ Data/DOM/Entity.hs view
@@ -0,0 +1,50 @@++module Data.DOM.Entity+       (get'publicId, getm'publicId, get'systemId, getm'systemId,+        get'notationName, getm'notationName)+       where+import Data.DOM.Dom+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Document (createElement)+ +get'publicId ::+             (Monad mn, CEntity this) =>+               Expression this -> mn (Expression String)+get'publicId thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "publicId")+       return r+ +getm'publicId ::+              (Monad mn, CEntity this) =>+                Expression this -> mn (Expression String)+getm'publicId = get'publicId+ +get'systemId ::+             (Monad mn, CEntity this) =>+               Expression this -> mn (Expression String)+get'systemId thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "systemId")+       return r+ +getm'systemId ::+              (Monad mn, CEntity this) =>+                Expression this -> mn (Expression String)+getm'systemId = get'systemId+ +get'notationName ::+                 (Monad mn, CEntity this) =>+                   Expression this -> mn (Expression String)+get'notationName thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "notationName")+       return r+ +getm'notationName ::+                  (Monad mn, CEntity this) =>+                    Expression this -> mn (Expression String)+getm'notationName = get'notationName+
+ Data/DOM/Event.hs view
@@ -0,0 +1,130 @@++module Data.DOM.Event+       (stopPropagation, preventDefault, initEvent, cCAPTURING_PHASE,+        cAT_TARGET, cBUBBLING_PHASE, get'type, getm'type, get'target,+        getm'target, get'currentTarget, getm'currentTarget, get'eventPhase,+        getm'eventPhase, get'bubbles, getm'bubbles, get'cancelable,+        getm'cancelable, get'timeStamp, getm'timeStamp)+       where+import Data.DOM.Events+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +stopPropagation ::+                (Monad mn, CEvent this) => Expression this -> mn (Expression ())+stopPropagation thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "stopPropagation")+       return (CallExpr et r [])+ +preventDefault ::+               (Monad mn, CEvent this) => Expression this -> mn (Expression ())+preventDefault thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "preventDefault")+       return (CallExpr et r [])+ +initEvent ::+          (Monad mn, CEvent this) =>+            Expression String ->+              Expression Bool ->+                Expression Bool -> Expression this -> mn (Expression ())+initEvent a b c thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "initEvent")+       return (CallExpr et r [a /\ et, b /\ et, c /\ et])+cCAPTURING_PHASE = 1+cAT_TARGET = 2+cBUBBLING_PHASE = 3+ +get'type ::+         (Monad mn, CEvent this) =>+           Expression this -> mn (Expression String)+get'type thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "type")+       return r+ +getm'type ::+          (Monad mn, CEvent this) =>+            Expression this -> mn (Expression String)+getm'type = get'type+ +get'target ::+           (Monad mn, CEvent this, CEventTarget zz) =>+             Expression this -> mn (Expression zz)+get'target thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "target")+       return r+ +getm'target ::+            (Monad mn, CEvent this) =>+              Expression this -> mn (Expression TEventTarget)+getm'target = get'target+ +get'currentTarget ::+                  (Monad mn, CEvent this, CEventTarget zz) =>+                    Expression this -> mn (Expression zz)+get'currentTarget thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "currentTarget")+       return r+ +getm'currentTarget ::+                   (Monad mn, CEvent this) =>+                     Expression this -> mn (Expression TEventTarget)+getm'currentTarget = get'currentTarget+ +get'eventPhase ::+               (Monad mn, CEvent this) =>+                 Expression this -> mn (Expression Double)+get'eventPhase thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "eventPhase")+       return r+ +getm'eventPhase ::+                (Monad mn, CEvent this) =>+                  Expression this -> mn (Expression Double)+getm'eventPhase = get'eventPhase+ +get'bubbles ::+            (Monad mn, CEvent this) => Expression this -> mn (Expression Bool)+get'bubbles thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "bubbles")+       return r+ +getm'bubbles ::+             (Monad mn, CEvent this) => Expression this -> mn (Expression Bool)+getm'bubbles = get'bubbles+ +get'cancelable ::+               (Monad mn, CEvent this) => Expression this -> mn (Expression Bool)+get'cancelable thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "cancelable")+       return r+ +getm'cancelable ::+                (Monad mn, CEvent this) => Expression this -> mn (Expression Bool)+getm'cancelable = get'cancelable+ +get'timeStamp ::+              (Monad mn, CEvent this) =>+                Expression this -> mn (Expression Double)+get'timeStamp thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "timeStamp")+       return r+ +getm'timeStamp ::+               (Monad mn, CEvent this) =>+                 Expression this -> mn (Expression Double)+getm'timeStamp = get'timeStamp+
+ Data/DOM/EventListener.hs view
@@ -0,0 +1,18 @@++module Data.DOM.EventListener (handleEvent) where+import Data.DOM.Events+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +handleEvent ::+            (Monad mn, CEventListener this, CEvent evt) =>+              Expression evt -> Expression this -> mn (Expression ())+handleEvent a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "handleEvent")+       return (CallExpr et r [a /\ et])+
+ Data/DOM/EventTarget.hs view
@@ -0,0 +1,39 @@++module Data.DOM.EventTarget+       (addEventListener, removeEventListener, dispatchEvent) where+import Data.DOM.Events+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +addEventListener ::+                 (Monad mn, CEventTarget this, CEventListener listener) =>+                   Expression String ->+                     Expression listener ->+                       Expression Bool -> Expression this -> mn (Expression ())+addEventListener a b c thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "addEventListener")+       return (CallExpr et r [a /\ et, b /\ et, c /\ et])+ +removeEventListener ::+                    (Monad mn, CEventTarget this, CEventListener listener) =>+                      Expression String ->+                        Expression listener ->+                          Expression Bool -> Expression this -> mn (Expression ())+removeEventListener a b c thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "removeEventListener")+       return (CallExpr et r [a /\ et, b /\ et, c /\ et])+ +dispatchEvent ::+              (Monad mn, CEventTarget this, CEvent evt) =>+                Expression evt -> Expression this -> mn (Expression Bool)+dispatchEvent a thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "dispatchEvent")+       return (CallExpr et r [a /\ et])+
+ Data/DOM/Events.hs view
@@ -0,0 +1,84 @@++module Data.DOM.Events+       (TEventTarget(..), TEventListener(..), TEvent(..),+        TDocumentEvent(..), TUIEvent(..), TMouseEvent(..),+        TMutationEvent(..), TKeyboardEvent(..), TKeyEvent(..),+        CEventTarget, CEventListener, CEvent, CDocumentEvent, CUIEvent,+        CMouseEvent, CMutationEvent, CKeyboardEvent, CKeyEvent)+       where+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Dom+ +data TEventTarget = TEventTarget+ +data TEventListener = TEventListener+ +data TEvent = TEvent+ +data TDocumentEvent = TDocumentEvent+ +data TUIEvent = TUIEvent+ +data TMouseEvent = TMouseEvent+ +data TMutationEvent = TMutationEvent+ +data TKeyboardEvent = TKeyboardEvent+ +data TKeyEvent = TKeyEvent+ +class CEventTarget a+ +class CEventListener a+ +class CEvent a+ +class CDocumentEvent a+ +class (CEvent a) => CUIEvent a+ +class (CUIEvent a) => CMouseEvent a+ +class (CEvent a) => CMutationEvent a+ +class (CUIEvent a) => CKeyboardEvent a+ +class (CUIEvent a) => CKeyEvent a+ +instance CEventTarget TEventTarget+ +instance CEventListener TEventListener+ +instance CEvent TEvent+ +instance CDocumentEvent TDocumentEvent+ +instance CUIEvent TUIEvent+ +instance CEvent TUIEvent+ +instance CMouseEvent TMouseEvent+ +instance CUIEvent TMouseEvent+ +instance CEvent TMouseEvent+ +instance CMutationEvent TMutationEvent+ +instance CEvent TMutationEvent+ +instance CKeyboardEvent TKeyboardEvent+ +instance CUIEvent TKeyboardEvent+ +instance CEvent TKeyboardEvent+ +instance CKeyEvent TKeyEvent+ +instance CUIEvent TKeyEvent+ +instance CEvent TKeyEvent+
+ Data/DOM/HTMLAnchorElement.hs view
@@ -0,0 +1,249 @@++module Data.DOM.HTMLAnchorElement+       (blur, focus, set'accessKey, get'accessKey, getm'accessKey,+        set'charset, get'charset, getm'charset, set'coords, get'coords,+        getm'coords, set'href, get'href, getm'href, set'hreflang,+        get'hreflang, getm'hreflang, set'name, get'name, getm'name,+        set'rel, get'rel, getm'rel, set'rev, get'rev, getm'rev, set'shape,+        get'shape, getm'shape, set'tabIndex, get'tabIndex, getm'tabIndex,+        set'target, get'target, getm'target, set'type, get'type, getm'type)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +blur ::+     (Monad mn, CHTMLAnchorElement this) =>+       Expression this -> mn (Expression ())+blur thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "blur")+       return (CallExpr et r [])+ +focus ::+      (Monad mn, CHTMLAnchorElement this) =>+        Expression this -> mn (Expression ())+focus thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "focus")+       return (CallExpr et r [])+ +set'accessKey ::+              (Monad mn, CHTMLAnchorElement zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'accessKey = setjsProperty "accessKey"+ +get'accessKey ::+              (Monad mn, CHTMLAnchorElement this) =>+                Expression this -> mn (Expression String)+get'accessKey thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "accessKey")+       return r+ +getm'accessKey ::+               (Monad mn, CHTMLAnchorElement this) =>+                 Expression this -> mn (Expression String)+getm'accessKey = get'accessKey+ +set'charset ::+            (Monad mn, CHTMLAnchorElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'charset = setjsProperty "charset"+ +get'charset ::+            (Monad mn, CHTMLAnchorElement this) =>+              Expression this -> mn (Expression String)+get'charset thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "charset")+       return r+ +getm'charset ::+             (Monad mn, CHTMLAnchorElement this) =>+               Expression this -> mn (Expression String)+getm'charset = get'charset+ +set'coords ::+           (Monad mn, CHTMLAnchorElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'coords = setjsProperty "coords"+ +get'coords ::+           (Monad mn, CHTMLAnchorElement this) =>+             Expression this -> mn (Expression String)+get'coords thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "coords")+       return r+ +getm'coords ::+            (Monad mn, CHTMLAnchorElement this) =>+              Expression this -> mn (Expression String)+getm'coords = get'coords+ +set'href ::+         (Monad mn, CHTMLAnchorElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'href = setjsProperty "href"+ +get'href ::+         (Monad mn, CHTMLAnchorElement this) =>+           Expression this -> mn (Expression String)+get'href thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "href")+       return r+ +getm'href ::+          (Monad mn, CHTMLAnchorElement this) =>+            Expression this -> mn (Expression String)+getm'href = get'href+ +set'hreflang ::+             (Monad mn, CHTMLAnchorElement zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'hreflang = setjsProperty "hreflang"+ +get'hreflang ::+             (Monad mn, CHTMLAnchorElement this) =>+               Expression this -> mn (Expression String)+get'hreflang thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "hreflang")+       return r+ +getm'hreflang ::+              (Monad mn, CHTMLAnchorElement this) =>+                Expression this -> mn (Expression String)+getm'hreflang = get'hreflang+ +set'name ::+         (Monad mn, CHTMLAnchorElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'name = setjsProperty "name"+ +get'name ::+         (Monad mn, CHTMLAnchorElement this) =>+           Expression this -> mn (Expression String)+get'name thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "name")+       return r+ +getm'name ::+          (Monad mn, CHTMLAnchorElement this) =>+            Expression this -> mn (Expression String)+getm'name = get'name+ +set'rel ::+        (Monad mn, CHTMLAnchorElement zz) =>+          Expression String -> Expression zz -> mn (Expression zz)+set'rel = setjsProperty "rel"+ +get'rel ::+        (Monad mn, CHTMLAnchorElement this) =>+          Expression this -> mn (Expression String)+get'rel thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "rel")+       return r+ +getm'rel ::+         (Monad mn, CHTMLAnchorElement this) =>+           Expression this -> mn (Expression String)+getm'rel = get'rel+ +set'rev ::+        (Monad mn, CHTMLAnchorElement zz) =>+          Expression String -> Expression zz -> mn (Expression zz)+set'rev = setjsProperty "rev"+ +get'rev ::+        (Monad mn, CHTMLAnchorElement this) =>+          Expression this -> mn (Expression String)+get'rev thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "rev")+       return r+ +getm'rev ::+         (Monad mn, CHTMLAnchorElement this) =>+           Expression this -> mn (Expression String)+getm'rev = get'rev+ +set'shape ::+          (Monad mn, CHTMLAnchorElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'shape = setjsProperty "shape"+ +get'shape ::+          (Monad mn, CHTMLAnchorElement this) =>+            Expression this -> mn (Expression String)+get'shape thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "shape")+       return r+ +getm'shape ::+           (Monad mn, CHTMLAnchorElement this) =>+             Expression this -> mn (Expression String)+getm'shape = get'shape+ +set'tabIndex ::+             (Monad mn, CHTMLAnchorElement zz) =>+               Expression Double -> Expression zz -> mn (Expression zz)+set'tabIndex = setjsProperty "tabIndex"+ +get'tabIndex ::+             (Monad mn, CHTMLAnchorElement this) =>+               Expression this -> mn (Expression Double)+get'tabIndex thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "tabIndex")+       return r+ +getm'tabIndex ::+              (Monad mn, CHTMLAnchorElement this) =>+                Expression this -> mn (Expression Double)+getm'tabIndex = get'tabIndex+ +set'target ::+           (Monad mn, CHTMLAnchorElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'target = setjsProperty "target"+ +get'target ::+           (Monad mn, CHTMLAnchorElement this) =>+             Expression this -> mn (Expression String)+get'target thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "target")+       return r+ +getm'target ::+            (Monad mn, CHTMLAnchorElement this) =>+              Expression this -> mn (Expression String)+getm'target = get'target+ +set'type ::+         (Monad mn, CHTMLAnchorElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'type = setjsProperty "type"+ +get'type ::+         (Monad mn, CHTMLAnchorElement this) =>+           Expression this -> mn (Expression String)+get'type thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "type")+       return r+ +getm'type ::+          (Monad mn, CHTMLAnchorElement this) =>+            Expression this -> mn (Expression String)+getm'type = get'type+
+ Data/DOM/HTMLAppletElement.hs view
@@ -0,0 +1,220 @@++module Data.DOM.HTMLAppletElement+       (set'align, get'align, getm'align, set'alt, get'alt, getm'alt,+        set'archive, get'archive, getm'archive, set'code, get'code,+        getm'code, set'codeBase, get'codeBase, getm'codeBase, set'height,+        get'height, getm'height, set'hspace, get'hspace, getm'hspace,+        set'name, get'name, getm'name, set'object, get'object, getm'object,+        set'vspace, get'vspace, getm'vspace, set'width, get'width,+        getm'width, mkApplet)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'align ::+          (Monad mn, CHTMLAppletElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'align = setjsProperty "align"+ +get'align ::+          (Monad mn, CHTMLAppletElement this) =>+            Expression this -> mn (Expression String)+get'align thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "align")+       return r+ +getm'align ::+           (Monad mn, CHTMLAppletElement this) =>+             Expression this -> mn (Expression String)+getm'align = get'align+ +set'alt ::+        (Monad mn, CHTMLAppletElement zz) =>+          Expression String -> Expression zz -> mn (Expression zz)+set'alt = setjsProperty "alt"+ +get'alt ::+        (Monad mn, CHTMLAppletElement this) =>+          Expression this -> mn (Expression String)+get'alt thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "alt")+       return r+ +getm'alt ::+         (Monad mn, CHTMLAppletElement this) =>+           Expression this -> mn (Expression String)+getm'alt = get'alt+ +set'archive ::+            (Monad mn, CHTMLAppletElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'archive = setjsProperty "archive"+ +get'archive ::+            (Monad mn, CHTMLAppletElement this) =>+              Expression this -> mn (Expression String)+get'archive thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "archive")+       return r+ +getm'archive ::+             (Monad mn, CHTMLAppletElement this) =>+               Expression this -> mn (Expression String)+getm'archive = get'archive+ +set'code ::+         (Monad mn, CHTMLAppletElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'code = setjsProperty "code"+ +get'code ::+         (Monad mn, CHTMLAppletElement this) =>+           Expression this -> mn (Expression String)+get'code thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "code")+       return r+ +getm'code ::+          (Monad mn, CHTMLAppletElement this) =>+            Expression this -> mn (Expression String)+getm'code = get'code+ +set'codeBase ::+             (Monad mn, CHTMLAppletElement zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'codeBase = setjsProperty "codeBase"+ +get'codeBase ::+             (Monad mn, CHTMLAppletElement this) =>+               Expression this -> mn (Expression String)+get'codeBase thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "codeBase")+       return r+ +getm'codeBase ::+              (Monad mn, CHTMLAppletElement this) =>+                Expression this -> mn (Expression String)+getm'codeBase = get'codeBase+ +set'height ::+           (Monad mn, CHTMLAppletElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'height = setjsProperty "height"+ +get'height ::+           (Monad mn, CHTMLAppletElement this) =>+             Expression this -> mn (Expression String)+get'height thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "height")+       return r+ +getm'height ::+            (Monad mn, CHTMLAppletElement this) =>+              Expression this -> mn (Expression String)+getm'height = get'height+ +set'hspace ::+           (Monad mn, CHTMLAppletElement zz) =>+             Expression Double -> Expression zz -> mn (Expression zz)+set'hspace = setjsProperty "hspace"+ +get'hspace ::+           (Monad mn, CHTMLAppletElement this) =>+             Expression this -> mn (Expression Double)+get'hspace thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "hspace")+       return r+ +getm'hspace ::+            (Monad mn, CHTMLAppletElement this) =>+              Expression this -> mn (Expression Double)+getm'hspace = get'hspace+ +set'name ::+         (Monad mn, CHTMLAppletElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'name = setjsProperty "name"+ +get'name ::+         (Monad mn, CHTMLAppletElement this) =>+           Expression this -> mn (Expression String)+get'name thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "name")+       return r+ +getm'name ::+          (Monad mn, CHTMLAppletElement this) =>+            Expression this -> mn (Expression String)+getm'name = get'name+ +set'object ::+           (Monad mn, CHTMLAppletElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'object = setjsProperty "object"+ +get'object ::+           (Monad mn, CHTMLAppletElement this) =>+             Expression this -> mn (Expression String)+get'object thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "object")+       return r+ +getm'object ::+            (Monad mn, CHTMLAppletElement this) =>+              Expression this -> mn (Expression String)+getm'object = get'object+ +set'vspace ::+           (Monad mn, CHTMLAppletElement zz) =>+             Expression Double -> Expression zz -> mn (Expression zz)+set'vspace = setjsProperty "vspace"+ +get'vspace ::+           (Monad mn, CHTMLAppletElement this) =>+             Expression this -> mn (Expression Double)+get'vspace thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "vspace")+       return r+ +getm'vspace ::+            (Monad mn, CHTMLAppletElement this) =>+              Expression this -> mn (Expression Double)+getm'vspace = get'vspace+ +set'width ::+          (Monad mn, CHTMLAppletElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'width = setjsProperty "width"+ +get'width ::+          (Monad mn, CHTMLAppletElement this) =>+            Expression this -> mn (Expression String)+get'width thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "width")+       return r+ +getm'width ::+           (Monad mn, CHTMLAppletElement this) =>+             Expression this -> mn (Expression String)+getm'width = get'width+ +mkApplet ::+         (Monad mn, CHTMLDocument a) =>+           Expression a -> mn (Expression THTMLAppletElement)+mkApplet = createElement (StringLit "applet" "applet")+
+ Data/DOM/HTMLAreaElement.hs view
@@ -0,0 +1,159 @@++module Data.DOM.HTMLAreaElement+       (set'accessKey, get'accessKey, getm'accessKey, set'alt, get'alt,+        getm'alt, set'coords, get'coords, getm'coords, set'href, get'href,+        getm'href, set'noHref, get'noHref, getm'noHref, set'shape,+        get'shape, getm'shape, set'tabIndex, get'tabIndex, getm'tabIndex,+        set'target, get'target, getm'target)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'accessKey ::+              (Monad mn, CHTMLAreaElement zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'accessKey = setjsProperty "accessKey"+ +get'accessKey ::+              (Monad mn, CHTMLAreaElement this) =>+                Expression this -> mn (Expression String)+get'accessKey thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "accessKey")+       return r+ +getm'accessKey ::+               (Monad mn, CHTMLAreaElement this) =>+                 Expression this -> mn (Expression String)+getm'accessKey = get'accessKey+ +set'alt ::+        (Monad mn, CHTMLAreaElement zz) =>+          Expression String -> Expression zz -> mn (Expression zz)+set'alt = setjsProperty "alt"+ +get'alt ::+        (Monad mn, CHTMLAreaElement this) =>+          Expression this -> mn (Expression String)+get'alt thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "alt")+       return r+ +getm'alt ::+         (Monad mn, CHTMLAreaElement this) =>+           Expression this -> mn (Expression String)+getm'alt = get'alt+ +set'coords ::+           (Monad mn, CHTMLAreaElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'coords = setjsProperty "coords"+ +get'coords ::+           (Monad mn, CHTMLAreaElement this) =>+             Expression this -> mn (Expression String)+get'coords thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "coords")+       return r+ +getm'coords ::+            (Monad mn, CHTMLAreaElement this) =>+              Expression this -> mn (Expression String)+getm'coords = get'coords+ +set'href ::+         (Monad mn, CHTMLAreaElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'href = setjsProperty "href"+ +get'href ::+         (Monad mn, CHTMLAreaElement this) =>+           Expression this -> mn (Expression String)+get'href thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "href")+       return r+ +getm'href ::+          (Monad mn, CHTMLAreaElement this) =>+            Expression this -> mn (Expression String)+getm'href = get'href+ +set'noHref ::+           (Monad mn, CHTMLAreaElement zz) =>+             Expression Bool -> Expression zz -> mn (Expression zz)+set'noHref = setjsProperty "noHref"+ +get'noHref ::+           (Monad mn, CHTMLAreaElement this) =>+             Expression this -> mn (Expression Bool)+get'noHref thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "noHref")+       return r+ +getm'noHref ::+            (Monad mn, CHTMLAreaElement this) =>+              Expression this -> mn (Expression Bool)+getm'noHref = get'noHref+ +set'shape ::+          (Monad mn, CHTMLAreaElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'shape = setjsProperty "shape"+ +get'shape ::+          (Monad mn, CHTMLAreaElement this) =>+            Expression this -> mn (Expression String)+get'shape thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "shape")+       return r+ +getm'shape ::+           (Monad mn, CHTMLAreaElement this) =>+             Expression this -> mn (Expression String)+getm'shape = get'shape+ +set'tabIndex ::+             (Monad mn, CHTMLAreaElement zz) =>+               Expression Double -> Expression zz -> mn (Expression zz)+set'tabIndex = setjsProperty "tabIndex"+ +get'tabIndex ::+             (Monad mn, CHTMLAreaElement this) =>+               Expression this -> mn (Expression Double)+get'tabIndex thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "tabIndex")+       return r+ +getm'tabIndex ::+              (Monad mn, CHTMLAreaElement this) =>+                Expression this -> mn (Expression Double)+getm'tabIndex = get'tabIndex+ +set'target ::+           (Monad mn, CHTMLAreaElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'target = setjsProperty "target"+ +get'target ::+           (Monad mn, CHTMLAreaElement this) =>+             Expression this -> mn (Expression String)+get'target thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "target")+       return r+ +getm'target ::+            (Monad mn, CHTMLAreaElement this) =>+              Expression this -> mn (Expression String)+getm'target = get'target+
+ Data/DOM/HTMLBRElement.hs view
@@ -0,0 +1,33 @@++module Data.DOM.HTMLBRElement+       (set'clear, get'clear, getm'clear, mkBr) where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'clear ::+          (Monad mn, CHTMLBRElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'clear = setjsProperty "clear"+ +get'clear ::+          (Monad mn, CHTMLBRElement this) =>+            Expression this -> mn (Expression String)+get'clear thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "clear")+       return r+ +getm'clear ::+           (Monad mn, CHTMLBRElement this) =>+             Expression this -> mn (Expression String)+getm'clear = get'clear+ +mkBr ::+     (Monad mn, CHTMLDocument a) =>+       Expression a -> mn (Expression THTMLBRElement)+mkBr = createElement (StringLit "br" "br")+
+ Data/DOM/HTMLBaseElement.hs view
@@ -0,0 +1,48 @@++module Data.DOM.HTMLBaseElement+       (set'href, get'href, getm'href, set'target, get'target,+        getm'target)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'href ::+         (Monad mn, CHTMLBaseElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'href = setjsProperty "href"+ +get'href ::+         (Monad mn, CHTMLBaseElement this) =>+           Expression this -> mn (Expression String)+get'href thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "href")+       return r+ +getm'href ::+          (Monad mn, CHTMLBaseElement this) =>+            Expression this -> mn (Expression String)+getm'href = get'href+ +set'target ::+           (Monad mn, CHTMLBaseElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'target = setjsProperty "target"+ +get'target ::+           (Monad mn, CHTMLBaseElement this) =>+             Expression this -> mn (Expression String)+get'target thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "target")+       return r+ +getm'target ::+            (Monad mn, CHTMLBaseElement this) =>+              Expression this -> mn (Expression String)+getm'target = get'target+
+ Data/DOM/HTMLBaseFontElement.hs view
@@ -0,0 +1,66 @@++module Data.DOM.HTMLBaseFontElement+       (set'color, get'color, getm'color, set'face, get'face, getm'face,+        set'size, get'size, getm'size)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'color ::+          (Monad mn, CHTMLBaseFontElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'color = setjsProperty "color"+ +get'color ::+          (Monad mn, CHTMLBaseFontElement this) =>+            Expression this -> mn (Expression String)+get'color thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "color")+       return r+ +getm'color ::+           (Monad mn, CHTMLBaseFontElement this) =>+             Expression this -> mn (Expression String)+getm'color = get'color+ +set'face ::+         (Monad mn, CHTMLBaseFontElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'face = setjsProperty "face"+ +get'face ::+         (Monad mn, CHTMLBaseFontElement this) =>+           Expression this -> mn (Expression String)+get'face thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "face")+       return r+ +getm'face ::+          (Monad mn, CHTMLBaseFontElement this) =>+            Expression this -> mn (Expression String)+getm'face = get'face+ +set'size ::+         (Monad mn, CHTMLBaseFontElement zz) =>+           Expression Double -> Expression zz -> mn (Expression zz)+set'size = setjsProperty "size"+ +get'size ::+         (Monad mn, CHTMLBaseFontElement this) =>+           Expression this -> mn (Expression Double)+get'size thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "size")+       return r+ +getm'size ::+          (Monad mn, CHTMLBaseFontElement this) =>+            Expression this -> mn (Expression Double)+getm'size = get'size+
+ Data/DOM/HTMLBodyElement.hs view
@@ -0,0 +1,122 @@++module Data.DOM.HTMLBodyElement+       (set'aLink, get'aLink, getm'aLink, set'background, get'background,+        getm'background, set'bgColor, get'bgColor, getm'bgColor, set'link,+        get'link, getm'link, set'text, get'text, getm'text, set'vLink,+        get'vLink, getm'vLink)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'aLink ::+          (Monad mn, CHTMLBodyElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'aLink = setjsProperty "aLink"+ +get'aLink ::+          (Monad mn, CHTMLBodyElement this) =>+            Expression this -> mn (Expression String)+get'aLink thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "aLink")+       return r+ +getm'aLink ::+           (Monad mn, CHTMLBodyElement this) =>+             Expression this -> mn (Expression String)+getm'aLink = get'aLink+ +set'background ::+               (Monad mn, CHTMLBodyElement zz) =>+                 Expression String -> Expression zz -> mn (Expression zz)+set'background = setjsProperty "background"+ +get'background ::+               (Monad mn, CHTMLBodyElement this) =>+                 Expression this -> mn (Expression String)+get'background thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "background")+       return r+ +getm'background ::+                (Monad mn, CHTMLBodyElement this) =>+                  Expression this -> mn (Expression String)+getm'background = get'background+ +set'bgColor ::+            (Monad mn, CHTMLBodyElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'bgColor = setjsProperty "bgColor"+ +get'bgColor ::+            (Monad mn, CHTMLBodyElement this) =>+              Expression this -> mn (Expression String)+get'bgColor thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "bgColor")+       return r+ +getm'bgColor ::+             (Monad mn, CHTMLBodyElement this) =>+               Expression this -> mn (Expression String)+getm'bgColor = get'bgColor+ +set'link ::+         (Monad mn, CHTMLBodyElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'link = setjsProperty "link"+ +get'link ::+         (Monad mn, CHTMLBodyElement this) =>+           Expression this -> mn (Expression String)+get'link thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "link")+       return r+ +getm'link ::+          (Monad mn, CHTMLBodyElement this) =>+            Expression this -> mn (Expression String)+getm'link = get'link+ +set'text ::+         (Monad mn, CHTMLBodyElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'text = setjsProperty "text"+ +get'text ::+         (Monad mn, CHTMLBodyElement this) =>+           Expression this -> mn (Expression String)+get'text thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "text")+       return r+ +getm'text ::+          (Monad mn, CHTMLBodyElement this) =>+            Expression this -> mn (Expression String)+getm'text = get'text+ +set'vLink ::+          (Monad mn, CHTMLBodyElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'vLink = setjsProperty "vLink"+ +get'vLink ::+          (Monad mn, CHTMLBodyElement this) =>+            Expression this -> mn (Expression String)+get'vLink thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "vLink")+       return r+ +getm'vLink ::+           (Monad mn, CHTMLBodyElement this) =>+             Expression this -> mn (Expression String)+getm'vLink = get'vLink+
+ Data/DOM/HTMLButtonElement.hs view
@@ -0,0 +1,135 @@++module Data.DOM.HTMLButtonElement+       (get'form, getm'form, set'accessKey, get'accessKey, getm'accessKey,+        set'disabled, get'disabled, getm'disabled, set'name, get'name,+        getm'name, set'tabIndex, get'tabIndex, getm'tabIndex, get'type,+        getm'type, set'value, get'value, getm'value, mkButton)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'form ::+         (Monad mn, CHTMLButtonElement this, CHTMLFormElement zz) =>+           Expression this -> mn (Expression zz)+get'form thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "form")+       return r+ +getm'form ::+          (Monad mn, CHTMLButtonElement this) =>+            Expression this -> mn (Expression THTMLFormElement)+getm'form = get'form+ +set'accessKey ::+              (Monad mn, CHTMLButtonElement zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'accessKey = setjsProperty "accessKey"+ +get'accessKey ::+              (Monad mn, CHTMLButtonElement this) =>+                Expression this -> mn (Expression String)+get'accessKey thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "accessKey")+       return r+ +getm'accessKey ::+               (Monad mn, CHTMLButtonElement this) =>+                 Expression this -> mn (Expression String)+getm'accessKey = get'accessKey+ +set'disabled ::+             (Monad mn, CHTMLButtonElement zz) =>+               Expression Bool -> Expression zz -> mn (Expression zz)+set'disabled = setjsProperty "disabled"+ +get'disabled ::+             (Monad mn, CHTMLButtonElement this) =>+               Expression this -> mn (Expression Bool)+get'disabled thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "disabled")+       return r+ +getm'disabled ::+              (Monad mn, CHTMLButtonElement this) =>+                Expression this -> mn (Expression Bool)+getm'disabled = get'disabled+ +set'name ::+         (Monad mn, CHTMLButtonElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'name = setjsProperty "name"+ +get'name ::+         (Monad mn, CHTMLButtonElement this) =>+           Expression this -> mn (Expression String)+get'name thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "name")+       return r+ +getm'name ::+          (Monad mn, CHTMLButtonElement this) =>+            Expression this -> mn (Expression String)+getm'name = get'name+ +set'tabIndex ::+             (Monad mn, CHTMLButtonElement zz) =>+               Expression Double -> Expression zz -> mn (Expression zz)+set'tabIndex = setjsProperty "tabIndex"+ +get'tabIndex ::+             (Monad mn, CHTMLButtonElement this) =>+               Expression this -> mn (Expression Double)+get'tabIndex thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "tabIndex")+       return r+ +getm'tabIndex ::+              (Monad mn, CHTMLButtonElement this) =>+                Expression this -> mn (Expression Double)+getm'tabIndex = get'tabIndex+ +get'type ::+         (Monad mn, CHTMLButtonElement this) =>+           Expression this -> mn (Expression String)+get'type thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "type")+       return r+ +getm'type ::+          (Monad mn, CHTMLButtonElement this) =>+            Expression this -> mn (Expression String)+getm'type = get'type+ +set'value ::+          (Monad mn, CHTMLButtonElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'value = setjsProperty "value"+ +get'value ::+          (Monad mn, CHTMLButtonElement this) =>+            Expression this -> mn (Expression String)+get'value thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "value")+       return r+ +getm'value ::+           (Monad mn, CHTMLButtonElement this) =>+             Expression this -> mn (Expression String)+getm'value = get'value+ +mkButton ::+         (Monad mn, CHTMLDocument a) =>+           Expression a -> mn (Expression THTMLButtonElement)+mkButton = createElement (StringLit "button" "button")+
+ Data/DOM/HTMLCollection.hs view
@@ -0,0 +1,39 @@++module Data.DOM.HTMLCollection+       (item, namedItem, get'length, getm'length) where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +item ::+     (Monad mn, CHTMLCollection this, CNode zz) =>+       Expression Double -> Expression this -> mn (Expression zz)+item a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "item")+       return (CallExpr et r [a /\ et])+ +namedItem ::+          (Monad mn, CHTMLCollection this, CNode zz) =>+            Expression String -> Expression this -> mn (Expression zz)+namedItem a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "namedItem")+       return (CallExpr et r [a /\ et])+ +get'length ::+           (Monad mn, CHTMLCollection this) =>+             Expression this -> mn (Expression Double)+get'length thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "length")+       return r+ +getm'length ::+            (Monad mn, CHTMLCollection this) =>+              Expression this -> mn (Expression Double)+getm'length = get'length+
+ Data/DOM/HTMLDListElement.hs view
@@ -0,0 +1,33 @@++module Data.DOM.HTMLDListElement+       (set'compact, get'compact, getm'compact, mkDl) where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'compact ::+            (Monad mn, CHTMLDListElement zz) =>+              Expression Bool -> Expression zz -> mn (Expression zz)+set'compact = setjsProperty "compact"+ +get'compact ::+            (Monad mn, CHTMLDListElement this) =>+              Expression this -> mn (Expression Bool)+get'compact thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "compact")+       return r+ +getm'compact ::+             (Monad mn, CHTMLDListElement this) =>+               Expression this -> mn (Expression Bool)+getm'compact = get'compact+ +mkDl ::+     (Monad mn, CHTMLDocument a) =>+       Expression a -> mn (Expression THTMLDListElement)+mkDl = createElement (StringLit "dl" "dl")+
+ Data/DOM/HTMLDirectoryElement.hs view
@@ -0,0 +1,28 @@++module Data.DOM.HTMLDirectoryElement+       (set'compact, get'compact, getm'compact) where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'compact ::+            (Monad mn, CHTMLDirectoryElement zz) =>+              Expression Bool -> Expression zz -> mn (Expression zz)+set'compact = setjsProperty "compact"+ +get'compact ::+            (Monad mn, CHTMLDirectoryElement this) =>+              Expression this -> mn (Expression Bool)+get'compact thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "compact")+       return r+ +getm'compact ::+             (Monad mn, CHTMLDirectoryElement this) =>+               Expression this -> mn (Expression Bool)+getm'compact = get'compact+
+ Data/DOM/HTMLDivElement.hs view
@@ -0,0 +1,33 @@++module Data.DOM.HTMLDivElement+       (set'align, get'align, getm'align, mkDiv) where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'align ::+          (Monad mn, CHTMLDivElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'align = setjsProperty "align"+ +get'align ::+          (Monad mn, CHTMLDivElement this) =>+            Expression this -> mn (Expression String)+get'align thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "align")+       return r+ +getm'align ::+           (Monad mn, CHTMLDivElement this) =>+             Expression this -> mn (Expression String)+getm'align = get'align+ +mkDiv ::+      (Monad mn, CHTMLDocument a) =>+        Expression a -> mn (Expression THTMLDivElement)+mkDiv = createElement (StringLit "div" "div")+
+ Data/DOM/HTMLDocument.hs view
@@ -0,0 +1,214 @@++module Data.DOM.HTMLDocument+       (open, close, write, writeln, getElementsByName, set'title,+        get'title, getm'title, get'referrer, getm'referrer, get'domain,+        getm'domain, get'URL, getm'URL, set'body, get'body, getm'body,+        get'images, getm'images, get'applets, getm'applets, get'links,+        getm'links, get'forms, getm'forms, get'anchors, getm'anchors,+        set'cookie, get'cookie, getm'cookie)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +open ::+     (Monad mn, CHTMLDocument this) =>+       Expression this -> mn (Expression ())+open thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "open")+       return (CallExpr et r [])+ +close ::+      (Monad mn, CHTMLDocument this) =>+        Expression this -> mn (Expression ())+close thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "close")+       return (CallExpr et r [])+ +write ::+      (Monad mn, CHTMLDocument this) =>+        Expression String -> Expression this -> mn (Expression ())+write a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "write")+       return (CallExpr et r [a /\ et])+ +writeln ::+        (Monad mn, CHTMLDocument this) =>+          Expression String -> Expression this -> mn (Expression ())+writeln a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "writeln")+       return (CallExpr et r [a /\ et])+ +getElementsByName ::+                  (Monad mn, CHTMLDocument this, CNodeList zz) =>+                    Expression String -> Expression this -> mn (Expression zz)+getElementsByName a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "getElementsByName")+       return (CallExpr et r [a /\ et])+ +set'title ::+          (Monad mn, CHTMLDocument zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'title = setjsProperty "title"+ +get'title ::+          (Monad mn, CHTMLDocument this) =>+            Expression this -> mn (Expression String)+get'title thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "title")+       return r+ +getm'title ::+           (Monad mn, CHTMLDocument this) =>+             Expression this -> mn (Expression String)+getm'title = get'title+ +get'referrer ::+             (Monad mn, CHTMLDocument this) =>+               Expression this -> mn (Expression String)+get'referrer thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "referrer")+       return r+ +getm'referrer ::+              (Monad mn, CHTMLDocument this) =>+                Expression this -> mn (Expression String)+getm'referrer = get'referrer+ +get'domain ::+           (Monad mn, CHTMLDocument this) =>+             Expression this -> mn (Expression String)+get'domain thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "domain")+       return r+ +getm'domain ::+            (Monad mn, CHTMLDocument this) =>+              Expression this -> mn (Expression String)+getm'domain = get'domain+ +get'URL ::+        (Monad mn, CHTMLDocument this) =>+          Expression this -> mn (Expression String)+get'URL thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "URL")+       return r+ +getm'URL ::+         (Monad mn, CHTMLDocument this) =>+           Expression this -> mn (Expression String)+getm'URL = get'URL+ +set'body ::+         (Monad mn, CHTMLElement val, CHTMLDocument zz) =>+           Expression val -> Expression zz -> mn (Expression zz)+set'body = setjsProperty "body"+ +get'body ::+         (Monad mn, CHTMLDocument this, CHTMLElement zz) =>+           Expression this -> mn (Expression zz)+get'body thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "body")+       return r+ +getm'body ::+          (Monad mn, CHTMLDocument this) =>+            Expression this -> mn (Expression THTMLElement)+getm'body = get'body+ +get'images ::+           (Monad mn, CHTMLDocument this, CHTMLCollection zz) =>+             Expression this -> mn (Expression zz)+get'images thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "images")+       return r+ +getm'images ::+            (Monad mn, CHTMLDocument this) =>+              Expression this -> mn (Expression THTMLCollection)+getm'images = get'images+ +get'applets ::+            (Monad mn, CHTMLDocument this, CHTMLCollection zz) =>+              Expression this -> mn (Expression zz)+get'applets thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "applets")+       return r+ +getm'applets ::+             (Monad mn, CHTMLDocument this) =>+               Expression this -> mn (Expression THTMLCollection)+getm'applets = get'applets+ +get'links ::+          (Monad mn, CHTMLDocument this, CHTMLCollection zz) =>+            Expression this -> mn (Expression zz)+get'links thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "links")+       return r+ +getm'links ::+           (Monad mn, CHTMLDocument this) =>+             Expression this -> mn (Expression THTMLCollection)+getm'links = get'links+ +get'forms ::+          (Monad mn, CHTMLDocument this, CHTMLCollection zz) =>+            Expression this -> mn (Expression zz)+get'forms thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "forms")+       return r+ +getm'forms ::+           (Monad mn, CHTMLDocument this) =>+             Expression this -> mn (Expression THTMLCollection)+getm'forms = get'forms+ +get'anchors ::+            (Monad mn, CHTMLDocument this, CHTMLCollection zz) =>+              Expression this -> mn (Expression zz)+get'anchors thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "anchors")+       return r+ +getm'anchors ::+             (Monad mn, CHTMLDocument this) =>+               Expression this -> mn (Expression THTMLCollection)+getm'anchors = get'anchors+ +set'cookie ::+           (Monad mn, CHTMLDocument zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'cookie = setjsProperty "cookie"+ +get'cookie ::+           (Monad mn, CHTMLDocument this) =>+             Expression this -> mn (Expression String)+get'cookie thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "cookie")+       return r+ +getm'cookie ::+            (Monad mn, CHTMLDocument this) =>+              Expression this -> mn (Expression String)+getm'cookie = get'cookie+
+ Data/DOM/HTMLElement.hs view
@@ -0,0 +1,103 @@++module Data.DOM.HTMLElement+       (set'id, get'id, getm'id, set'title, get'title, getm'title,+        set'lang, get'lang, getm'lang, set'dir, get'dir, getm'dir,+        set'className, get'className, getm'className)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'id ::+       (Monad mn, CHTMLElement zz) =>+         Expression String -> Expression zz -> mn (Expression zz)+set'id = setjsProperty "id"+ +get'id ::+       (Monad mn, CHTMLElement this) =>+         Expression this -> mn (Expression String)+get'id thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "id")+       return r+ +getm'id ::+        (Monad mn, CHTMLElement this) =>+          Expression this -> mn (Expression String)+getm'id = get'id+ +set'title ::+          (Monad mn, CHTMLElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'title = setjsProperty "title"+ +get'title ::+          (Monad mn, CHTMLElement this) =>+            Expression this -> mn (Expression String)+get'title thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "title")+       return r+ +getm'title ::+           (Monad mn, CHTMLElement this) =>+             Expression this -> mn (Expression String)+getm'title = get'title+ +set'lang ::+         (Monad mn, CHTMLElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'lang = setjsProperty "lang"+ +get'lang ::+         (Monad mn, CHTMLElement this) =>+           Expression this -> mn (Expression String)+get'lang thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "lang")+       return r+ +getm'lang ::+          (Monad mn, CHTMLElement this) =>+            Expression this -> mn (Expression String)+getm'lang = get'lang+ +set'dir ::+        (Monad mn, CHTMLElement zz) =>+          Expression String -> Expression zz -> mn (Expression zz)+set'dir = setjsProperty "dir"+ +get'dir ::+        (Monad mn, CHTMLElement this) =>+          Expression this -> mn (Expression String)+get'dir thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "dir")+       return r+ +getm'dir ::+         (Monad mn, CHTMLElement this) =>+           Expression this -> mn (Expression String)+getm'dir = get'dir+ +set'className ::+              (Monad mn, CHTMLElement zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'className = setjsProperty "className"+ +get'className ::+              (Monad mn, CHTMLElement this) =>+                Expression this -> mn (Expression String)+get'className thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "className")+       return r+ +getm'className ::+               (Monad mn, CHTMLElement this) =>+                 Expression this -> mn (Expression String)+getm'className = get'className+
+ Data/DOM/HTMLFieldSetElement.hs view
@@ -0,0 +1,22 @@++module Data.DOM.HTMLFieldSetElement (get'form, getm'form) where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'form ::+         (Monad mn, CHTMLFieldSetElement this, CHTMLFormElement zz) =>+           Expression this -> mn (Expression zz)+get'form thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "form")+       return r+ +getm'form ::+          (Monad mn, CHTMLFieldSetElement this) =>+            Expression this -> mn (Expression THTMLFormElement)+getm'form = get'form+
+ Data/DOM/HTMLFontElement.hs view
@@ -0,0 +1,71 @@++module Data.DOM.HTMLFontElement+       (set'color, get'color, getm'color, set'face, get'face, getm'face,+        set'size, get'size, getm'size, mkFont)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'color ::+          (Monad mn, CHTMLFontElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'color = setjsProperty "color"+ +get'color ::+          (Monad mn, CHTMLFontElement this) =>+            Expression this -> mn (Expression String)+get'color thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "color")+       return r+ +getm'color ::+           (Monad mn, CHTMLFontElement this) =>+             Expression this -> mn (Expression String)+getm'color = get'color+ +set'face ::+         (Monad mn, CHTMLFontElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'face = setjsProperty "face"+ +get'face ::+         (Monad mn, CHTMLFontElement this) =>+           Expression this -> mn (Expression String)+get'face thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "face")+       return r+ +getm'face ::+          (Monad mn, CHTMLFontElement this) =>+            Expression this -> mn (Expression String)+getm'face = get'face+ +set'size ::+         (Monad mn, CHTMLFontElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'size = setjsProperty "size"+ +get'size ::+         (Monad mn, CHTMLFontElement this) =>+           Expression this -> mn (Expression String)+get'size thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "size")+       return r+ +getm'size ::+          (Monad mn, CHTMLFontElement this) =>+            Expression this -> mn (Expression String)+getm'size = get'size+ +mkFont ::+       (Monad mn, CHTMLDocument a) =>+         Expression a -> mn (Expression THTMLFontElement)+mkFont = createElement (StringLit "font" "font")+
+ Data/DOM/HTMLFormElement.hs view
@@ -0,0 +1,171 @@++module Data.DOM.HTMLFormElement+       (submit, reset, get'elements, getm'elements, get'length,+        getm'length, set'name, get'name, getm'name, set'acceptCharset,+        get'acceptCharset, getm'acceptCharset, set'action, get'action,+        getm'action, set'enctype, get'enctype, getm'enctype, set'method,+        get'method, getm'method, set'target, get'target, getm'target,+        mkForm)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +submit ::+       (Monad mn, CHTMLFormElement this) =>+         Expression this -> mn (Expression ())+submit thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "submit")+       return (CallExpr et r [])+ +reset ::+      (Monad mn, CHTMLFormElement this) =>+        Expression this -> mn (Expression ())+reset thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "reset")+       return (CallExpr et r [])+ +get'elements ::+             (Monad mn, CHTMLFormElement this, CHTMLCollection zz) =>+               Expression this -> mn (Expression zz)+get'elements thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "elements")+       return r+ +getm'elements ::+              (Monad mn, CHTMLFormElement this) =>+                Expression this -> mn (Expression THTMLCollection)+getm'elements = get'elements+ +get'length ::+           (Monad mn, CHTMLFormElement this) =>+             Expression this -> mn (Expression Double)+get'length thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "length")+       return r+ +getm'length ::+            (Monad mn, CHTMLFormElement this) =>+              Expression this -> mn (Expression Double)+getm'length = get'length+ +set'name ::+         (Monad mn, CHTMLFormElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'name = setjsProperty "name"+ +get'name ::+         (Monad mn, CHTMLFormElement this) =>+           Expression this -> mn (Expression String)+get'name thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "name")+       return r+ +getm'name ::+          (Monad mn, CHTMLFormElement this) =>+            Expression this -> mn (Expression String)+getm'name = get'name+ +set'acceptCharset ::+                  (Monad mn, CHTMLFormElement zz) =>+                    Expression String -> Expression zz -> mn (Expression zz)+set'acceptCharset = setjsProperty "acceptCharset"+ +get'acceptCharset ::+                  (Monad mn, CHTMLFormElement this) =>+                    Expression this -> mn (Expression String)+get'acceptCharset thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "acceptCharset")+       return r+ +getm'acceptCharset ::+                   (Monad mn, CHTMLFormElement this) =>+                     Expression this -> mn (Expression String)+getm'acceptCharset = get'acceptCharset+ +set'action ::+           (Monad mn, CHTMLFormElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'action = setjsProperty "action"+ +get'action ::+           (Monad mn, CHTMLFormElement this) =>+             Expression this -> mn (Expression String)+get'action thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "action")+       return r+ +getm'action ::+            (Monad mn, CHTMLFormElement this) =>+              Expression this -> mn (Expression String)+getm'action = get'action+ +set'enctype ::+            (Monad mn, CHTMLFormElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'enctype = setjsProperty "enctype"+ +get'enctype ::+            (Monad mn, CHTMLFormElement this) =>+              Expression this -> mn (Expression String)+get'enctype thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "enctype")+       return r+ +getm'enctype ::+             (Monad mn, CHTMLFormElement this) =>+               Expression this -> mn (Expression String)+getm'enctype = get'enctype+ +set'method ::+           (Monad mn, CHTMLFormElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'method = setjsProperty "method"+ +get'method ::+           (Monad mn, CHTMLFormElement this) =>+             Expression this -> mn (Expression String)+get'method thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "method")+       return r+ +getm'method ::+            (Monad mn, CHTMLFormElement this) =>+              Expression this -> mn (Expression String)+getm'method = get'method+ +set'target ::+           (Monad mn, CHTMLFormElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'target = setjsProperty "target"+ +get'target ::+           (Monad mn, CHTMLFormElement this) =>+             Expression this -> mn (Expression String)+get'target thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "target")+       return r+ +getm'target ::+            (Monad mn, CHTMLFormElement this) =>+              Expression this -> mn (Expression String)+getm'target = get'target+ +mkForm ::+       (Monad mn, CHTMLDocument a) =>+         Expression a -> mn (Expression THTMLFormElement)+mkForm = createElement (StringLit "form" "form")+
+ Data/DOM/HTMLFrameElement.hs view
@@ -0,0 +1,179 @@++module Data.DOM.HTMLFrameElement+       (set'frameBorder, get'frameBorder, getm'frameBorder, set'longDesc,+        get'longDesc, getm'longDesc, set'marginHeight, get'marginHeight,+        getm'marginHeight, set'marginWidth, get'marginWidth,+        getm'marginWidth, set'name, get'name, getm'name, set'noResize,+        get'noResize, getm'noResize, set'scrolling, get'scrolling,+        getm'scrolling, set'src, get'src, getm'src, get'contentDocument,+        getm'contentDocument, mkFrame)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'frameBorder ::+                (Monad mn, CHTMLFrameElement zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'frameBorder = setjsProperty "frameBorder"+ +get'frameBorder ::+                (Monad mn, CHTMLFrameElement this) =>+                  Expression this -> mn (Expression String)+get'frameBorder thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "frameBorder")+       return r+ +getm'frameBorder ::+                 (Monad mn, CHTMLFrameElement this) =>+                   Expression this -> mn (Expression String)+getm'frameBorder = get'frameBorder+ +set'longDesc ::+             (Monad mn, CHTMLFrameElement zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'longDesc = setjsProperty "longDesc"+ +get'longDesc ::+             (Monad mn, CHTMLFrameElement this) =>+               Expression this -> mn (Expression String)+get'longDesc thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "longDesc")+       return r+ +getm'longDesc ::+              (Monad mn, CHTMLFrameElement this) =>+                Expression this -> mn (Expression String)+getm'longDesc = get'longDesc+ +set'marginHeight ::+                 (Monad mn, CHTMLFrameElement zz) =>+                   Expression String -> Expression zz -> mn (Expression zz)+set'marginHeight = setjsProperty "marginHeight"+ +get'marginHeight ::+                 (Monad mn, CHTMLFrameElement this) =>+                   Expression this -> mn (Expression String)+get'marginHeight thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "marginHeight")+       return r+ +getm'marginHeight ::+                  (Monad mn, CHTMLFrameElement this) =>+                    Expression this -> mn (Expression String)+getm'marginHeight = get'marginHeight+ +set'marginWidth ::+                (Monad mn, CHTMLFrameElement zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'marginWidth = setjsProperty "marginWidth"+ +get'marginWidth ::+                (Monad mn, CHTMLFrameElement this) =>+                  Expression this -> mn (Expression String)+get'marginWidth thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "marginWidth")+       return r+ +getm'marginWidth ::+                 (Monad mn, CHTMLFrameElement this) =>+                   Expression this -> mn (Expression String)+getm'marginWidth = get'marginWidth+ +set'name ::+         (Monad mn, CHTMLFrameElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'name = setjsProperty "name"+ +get'name ::+         (Monad mn, CHTMLFrameElement this) =>+           Expression this -> mn (Expression String)+get'name thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "name")+       return r+ +getm'name ::+          (Monad mn, CHTMLFrameElement this) =>+            Expression this -> mn (Expression String)+getm'name = get'name+ +set'noResize ::+             (Monad mn, CHTMLFrameElement zz) =>+               Expression Bool -> Expression zz -> mn (Expression zz)+set'noResize = setjsProperty "noResize"+ +get'noResize ::+             (Monad mn, CHTMLFrameElement this) =>+               Expression this -> mn (Expression Bool)+get'noResize thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "noResize")+       return r+ +getm'noResize ::+              (Monad mn, CHTMLFrameElement this) =>+                Expression this -> mn (Expression Bool)+getm'noResize = get'noResize+ +set'scrolling ::+              (Monad mn, CHTMLFrameElement zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'scrolling = setjsProperty "scrolling"+ +get'scrolling ::+              (Monad mn, CHTMLFrameElement this) =>+                Expression this -> mn (Expression String)+get'scrolling thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "scrolling")+       return r+ +getm'scrolling ::+               (Monad mn, CHTMLFrameElement this) =>+                 Expression this -> mn (Expression String)+getm'scrolling = get'scrolling+ +set'src ::+        (Monad mn, CHTMLFrameElement zz) =>+          Expression String -> Expression zz -> mn (Expression zz)+set'src = setjsProperty "src"+ +get'src ::+        (Monad mn, CHTMLFrameElement this) =>+          Expression this -> mn (Expression String)+get'src thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "src")+       return r+ +getm'src ::+         (Monad mn, CHTMLFrameElement this) =>+           Expression this -> mn (Expression String)+getm'src = get'src+ +get'contentDocument ::+                    (Monad mn, CHTMLFrameElement this, CDocument zz) =>+                      Expression this -> mn (Expression zz)+get'contentDocument thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "contentDocument")+       return r+ +getm'contentDocument ::+                     (Monad mn, CHTMLFrameElement this) =>+                       Expression this -> mn (Expression TDocument)+getm'contentDocument = get'contentDocument+ +mkFrame ::+        (Monad mn, CHTMLDocument a) =>+          Expression a -> mn (Expression THTMLFrameElement)+mkFrame = createElement (StringLit "frame" "frame")+
+ Data/DOM/HTMLFrameSetElement.hs view
@@ -0,0 +1,47 @@++module Data.DOM.HTMLFrameSetElement+       (set'cols, get'cols, getm'cols, set'rows, get'rows, getm'rows)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'cols ::+         (Monad mn, CHTMLFrameSetElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'cols = setjsProperty "cols"+ +get'cols ::+         (Monad mn, CHTMLFrameSetElement this) =>+           Expression this -> mn (Expression String)+get'cols thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "cols")+       return r+ +getm'cols ::+          (Monad mn, CHTMLFrameSetElement this) =>+            Expression this -> mn (Expression String)+getm'cols = get'cols+ +set'rows ::+         (Monad mn, CHTMLFrameSetElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'rows = setjsProperty "rows"+ +get'rows ::+         (Monad mn, CHTMLFrameSetElement this) =>+           Expression this -> mn (Expression String)+get'rows thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "rows")+       return r+ +getm'rows ::+          (Monad mn, CHTMLFrameSetElement this) =>+            Expression this -> mn (Expression String)+getm'rows = get'rows+
+ Data/DOM/HTMLHRElement.hs view
@@ -0,0 +1,90 @@++module Data.DOM.HTMLHRElement+       (set'align, get'align, getm'align, set'noShade, get'noShade,+        getm'noShade, set'size, get'size, getm'size, set'width, get'width,+        getm'width, mkHr)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'align ::+          (Monad mn, CHTMLHRElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'align = setjsProperty "align"+ +get'align ::+          (Monad mn, CHTMLHRElement this) =>+            Expression this -> mn (Expression String)+get'align thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "align")+       return r+ +getm'align ::+           (Monad mn, CHTMLHRElement this) =>+             Expression this -> mn (Expression String)+getm'align = get'align+ +set'noShade ::+            (Monad mn, CHTMLHRElement zz) =>+              Expression Bool -> Expression zz -> mn (Expression zz)+set'noShade = setjsProperty "noShade"+ +get'noShade ::+            (Monad mn, CHTMLHRElement this) =>+              Expression this -> mn (Expression Bool)+get'noShade thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "noShade")+       return r+ +getm'noShade ::+             (Monad mn, CHTMLHRElement this) =>+               Expression this -> mn (Expression Bool)+getm'noShade = get'noShade+ +set'size ::+         (Monad mn, CHTMLHRElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'size = setjsProperty "size"+ +get'size ::+         (Monad mn, CHTMLHRElement this) =>+           Expression this -> mn (Expression String)+get'size thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "size")+       return r+ +getm'size ::+          (Monad mn, CHTMLHRElement this) =>+            Expression this -> mn (Expression String)+getm'size = get'size+ +set'width ::+          (Monad mn, CHTMLHRElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'width = setjsProperty "width"+ +get'width ::+          (Monad mn, CHTMLHRElement this) =>+            Expression this -> mn (Expression String)+get'width thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "width")+       return r+ +getm'width ::+           (Monad mn, CHTMLHRElement this) =>+             Expression this -> mn (Expression String)+getm'width = get'width+ +mkHr ::+     (Monad mn, CHTMLDocument a) =>+       Expression a -> mn (Expression THTMLHRElement)+mkHr = createElement (StringLit "hr" "hr")+
+ Data/DOM/HTMLHeadElement.hs view
@@ -0,0 +1,28 @@++module Data.DOM.HTMLHeadElement+       (set'profile, get'profile, getm'profile) where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'profile ::+            (Monad mn, CHTMLHeadElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'profile = setjsProperty "profile"+ +get'profile ::+            (Monad mn, CHTMLHeadElement this) =>+              Expression this -> mn (Expression String)+get'profile thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "profile")+       return r+ +getm'profile ::+             (Monad mn, CHTMLHeadElement this) =>+               Expression this -> mn (Expression String)+getm'profile = get'profile+
+ Data/DOM/HTMLHeadingElement.hs view
@@ -0,0 +1,28 @@++module Data.DOM.HTMLHeadingElement+       (set'align, get'align, getm'align) where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'align ::+          (Monad mn, CHTMLHeadingElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'align = setjsProperty "align"+ +get'align ::+          (Monad mn, CHTMLHeadingElement this) =>+            Expression this -> mn (Expression String)+get'align thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "align")+       return r+ +getm'align ::+           (Monad mn, CHTMLHeadingElement this) =>+             Expression this -> mn (Expression String)+getm'align = get'align+
+ Data/DOM/HTMLHtmlElement.hs view
@@ -0,0 +1,28 @@++module Data.DOM.HTMLHtmlElement+       (set'version, get'version, getm'version) where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'version ::+            (Monad mn, CHTMLHtmlElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'version = setjsProperty "version"+ +get'version ::+            (Monad mn, CHTMLHtmlElement this) =>+              Expression this -> mn (Expression String)+get'version thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "version")+       return r+ +getm'version ::+             (Monad mn, CHTMLHtmlElement this) =>+               Expression this -> mn (Expression String)+getm'version = get'version+
+ Data/DOM/HTMLIFrameElement.hs view
@@ -0,0 +1,211 @@++module Data.DOM.HTMLIFrameElement+       (set'align, get'align, getm'align, set'frameBorder,+        get'frameBorder, getm'frameBorder, set'height, get'height,+        getm'height, set'longDesc, get'longDesc, getm'longDesc,+        set'marginHeight, get'marginHeight, getm'marginHeight,+        set'marginWidth, get'marginWidth, getm'marginWidth, set'name,+        get'name, getm'name, set'scrolling, get'scrolling, getm'scrolling,+        set'src, get'src, getm'src, set'width, get'width, getm'width,+        get'contentDocument, getm'contentDocument)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'align ::+          (Monad mn, CHTMLIFrameElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'align = setjsProperty "align"+ +get'align ::+          (Monad mn, CHTMLIFrameElement this) =>+            Expression this -> mn (Expression String)+get'align thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "align")+       return r+ +getm'align ::+           (Monad mn, CHTMLIFrameElement this) =>+             Expression this -> mn (Expression String)+getm'align = get'align+ +set'frameBorder ::+                (Monad mn, CHTMLIFrameElement zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'frameBorder = setjsProperty "frameBorder"+ +get'frameBorder ::+                (Monad mn, CHTMLIFrameElement this) =>+                  Expression this -> mn (Expression String)+get'frameBorder thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "frameBorder")+       return r+ +getm'frameBorder ::+                 (Monad mn, CHTMLIFrameElement this) =>+                   Expression this -> mn (Expression String)+getm'frameBorder = get'frameBorder+ +set'height ::+           (Monad mn, CHTMLIFrameElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'height = setjsProperty "height"+ +get'height ::+           (Monad mn, CHTMLIFrameElement this) =>+             Expression this -> mn (Expression String)+get'height thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "height")+       return r+ +getm'height ::+            (Monad mn, CHTMLIFrameElement this) =>+              Expression this -> mn (Expression String)+getm'height = get'height+ +set'longDesc ::+             (Monad mn, CHTMLIFrameElement zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'longDesc = setjsProperty "longDesc"+ +get'longDesc ::+             (Monad mn, CHTMLIFrameElement this) =>+               Expression this -> mn (Expression String)+get'longDesc thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "longDesc")+       return r+ +getm'longDesc ::+              (Monad mn, CHTMLIFrameElement this) =>+                Expression this -> mn (Expression String)+getm'longDesc = get'longDesc+ +set'marginHeight ::+                 (Monad mn, CHTMLIFrameElement zz) =>+                   Expression String -> Expression zz -> mn (Expression zz)+set'marginHeight = setjsProperty "marginHeight"+ +get'marginHeight ::+                 (Monad mn, CHTMLIFrameElement this) =>+                   Expression this -> mn (Expression String)+get'marginHeight thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "marginHeight")+       return r+ +getm'marginHeight ::+                  (Monad mn, CHTMLIFrameElement this) =>+                    Expression this -> mn (Expression String)+getm'marginHeight = get'marginHeight+ +set'marginWidth ::+                (Monad mn, CHTMLIFrameElement zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'marginWidth = setjsProperty "marginWidth"+ +get'marginWidth ::+                (Monad mn, CHTMLIFrameElement this) =>+                  Expression this -> mn (Expression String)+get'marginWidth thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "marginWidth")+       return r+ +getm'marginWidth ::+                 (Monad mn, CHTMLIFrameElement this) =>+                   Expression this -> mn (Expression String)+getm'marginWidth = get'marginWidth+ +set'name ::+         (Monad mn, CHTMLIFrameElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'name = setjsProperty "name"+ +get'name ::+         (Monad mn, CHTMLIFrameElement this) =>+           Expression this -> mn (Expression String)+get'name thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "name")+       return r+ +getm'name ::+          (Monad mn, CHTMLIFrameElement this) =>+            Expression this -> mn (Expression String)+getm'name = get'name+ +set'scrolling ::+              (Monad mn, CHTMLIFrameElement zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'scrolling = setjsProperty "scrolling"+ +get'scrolling ::+              (Monad mn, CHTMLIFrameElement this) =>+                Expression this -> mn (Expression String)+get'scrolling thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "scrolling")+       return r+ +getm'scrolling ::+               (Monad mn, CHTMLIFrameElement this) =>+                 Expression this -> mn (Expression String)+getm'scrolling = get'scrolling+ +set'src ::+        (Monad mn, CHTMLIFrameElement zz) =>+          Expression String -> Expression zz -> mn (Expression zz)+set'src = setjsProperty "src"+ +get'src ::+        (Monad mn, CHTMLIFrameElement this) =>+          Expression this -> mn (Expression String)+get'src thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "src")+       return r+ +getm'src ::+         (Monad mn, CHTMLIFrameElement this) =>+           Expression this -> mn (Expression String)+getm'src = get'src+ +set'width ::+          (Monad mn, CHTMLIFrameElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'width = setjsProperty "width"+ +get'width ::+          (Monad mn, CHTMLIFrameElement this) =>+            Expression this -> mn (Expression String)+get'width thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "width")+       return r+ +getm'width ::+           (Monad mn, CHTMLIFrameElement this) =>+             Expression this -> mn (Expression String)+getm'width = get'width+ +get'contentDocument ::+                    (Monad mn, CHTMLIFrameElement this, CDocument zz) =>+                      Expression this -> mn (Expression zz)+get'contentDocument thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "contentDocument")+       return r+ +getm'contentDocument ::+                     (Monad mn, CHTMLIFrameElement this) =>+                       Expression this -> mn (Expression TDocument)+getm'contentDocument = get'contentDocument+
+ Data/DOM/HTMLImageElement.hs view
@@ -0,0 +1,238 @@++module Data.DOM.HTMLImageElement+       (set'name, get'name, getm'name, set'align, get'align, getm'align,+        set'alt, get'alt, getm'alt, set'border, get'border, getm'border,+        set'height, get'height, getm'height, set'hspace, get'hspace,+        getm'hspace, set'isMap, get'isMap, getm'isMap, set'longDesc,+        get'longDesc, getm'longDesc, set'src, get'src, getm'src,+        set'useMap, get'useMap, getm'useMap, set'vspace, get'vspace,+        getm'vspace, set'width, get'width, getm'width, mkImg)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'name ::+         (Monad mn, CHTMLImageElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'name = setjsProperty "name"+ +get'name ::+         (Monad mn, CHTMLImageElement this) =>+           Expression this -> mn (Expression String)+get'name thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "name")+       return r+ +getm'name ::+          (Monad mn, CHTMLImageElement this) =>+            Expression this -> mn (Expression String)+getm'name = get'name+ +set'align ::+          (Monad mn, CHTMLImageElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'align = setjsProperty "align"+ +get'align ::+          (Monad mn, CHTMLImageElement this) =>+            Expression this -> mn (Expression String)+get'align thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "align")+       return r+ +getm'align ::+           (Monad mn, CHTMLImageElement this) =>+             Expression this -> mn (Expression String)+getm'align = get'align+ +set'alt ::+        (Monad mn, CHTMLImageElement zz) =>+          Expression String -> Expression zz -> mn (Expression zz)+set'alt = setjsProperty "alt"+ +get'alt ::+        (Monad mn, CHTMLImageElement this) =>+          Expression this -> mn (Expression String)+get'alt thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "alt")+       return r+ +getm'alt ::+         (Monad mn, CHTMLImageElement this) =>+           Expression this -> mn (Expression String)+getm'alt = get'alt+ +set'border ::+           (Monad mn, CHTMLImageElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'border = setjsProperty "border"+ +get'border ::+           (Monad mn, CHTMLImageElement this) =>+             Expression this -> mn (Expression String)+get'border thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "border")+       return r+ +getm'border ::+            (Monad mn, CHTMLImageElement this) =>+              Expression this -> mn (Expression String)+getm'border = get'border+ +set'height ::+           (Monad mn, CHTMLImageElement zz) =>+             Expression Double -> Expression zz -> mn (Expression zz)+set'height = setjsProperty "height"+ +get'height ::+           (Monad mn, CHTMLImageElement this) =>+             Expression this -> mn (Expression Double)+get'height thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "height")+       return r+ +getm'height ::+            (Monad mn, CHTMLImageElement this) =>+              Expression this -> mn (Expression Double)+getm'height = get'height+ +set'hspace ::+           (Monad mn, CHTMLImageElement zz) =>+             Expression Double -> Expression zz -> mn (Expression zz)+set'hspace = setjsProperty "hspace"+ +get'hspace ::+           (Monad mn, CHTMLImageElement this) =>+             Expression this -> mn (Expression Double)+get'hspace thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "hspace")+       return r+ +getm'hspace ::+            (Monad mn, CHTMLImageElement this) =>+              Expression this -> mn (Expression Double)+getm'hspace = get'hspace+ +set'isMap ::+          (Monad mn, CHTMLImageElement zz) =>+            Expression Bool -> Expression zz -> mn (Expression zz)+set'isMap = setjsProperty "isMap"+ +get'isMap ::+          (Monad mn, CHTMLImageElement this) =>+            Expression this -> mn (Expression Bool)+get'isMap thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "isMap")+       return r+ +getm'isMap ::+           (Monad mn, CHTMLImageElement this) =>+             Expression this -> mn (Expression Bool)+getm'isMap = get'isMap+ +set'longDesc ::+             (Monad mn, CHTMLImageElement zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'longDesc = setjsProperty "longDesc"+ +get'longDesc ::+             (Monad mn, CHTMLImageElement this) =>+               Expression this -> mn (Expression String)+get'longDesc thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "longDesc")+       return r+ +getm'longDesc ::+              (Monad mn, CHTMLImageElement this) =>+                Expression this -> mn (Expression String)+getm'longDesc = get'longDesc+ +set'src ::+        (Monad mn, CHTMLImageElement zz) =>+          Expression String -> Expression zz -> mn (Expression zz)+set'src = setjsProperty "src"+ +get'src ::+        (Monad mn, CHTMLImageElement this) =>+          Expression this -> mn (Expression String)+get'src thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "src")+       return r+ +getm'src ::+         (Monad mn, CHTMLImageElement this) =>+           Expression this -> mn (Expression String)+getm'src = get'src+ +set'useMap ::+           (Monad mn, CHTMLImageElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'useMap = setjsProperty "useMap"+ +get'useMap ::+           (Monad mn, CHTMLImageElement this) =>+             Expression this -> mn (Expression String)+get'useMap thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "useMap")+       return r+ +getm'useMap ::+            (Monad mn, CHTMLImageElement this) =>+              Expression this -> mn (Expression String)+getm'useMap = get'useMap+ +set'vspace ::+           (Monad mn, CHTMLImageElement zz) =>+             Expression Double -> Expression zz -> mn (Expression zz)+set'vspace = setjsProperty "vspace"+ +get'vspace ::+           (Monad mn, CHTMLImageElement this) =>+             Expression this -> mn (Expression Double)+get'vspace thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "vspace")+       return r+ +getm'vspace ::+            (Monad mn, CHTMLImageElement this) =>+              Expression this -> mn (Expression Double)+getm'vspace = get'vspace+ +set'width ::+          (Monad mn, CHTMLImageElement zz) =>+            Expression Double -> Expression zz -> mn (Expression zz)+set'width = setjsProperty "width"+ +get'width ::+          (Monad mn, CHTMLImageElement this) =>+            Expression this -> mn (Expression Double)+get'width thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "width")+       return r+ +getm'width ::+           (Monad mn, CHTMLImageElement this) =>+             Expression this -> mn (Expression Double)+getm'width = get'width+ +mkImg ::+      (Monad mn, CHTMLDocument a) =>+        Expression a -> mn (Expression THTMLImageElement)+mkImg = createElement (StringLit "img" "img")+
+ Data/DOM/HTMLInputElement.hs view
@@ -0,0 +1,378 @@++module Data.DOM.HTMLInputElement+       (blur, focus, select, click, set'defaultValue, get'defaultValue,+        getm'defaultValue, set'defaultChecked, get'defaultChecked,+        getm'defaultChecked, get'form, getm'form, set'accept, get'accept,+        getm'accept, set'accessKey, get'accessKey, getm'accessKey,+        set'align, get'align, getm'align, set'alt, get'alt, getm'alt,+        set'checked, get'checked, getm'checked, set'disabled, get'disabled,+        getm'disabled, set'maxLength, get'maxLength, getm'maxLength,+        set'name, get'name, getm'name, set'readOnly, get'readOnly,+        getm'readOnly, set'size, get'size, getm'size, set'src, get'src,+        getm'src, set'tabIndex, get'tabIndex, getm'tabIndex, set'type,+        get'type, getm'type, set'useMap, get'useMap, getm'useMap,+        set'value, get'value, getm'value, mkInput)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +blur ::+     (Monad mn, CHTMLInputElement this) =>+       Expression this -> mn (Expression ())+blur thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "blur")+       return (CallExpr et r [])+ +focus ::+      (Monad mn, CHTMLInputElement this) =>+        Expression this -> mn (Expression ())+focus thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "focus")+       return (CallExpr et r [])+ +select ::+       (Monad mn, CHTMLInputElement this) =>+         Expression this -> mn (Expression ())+select thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "select")+       return (CallExpr et r [])+ +click ::+      (Monad mn, CHTMLInputElement this) =>+        Expression this -> mn (Expression ())+click thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "click")+       return (CallExpr et r [])+ +set'defaultValue ::+                 (Monad mn, CHTMLInputElement zz) =>+                   Expression String -> Expression zz -> mn (Expression zz)+set'defaultValue = setjsProperty "defaultValue"+ +get'defaultValue ::+                 (Monad mn, CHTMLInputElement this) =>+                   Expression this -> mn (Expression String)+get'defaultValue thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "defaultValue")+       return r+ +getm'defaultValue ::+                  (Monad mn, CHTMLInputElement this) =>+                    Expression this -> mn (Expression String)+getm'defaultValue = get'defaultValue+ +set'defaultChecked ::+                   (Monad mn, CHTMLInputElement zz) =>+                     Expression Bool -> Expression zz -> mn (Expression zz)+set'defaultChecked = setjsProperty "defaultChecked"+ +get'defaultChecked ::+                   (Monad mn, CHTMLInputElement this) =>+                     Expression this -> mn (Expression Bool)+get'defaultChecked thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "defaultChecked")+       return r+ +getm'defaultChecked ::+                    (Monad mn, CHTMLInputElement this) =>+                      Expression this -> mn (Expression Bool)+getm'defaultChecked = get'defaultChecked+ +get'form ::+         (Monad mn, CHTMLInputElement this, CHTMLFormElement zz) =>+           Expression this -> mn (Expression zz)+get'form thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "form")+       return r+ +getm'form ::+          (Monad mn, CHTMLInputElement this) =>+            Expression this -> mn (Expression THTMLFormElement)+getm'form = get'form+ +set'accept ::+           (Monad mn, CHTMLInputElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'accept = setjsProperty "accept"+ +get'accept ::+           (Monad mn, CHTMLInputElement this) =>+             Expression this -> mn (Expression String)+get'accept thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "accept")+       return r+ +getm'accept ::+            (Monad mn, CHTMLInputElement this) =>+              Expression this -> mn (Expression String)+getm'accept = get'accept+ +set'accessKey ::+              (Monad mn, CHTMLInputElement zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'accessKey = setjsProperty "accessKey"+ +get'accessKey ::+              (Monad mn, CHTMLInputElement this) =>+                Expression this -> mn (Expression String)+get'accessKey thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "accessKey")+       return r+ +getm'accessKey ::+               (Monad mn, CHTMLInputElement this) =>+                 Expression this -> mn (Expression String)+getm'accessKey = get'accessKey+ +set'align ::+          (Monad mn, CHTMLInputElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'align = setjsProperty "align"+ +get'align ::+          (Monad mn, CHTMLInputElement this) =>+            Expression this -> mn (Expression String)+get'align thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "align")+       return r+ +getm'align ::+           (Monad mn, CHTMLInputElement this) =>+             Expression this -> mn (Expression String)+getm'align = get'align+ +set'alt ::+        (Monad mn, CHTMLInputElement zz) =>+          Expression String -> Expression zz -> mn (Expression zz)+set'alt = setjsProperty "alt"+ +get'alt ::+        (Monad mn, CHTMLInputElement this) =>+          Expression this -> mn (Expression String)+get'alt thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "alt")+       return r+ +getm'alt ::+         (Monad mn, CHTMLInputElement this) =>+           Expression this -> mn (Expression String)+getm'alt = get'alt+ +set'checked ::+            (Monad mn, CHTMLInputElement zz) =>+              Expression Bool -> Expression zz -> mn (Expression zz)+set'checked = setjsProperty "checked"+ +get'checked ::+            (Monad mn, CHTMLInputElement this) =>+              Expression this -> mn (Expression Bool)+get'checked thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "checked")+       return r+ +getm'checked ::+             (Monad mn, CHTMLInputElement this) =>+               Expression this -> mn (Expression Bool)+getm'checked = get'checked+ +set'disabled ::+             (Monad mn, CHTMLInputElement zz) =>+               Expression Bool -> Expression zz -> mn (Expression zz)+set'disabled = setjsProperty "disabled"+ +get'disabled ::+             (Monad mn, CHTMLInputElement this) =>+               Expression this -> mn (Expression Bool)+get'disabled thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "disabled")+       return r+ +getm'disabled ::+              (Monad mn, CHTMLInputElement this) =>+                Expression this -> mn (Expression Bool)+getm'disabled = get'disabled+ +set'maxLength ::+              (Monad mn, CHTMLInputElement zz) =>+                Expression Double -> Expression zz -> mn (Expression zz)+set'maxLength = setjsProperty "maxLength"+ +get'maxLength ::+              (Monad mn, CHTMLInputElement this) =>+                Expression this -> mn (Expression Double)+get'maxLength thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "maxLength")+       return r+ +getm'maxLength ::+               (Monad mn, CHTMLInputElement this) =>+                 Expression this -> mn (Expression Double)+getm'maxLength = get'maxLength+ +set'name ::+         (Monad mn, CHTMLInputElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'name = setjsProperty "name"+ +get'name ::+         (Monad mn, CHTMLInputElement this) =>+           Expression this -> mn (Expression String)+get'name thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "name")+       return r+ +getm'name ::+          (Monad mn, CHTMLInputElement this) =>+            Expression this -> mn (Expression String)+getm'name = get'name+ +set'readOnly ::+             (Monad mn, CHTMLInputElement zz) =>+               Expression Bool -> Expression zz -> mn (Expression zz)+set'readOnly = setjsProperty "readOnly"+ +get'readOnly ::+             (Monad mn, CHTMLInputElement this) =>+               Expression this -> mn (Expression Bool)+get'readOnly thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "readOnly")+       return r+ +getm'readOnly ::+              (Monad mn, CHTMLInputElement this) =>+                Expression this -> mn (Expression Bool)+getm'readOnly = get'readOnly+ +set'size ::+         (Monad mn, CHTMLInputElement zz) =>+           Expression Double -> Expression zz -> mn (Expression zz)+set'size = setjsProperty "size"+ +get'size ::+         (Monad mn, CHTMLInputElement this) =>+           Expression this -> mn (Expression Double)+get'size thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "size")+       return r+ +getm'size ::+          (Monad mn, CHTMLInputElement this) =>+            Expression this -> mn (Expression Double)+getm'size = get'size+ +set'src ::+        (Monad mn, CHTMLInputElement zz) =>+          Expression String -> Expression zz -> mn (Expression zz)+set'src = setjsProperty "src"+ +get'src ::+        (Monad mn, CHTMLInputElement this) =>+          Expression this -> mn (Expression String)+get'src thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "src")+       return r+ +getm'src ::+         (Monad mn, CHTMLInputElement this) =>+           Expression this -> mn (Expression String)+getm'src = get'src+ +set'tabIndex ::+             (Monad mn, CHTMLInputElement zz) =>+               Expression Double -> Expression zz -> mn (Expression zz)+set'tabIndex = setjsProperty "tabIndex"+ +get'tabIndex ::+             (Monad mn, CHTMLInputElement this) =>+               Expression this -> mn (Expression Double)+get'tabIndex thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "tabIndex")+       return r+ +getm'tabIndex ::+              (Monad mn, CHTMLInputElement this) =>+                Expression this -> mn (Expression Double)+getm'tabIndex = get'tabIndex+ +set'type ::+         (Monad mn, CHTMLInputElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'type = setjsProperty "type"+ +get'type ::+         (Monad mn, CHTMLInputElement this) =>+           Expression this -> mn (Expression String)+get'type thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "type")+       return r+ +getm'type ::+          (Monad mn, CHTMLInputElement this) =>+            Expression this -> mn (Expression String)+getm'type = get'type+ +set'useMap ::+           (Monad mn, CHTMLInputElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'useMap = setjsProperty "useMap"+ +get'useMap ::+           (Monad mn, CHTMLInputElement this) =>+             Expression this -> mn (Expression String)+get'useMap thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "useMap")+       return r+ +getm'useMap ::+            (Monad mn, CHTMLInputElement this) =>+              Expression this -> mn (Expression String)+getm'useMap = get'useMap+ +set'value ::+          (Monad mn, CHTMLInputElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'value = setjsProperty "value"+ +get'value ::+          (Monad mn, CHTMLInputElement this) =>+            Expression this -> mn (Expression String)+get'value thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "value")+       return r+ +getm'value ::+           (Monad mn, CHTMLInputElement this) =>+             Expression this -> mn (Expression String)+getm'value = get'value+ +mkInput ::+        (Monad mn, CHTMLDocument a) =>+          Expression a -> mn (Expression THTMLInputElement)+mkInput = createElement (StringLit "input" "input")+
+ Data/DOM/HTMLIsIndexElement.hs view
@@ -0,0 +1,41 @@++module Data.DOM.HTMLIsIndexElement+       (get'form, getm'form, set'prompt, get'prompt, getm'prompt) where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'form ::+         (Monad mn, CHTMLIsIndexElement this, CHTMLFormElement zz) =>+           Expression this -> mn (Expression zz)+get'form thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "form")+       return r+ +getm'form ::+          (Monad mn, CHTMLIsIndexElement this) =>+            Expression this -> mn (Expression THTMLFormElement)+getm'form = get'form+ +set'prompt ::+           (Monad mn, CHTMLIsIndexElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'prompt = setjsProperty "prompt"+ +get'prompt ::+           (Monad mn, CHTMLIsIndexElement this) =>+             Expression this -> mn (Expression String)+get'prompt thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "prompt")+       return r+ +getm'prompt ::+            (Monad mn, CHTMLIsIndexElement this) =>+              Expression this -> mn (Expression String)+getm'prompt = get'prompt+
+ Data/DOM/HTMLLIElement.hs view
@@ -0,0 +1,53 @@++module Data.DOM.HTMLLIElement+       (set'type, get'type, getm'type, set'value, get'value, getm'value,+        mkLi)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'type ::+         (Monad mn, CHTMLLIElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'type = setjsProperty "type"+ +get'type ::+         (Monad mn, CHTMLLIElement this) =>+           Expression this -> mn (Expression String)+get'type thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "type")+       return r+ +getm'type ::+          (Monad mn, CHTMLLIElement this) =>+            Expression this -> mn (Expression String)+getm'type = get'type+ +set'value ::+          (Monad mn, CHTMLLIElement zz) =>+            Expression Double -> Expression zz -> mn (Expression zz)+set'value = setjsProperty "value"+ +get'value ::+          (Monad mn, CHTMLLIElement this) =>+            Expression this -> mn (Expression Double)+get'value thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "value")+       return r+ +getm'value ::+           (Monad mn, CHTMLLIElement this) =>+             Expression this -> mn (Expression Double)+getm'value = get'value+ +mkLi ::+     (Monad mn, CHTMLDocument a) =>+       Expression a -> mn (Expression THTMLLIElement)+mkLi = createElement (StringLit "li" "li")+
+ Data/DOM/HTMLLabelElement.hs view
@@ -0,0 +1,61 @@++module Data.DOM.HTMLLabelElement+       (get'form, getm'form, set'accessKey, get'accessKey, getm'accessKey,+        set'htmlFor, get'htmlFor, getm'htmlFor)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'form ::+         (Monad mn, CHTMLLabelElement this, CHTMLFormElement zz) =>+           Expression this -> mn (Expression zz)+get'form thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "form")+       return r+ +getm'form ::+          (Monad mn, CHTMLLabelElement this) =>+            Expression this -> mn (Expression THTMLFormElement)+getm'form = get'form+ +set'accessKey ::+              (Monad mn, CHTMLLabelElement zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'accessKey = setjsProperty "accessKey"+ +get'accessKey ::+              (Monad mn, CHTMLLabelElement this) =>+                Expression this -> mn (Expression String)+get'accessKey thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "accessKey")+       return r+ +getm'accessKey ::+               (Monad mn, CHTMLLabelElement this) =>+                 Expression this -> mn (Expression String)+getm'accessKey = get'accessKey+ +set'htmlFor ::+            (Monad mn, CHTMLLabelElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'htmlFor = setjsProperty "htmlFor"+ +get'htmlFor ::+            (Monad mn, CHTMLLabelElement this) =>+              Expression this -> mn (Expression String)+get'htmlFor thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "htmlFor")+       return r+ +getm'htmlFor ::+             (Monad mn, CHTMLLabelElement this) =>+               Expression this -> mn (Expression String)+getm'htmlFor = get'htmlFor+
+ Data/DOM/HTMLLegendElement.hs view
@@ -0,0 +1,61 @@++module Data.DOM.HTMLLegendElement+       (get'form, getm'form, set'accessKey, get'accessKey, getm'accessKey,+        set'align, get'align, getm'align)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'form ::+         (Monad mn, CHTMLLegendElement this, CHTMLFormElement zz) =>+           Expression this -> mn (Expression zz)+get'form thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "form")+       return r+ +getm'form ::+          (Monad mn, CHTMLLegendElement this) =>+            Expression this -> mn (Expression THTMLFormElement)+getm'form = get'form+ +set'accessKey ::+              (Monad mn, CHTMLLegendElement zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'accessKey = setjsProperty "accessKey"+ +get'accessKey ::+              (Monad mn, CHTMLLegendElement this) =>+                Expression this -> mn (Expression String)+get'accessKey thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "accessKey")+       return r+ +getm'accessKey ::+               (Monad mn, CHTMLLegendElement this) =>+                 Expression this -> mn (Expression String)+getm'accessKey = get'accessKey+ +set'align ::+          (Monad mn, CHTMLLegendElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'align = setjsProperty "align"+ +get'align ::+          (Monad mn, CHTMLLegendElement this) =>+            Expression this -> mn (Expression String)+get'align thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "align")+       return r+ +getm'align ::+           (Monad mn, CHTMLLegendElement this) =>+             Expression this -> mn (Expression String)+getm'align = get'align+
+ Data/DOM/HTMLLinkElement.hs view
@@ -0,0 +1,177 @@++module Data.DOM.HTMLLinkElement+       (set'disabled, get'disabled, getm'disabled, set'charset,+        get'charset, getm'charset, set'href, get'href, getm'href,+        set'hreflang, get'hreflang, getm'hreflang, set'media, get'media,+        getm'media, set'rel, get'rel, getm'rel, set'rev, get'rev, getm'rev,+        set'target, get'target, getm'target, set'type, get'type, getm'type)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'disabled ::+             (Monad mn, CHTMLLinkElement zz) =>+               Expression Bool -> Expression zz -> mn (Expression zz)+set'disabled = setjsProperty "disabled"+ +get'disabled ::+             (Monad mn, CHTMLLinkElement this) =>+               Expression this -> mn (Expression Bool)+get'disabled thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "disabled")+       return r+ +getm'disabled ::+              (Monad mn, CHTMLLinkElement this) =>+                Expression this -> mn (Expression Bool)+getm'disabled = get'disabled+ +set'charset ::+            (Monad mn, CHTMLLinkElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'charset = setjsProperty "charset"+ +get'charset ::+            (Monad mn, CHTMLLinkElement this) =>+              Expression this -> mn (Expression String)+get'charset thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "charset")+       return r+ +getm'charset ::+             (Monad mn, CHTMLLinkElement this) =>+               Expression this -> mn (Expression String)+getm'charset = get'charset+ +set'href ::+         (Monad mn, CHTMLLinkElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'href = setjsProperty "href"+ +get'href ::+         (Monad mn, CHTMLLinkElement this) =>+           Expression this -> mn (Expression String)+get'href thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "href")+       return r+ +getm'href ::+          (Monad mn, CHTMLLinkElement this) =>+            Expression this -> mn (Expression String)+getm'href = get'href+ +set'hreflang ::+             (Monad mn, CHTMLLinkElement zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'hreflang = setjsProperty "hreflang"+ +get'hreflang ::+             (Monad mn, CHTMLLinkElement this) =>+               Expression this -> mn (Expression String)+get'hreflang thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "hreflang")+       return r+ +getm'hreflang ::+              (Monad mn, CHTMLLinkElement this) =>+                Expression this -> mn (Expression String)+getm'hreflang = get'hreflang+ +set'media ::+          (Monad mn, CHTMLLinkElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'media = setjsProperty "media"+ +get'media ::+          (Monad mn, CHTMLLinkElement this) =>+            Expression this -> mn (Expression String)+get'media thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "media")+       return r+ +getm'media ::+           (Monad mn, CHTMLLinkElement this) =>+             Expression this -> mn (Expression String)+getm'media = get'media+ +set'rel ::+        (Monad mn, CHTMLLinkElement zz) =>+          Expression String -> Expression zz -> mn (Expression zz)+set'rel = setjsProperty "rel"+ +get'rel ::+        (Monad mn, CHTMLLinkElement this) =>+          Expression this -> mn (Expression String)+get'rel thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "rel")+       return r+ +getm'rel ::+         (Monad mn, CHTMLLinkElement this) =>+           Expression this -> mn (Expression String)+getm'rel = get'rel+ +set'rev ::+        (Monad mn, CHTMLLinkElement zz) =>+          Expression String -> Expression zz -> mn (Expression zz)+set'rev = setjsProperty "rev"+ +get'rev ::+        (Monad mn, CHTMLLinkElement this) =>+          Expression this -> mn (Expression String)+get'rev thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "rev")+       return r+ +getm'rev ::+         (Monad mn, CHTMLLinkElement this) =>+           Expression this -> mn (Expression String)+getm'rev = get'rev+ +set'target ::+           (Monad mn, CHTMLLinkElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'target = setjsProperty "target"+ +get'target ::+           (Monad mn, CHTMLLinkElement this) =>+             Expression this -> mn (Expression String)+get'target thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "target")+       return r+ +getm'target ::+            (Monad mn, CHTMLLinkElement this) =>+              Expression this -> mn (Expression String)+getm'target = get'target+ +set'type ::+         (Monad mn, CHTMLLinkElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'type = setjsProperty "type"+ +get'type ::+         (Monad mn, CHTMLLinkElement this) =>+           Expression this -> mn (Expression String)+get'type thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "type")+       return r+ +getm'type ::+          (Monad mn, CHTMLLinkElement this) =>+            Expression this -> mn (Expression String)+getm'type = get'type+
+ Data/DOM/HTMLMapElement.hs view
@@ -0,0 +1,41 @@++module Data.DOM.HTMLMapElement+       (get'areas, getm'areas, set'name, get'name, getm'name) where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'areas ::+          (Monad mn, CHTMLMapElement this, CHTMLCollection zz) =>+            Expression this -> mn (Expression zz)+get'areas thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "areas")+       return r+ +getm'areas ::+           (Monad mn, CHTMLMapElement this) =>+             Expression this -> mn (Expression THTMLCollection)+getm'areas = get'areas+ +set'name ::+         (Monad mn, CHTMLMapElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'name = setjsProperty "name"+ +get'name ::+         (Monad mn, CHTMLMapElement this) =>+           Expression this -> mn (Expression String)+get'name thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "name")+       return r+ +getm'name ::+          (Monad mn, CHTMLMapElement this) =>+            Expression this -> mn (Expression String)+getm'name = get'name+
+ Data/DOM/HTMLMenuElement.hs view
@@ -0,0 +1,28 @@++module Data.DOM.HTMLMenuElement+       (set'compact, get'compact, getm'compact) where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'compact ::+            (Monad mn, CHTMLMenuElement zz) =>+              Expression Bool -> Expression zz -> mn (Expression zz)+set'compact = setjsProperty "compact"+ +get'compact ::+            (Monad mn, CHTMLMenuElement this) =>+              Expression this -> mn (Expression Bool)+get'compact thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "compact")+       return r+ +getm'compact ::+             (Monad mn, CHTMLMenuElement this) =>+               Expression this -> mn (Expression Bool)+getm'compact = get'compact+
+ Data/DOM/HTMLMetaElement.hs view
@@ -0,0 +1,85 @@++module Data.DOM.HTMLMetaElement+       (set'content, get'content, getm'content, set'httpEquiv,+        get'httpEquiv, getm'httpEquiv, set'name, get'name, getm'name,+        set'scheme, get'scheme, getm'scheme)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'content ::+            (Monad mn, CHTMLMetaElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'content = setjsProperty "content"+ +get'content ::+            (Monad mn, CHTMLMetaElement this) =>+              Expression this -> mn (Expression String)+get'content thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "content")+       return r+ +getm'content ::+             (Monad mn, CHTMLMetaElement this) =>+               Expression this -> mn (Expression String)+getm'content = get'content+ +set'httpEquiv ::+              (Monad mn, CHTMLMetaElement zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'httpEquiv = setjsProperty "httpEquiv"+ +get'httpEquiv ::+              (Monad mn, CHTMLMetaElement this) =>+                Expression this -> mn (Expression String)+get'httpEquiv thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "httpEquiv")+       return r+ +getm'httpEquiv ::+               (Monad mn, CHTMLMetaElement this) =>+                 Expression this -> mn (Expression String)+getm'httpEquiv = get'httpEquiv+ +set'name ::+         (Monad mn, CHTMLMetaElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'name = setjsProperty "name"+ +get'name ::+         (Monad mn, CHTMLMetaElement this) =>+           Expression this -> mn (Expression String)+get'name thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "name")+       return r+ +getm'name ::+          (Monad mn, CHTMLMetaElement this) =>+            Expression this -> mn (Expression String)+getm'name = get'name+ +set'scheme ::+           (Monad mn, CHTMLMetaElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'scheme = setjsProperty "scheme"+ +get'scheme ::+           (Monad mn, CHTMLMetaElement this) =>+             Expression this -> mn (Expression String)+get'scheme thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "scheme")+       return r+ +getm'scheme ::+            (Monad mn, CHTMLMetaElement this) =>+              Expression this -> mn (Expression String)+getm'scheme = get'scheme+
+ Data/DOM/HTMLModElement.hs view
@@ -0,0 +1,48 @@++module Data.DOM.HTMLModElement+       (set'cite, get'cite, getm'cite, set'dateTime, get'dateTime,+        getm'dateTime)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'cite ::+         (Monad mn, CHTMLModElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'cite = setjsProperty "cite"+ +get'cite ::+         (Monad mn, CHTMLModElement this) =>+           Expression this -> mn (Expression String)+get'cite thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "cite")+       return r+ +getm'cite ::+          (Monad mn, CHTMLModElement this) =>+            Expression this -> mn (Expression String)+getm'cite = get'cite+ +set'dateTime ::+             (Monad mn, CHTMLModElement zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'dateTime = setjsProperty "dateTime"+ +get'dateTime ::+             (Monad mn, CHTMLModElement this) =>+               Expression this -> mn (Expression String)+get'dateTime thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "dateTime")+       return r+ +getm'dateTime ::+              (Monad mn, CHTMLModElement this) =>+                Expression this -> mn (Expression String)+getm'dateTime = get'dateTime+
+ Data/DOM/HTMLOListElement.hs view
@@ -0,0 +1,71 @@++module Data.DOM.HTMLOListElement+       (set'compact, get'compact, getm'compact, set'start, get'start,+        getm'start, set'type, get'type, getm'type, mkOl)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'compact ::+            (Monad mn, CHTMLOListElement zz) =>+              Expression Bool -> Expression zz -> mn (Expression zz)+set'compact = setjsProperty "compact"+ +get'compact ::+            (Monad mn, CHTMLOListElement this) =>+              Expression this -> mn (Expression Bool)+get'compact thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "compact")+       return r+ +getm'compact ::+             (Monad mn, CHTMLOListElement this) =>+               Expression this -> mn (Expression Bool)+getm'compact = get'compact+ +set'start ::+          (Monad mn, CHTMLOListElement zz) =>+            Expression Double -> Expression zz -> mn (Expression zz)+set'start = setjsProperty "start"+ +get'start ::+          (Monad mn, CHTMLOListElement this) =>+            Expression this -> mn (Expression Double)+get'start thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "start")+       return r+ +getm'start ::+           (Monad mn, CHTMLOListElement this) =>+             Expression this -> mn (Expression Double)+getm'start = get'start+ +set'type ::+         (Monad mn, CHTMLOListElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'type = setjsProperty "type"+ +get'type ::+         (Monad mn, CHTMLOListElement this) =>+           Expression this -> mn (Expression String)+get'type thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "type")+       return r+ +getm'type ::+          (Monad mn, CHTMLOListElement this) =>+            Expression this -> mn (Expression String)+getm'type = get'type+ +mkOl ::+     (Monad mn, CHTMLDocument a) =>+       Expression a -> mn (Expression THTMLOListElement)+mkOl = createElement (StringLit "ol" "ol")+
+ Data/DOM/HTMLObjectElement.hs view
@@ -0,0 +1,359 @@++module Data.DOM.HTMLObjectElement+       (get'form, getm'form, set'code, get'code, getm'code, set'align,+        get'align, getm'align, set'archive, get'archive, getm'archive,+        set'border, get'border, getm'border, set'codeBase, get'codeBase,+        getm'codeBase, set'codeType, get'codeType, getm'codeType, set'data,+        get'data, getm'data, set'declare, get'declare, getm'declare,+        set'height, get'height, getm'height, set'hspace, get'hspace,+        getm'hspace, set'name, get'name, getm'name, set'standby,+        get'standby, getm'standby, set'tabIndex, get'tabIndex,+        getm'tabIndex, set'type, get'type, getm'type, set'useMap,+        get'useMap, getm'useMap, set'vspace, get'vspace, getm'vspace,+        set'width, get'width, getm'width, get'contentDocument,+        getm'contentDocument, mkObject)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'form ::+         (Monad mn, CHTMLObjectElement this, CHTMLFormElement zz) =>+           Expression this -> mn (Expression zz)+get'form thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "form")+       return r+ +getm'form ::+          (Monad mn, CHTMLObjectElement this) =>+            Expression this -> mn (Expression THTMLFormElement)+getm'form = get'form+ +set'code ::+         (Monad mn, CHTMLObjectElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'code = setjsProperty "code"+ +get'code ::+         (Monad mn, CHTMLObjectElement this) =>+           Expression this -> mn (Expression String)+get'code thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "code")+       return r+ +getm'code ::+          (Monad mn, CHTMLObjectElement this) =>+            Expression this -> mn (Expression String)+getm'code = get'code+ +set'align ::+          (Monad mn, CHTMLObjectElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'align = setjsProperty "align"+ +get'align ::+          (Monad mn, CHTMLObjectElement this) =>+            Expression this -> mn (Expression String)+get'align thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "align")+       return r+ +getm'align ::+           (Monad mn, CHTMLObjectElement this) =>+             Expression this -> mn (Expression String)+getm'align = get'align+ +set'archive ::+            (Monad mn, CHTMLObjectElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'archive = setjsProperty "archive"+ +get'archive ::+            (Monad mn, CHTMLObjectElement this) =>+              Expression this -> mn (Expression String)+get'archive thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "archive")+       return r+ +getm'archive ::+             (Monad mn, CHTMLObjectElement this) =>+               Expression this -> mn (Expression String)+getm'archive = get'archive+ +set'border ::+           (Monad mn, CHTMLObjectElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'border = setjsProperty "border"+ +get'border ::+           (Monad mn, CHTMLObjectElement this) =>+             Expression this -> mn (Expression String)+get'border thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "border")+       return r+ +getm'border ::+            (Monad mn, CHTMLObjectElement this) =>+              Expression this -> mn (Expression String)+getm'border = get'border+ +set'codeBase ::+             (Monad mn, CHTMLObjectElement zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'codeBase = setjsProperty "codeBase"+ +get'codeBase ::+             (Monad mn, CHTMLObjectElement this) =>+               Expression this -> mn (Expression String)+get'codeBase thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "codeBase")+       return r+ +getm'codeBase ::+              (Monad mn, CHTMLObjectElement this) =>+                Expression this -> mn (Expression String)+getm'codeBase = get'codeBase+ +set'codeType ::+             (Monad mn, CHTMLObjectElement zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'codeType = setjsProperty "codeType"+ +get'codeType ::+             (Monad mn, CHTMLObjectElement this) =>+               Expression this -> mn (Expression String)+get'codeType thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "codeType")+       return r+ +getm'codeType ::+              (Monad mn, CHTMLObjectElement this) =>+                Expression this -> mn (Expression String)+getm'codeType = get'codeType+ +set'data ::+         (Monad mn, CHTMLObjectElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'data = setjsProperty "data"+ +get'data ::+         (Monad mn, CHTMLObjectElement this) =>+           Expression this -> mn (Expression String)+get'data thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "data")+       return r+ +getm'data ::+          (Monad mn, CHTMLObjectElement this) =>+            Expression this -> mn (Expression String)+getm'data = get'data+ +set'declare ::+            (Monad mn, CHTMLObjectElement zz) =>+              Expression Bool -> Expression zz -> mn (Expression zz)+set'declare = setjsProperty "declare"+ +get'declare ::+            (Monad mn, CHTMLObjectElement this) =>+              Expression this -> mn (Expression Bool)+get'declare thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "declare")+       return r+ +getm'declare ::+             (Monad mn, CHTMLObjectElement this) =>+               Expression this -> mn (Expression Bool)+getm'declare = get'declare+ +set'height ::+           (Monad mn, CHTMLObjectElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'height = setjsProperty "height"+ +get'height ::+           (Monad mn, CHTMLObjectElement this) =>+             Expression this -> mn (Expression String)+get'height thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "height")+       return r+ +getm'height ::+            (Monad mn, CHTMLObjectElement this) =>+              Expression this -> mn (Expression String)+getm'height = get'height+ +set'hspace ::+           (Monad mn, CHTMLObjectElement zz) =>+             Expression Double -> Expression zz -> mn (Expression zz)+set'hspace = setjsProperty "hspace"+ +get'hspace ::+           (Monad mn, CHTMLObjectElement this) =>+             Expression this -> mn (Expression Double)+get'hspace thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "hspace")+       return r+ +getm'hspace ::+            (Monad mn, CHTMLObjectElement this) =>+              Expression this -> mn (Expression Double)+getm'hspace = get'hspace+ +set'name ::+         (Monad mn, CHTMLObjectElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'name = setjsProperty "name"+ +get'name ::+         (Monad mn, CHTMLObjectElement this) =>+           Expression this -> mn (Expression String)+get'name thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "name")+       return r+ +getm'name ::+          (Monad mn, CHTMLObjectElement this) =>+            Expression this -> mn (Expression String)+getm'name = get'name+ +set'standby ::+            (Monad mn, CHTMLObjectElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'standby = setjsProperty "standby"+ +get'standby ::+            (Monad mn, CHTMLObjectElement this) =>+              Expression this -> mn (Expression String)+get'standby thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "standby")+       return r+ +getm'standby ::+             (Monad mn, CHTMLObjectElement this) =>+               Expression this -> mn (Expression String)+getm'standby = get'standby+ +set'tabIndex ::+             (Monad mn, CHTMLObjectElement zz) =>+               Expression Double -> Expression zz -> mn (Expression zz)+set'tabIndex = setjsProperty "tabIndex"+ +get'tabIndex ::+             (Monad mn, CHTMLObjectElement this) =>+               Expression this -> mn (Expression Double)+get'tabIndex thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "tabIndex")+       return r+ +getm'tabIndex ::+              (Monad mn, CHTMLObjectElement this) =>+                Expression this -> mn (Expression Double)+getm'tabIndex = get'tabIndex+ +set'type ::+         (Monad mn, CHTMLObjectElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'type = setjsProperty "type"+ +get'type ::+         (Monad mn, CHTMLObjectElement this) =>+           Expression this -> mn (Expression String)+get'type thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "type")+       return r+ +getm'type ::+          (Monad mn, CHTMLObjectElement this) =>+            Expression this -> mn (Expression String)+getm'type = get'type+ +set'useMap ::+           (Monad mn, CHTMLObjectElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'useMap = setjsProperty "useMap"+ +get'useMap ::+           (Monad mn, CHTMLObjectElement this) =>+             Expression this -> mn (Expression String)+get'useMap thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "useMap")+       return r+ +getm'useMap ::+            (Monad mn, CHTMLObjectElement this) =>+              Expression this -> mn (Expression String)+getm'useMap = get'useMap+ +set'vspace ::+           (Monad mn, CHTMLObjectElement zz) =>+             Expression Double -> Expression zz -> mn (Expression zz)+set'vspace = setjsProperty "vspace"+ +get'vspace ::+           (Monad mn, CHTMLObjectElement this) =>+             Expression this -> mn (Expression Double)+get'vspace thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "vspace")+       return r+ +getm'vspace ::+            (Monad mn, CHTMLObjectElement this) =>+              Expression this -> mn (Expression Double)+getm'vspace = get'vspace+ +set'width ::+          (Monad mn, CHTMLObjectElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'width = setjsProperty "width"+ +get'width ::+          (Monad mn, CHTMLObjectElement this) =>+            Expression this -> mn (Expression String)+get'width thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "width")+       return r+ +getm'width ::+           (Monad mn, CHTMLObjectElement this) =>+             Expression this -> mn (Expression String)+getm'width = get'width+ +get'contentDocument ::+                    (Monad mn, CHTMLObjectElement this, CDocument zz) =>+                      Expression this -> mn (Expression zz)+get'contentDocument thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "contentDocument")+       return r+ +getm'contentDocument ::+                     (Monad mn, CHTMLObjectElement this) =>+                       Expression this -> mn (Expression TDocument)+getm'contentDocument = get'contentDocument+ +mkObject ::+         (Monad mn, CHTMLDocument a) =>+           Expression a -> mn (Expression THTMLObjectElement)+mkObject = createElement (StringLit "object" "object")+
+ Data/DOM/HTMLOptGroupElement.hs view
@@ -0,0 +1,48 @@++module Data.DOM.HTMLOptGroupElement+       (set'disabled, get'disabled, getm'disabled, set'label, get'label,+        getm'label)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'disabled ::+             (Monad mn, CHTMLOptGroupElement zz) =>+               Expression Bool -> Expression zz -> mn (Expression zz)+set'disabled = setjsProperty "disabled"+ +get'disabled ::+             (Monad mn, CHTMLOptGroupElement this) =>+               Expression this -> mn (Expression Bool)+get'disabled thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "disabled")+       return r+ +getm'disabled ::+              (Monad mn, CHTMLOptGroupElement this) =>+                Expression this -> mn (Expression Bool)+getm'disabled = get'disabled+ +set'label ::+          (Monad mn, CHTMLOptGroupElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'label = setjsProperty "label"+ +get'label ::+          (Monad mn, CHTMLOptGroupElement this) =>+            Expression this -> mn (Expression String)+get'label thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "label")+       return r+ +getm'label ::+           (Monad mn, CHTMLOptGroupElement this) =>+             Expression this -> mn (Expression String)+getm'label = get'label+
+ Data/DOM/HTMLOptionElement.hs view
@@ -0,0 +1,144 @@++module Data.DOM.HTMLOptionElement+       (get'form, getm'form, set'defaultSelected, get'defaultSelected,+        getm'defaultSelected, get'text, getm'text, get'index, getm'index,+        set'disabled, get'disabled, getm'disabled, set'label, get'label,+        getm'label, set'selected, get'selected, getm'selected, set'value,+        get'value, getm'value)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'form ::+         (Monad mn, CHTMLOptionElement this, CHTMLFormElement zz) =>+           Expression this -> mn (Expression zz)+get'form thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "form")+       return r+ +getm'form ::+          (Monad mn, CHTMLOptionElement this) =>+            Expression this -> mn (Expression THTMLFormElement)+getm'form = get'form+ +set'defaultSelected ::+                    (Monad mn, CHTMLOptionElement zz) =>+                      Expression Bool -> Expression zz -> mn (Expression zz)+set'defaultSelected = setjsProperty "defaultSelected"+ +get'defaultSelected ::+                    (Monad mn, CHTMLOptionElement this) =>+                      Expression this -> mn (Expression Bool)+get'defaultSelected thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "defaultSelected")+       return r+ +getm'defaultSelected ::+                     (Monad mn, CHTMLOptionElement this) =>+                       Expression this -> mn (Expression Bool)+getm'defaultSelected = get'defaultSelected+ +get'text ::+         (Monad mn, CHTMLOptionElement this) =>+           Expression this -> mn (Expression String)+get'text thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "text")+       return r+ +getm'text ::+          (Monad mn, CHTMLOptionElement this) =>+            Expression this -> mn (Expression String)+getm'text = get'text+ +get'index ::+          (Monad mn, CHTMLOptionElement this) =>+            Expression this -> mn (Expression Double)+get'index thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "index")+       return r+ +getm'index ::+           (Monad mn, CHTMLOptionElement this) =>+             Expression this -> mn (Expression Double)+getm'index = get'index+ +set'disabled ::+             (Monad mn, CHTMLOptionElement zz) =>+               Expression Bool -> Expression zz -> mn (Expression zz)+set'disabled = setjsProperty "disabled"+ +get'disabled ::+             (Monad mn, CHTMLOptionElement this) =>+               Expression this -> mn (Expression Bool)+get'disabled thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "disabled")+       return r+ +getm'disabled ::+              (Monad mn, CHTMLOptionElement this) =>+                Expression this -> mn (Expression Bool)+getm'disabled = get'disabled+ +set'label ::+          (Monad mn, CHTMLOptionElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'label = setjsProperty "label"+ +get'label ::+          (Monad mn, CHTMLOptionElement this) =>+            Expression this -> mn (Expression String)+get'label thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "label")+       return r+ +getm'label ::+           (Monad mn, CHTMLOptionElement this) =>+             Expression this -> mn (Expression String)+getm'label = get'label+ +set'selected ::+             (Monad mn, CHTMLOptionElement zz) =>+               Expression Bool -> Expression zz -> mn (Expression zz)+set'selected = setjsProperty "selected"+ +get'selected ::+             (Monad mn, CHTMLOptionElement this) =>+               Expression this -> mn (Expression Bool)+get'selected thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "selected")+       return r+ +getm'selected ::+              (Monad mn, CHTMLOptionElement this) =>+                Expression this -> mn (Expression Bool)+getm'selected = get'selected+ +set'value ::+          (Monad mn, CHTMLOptionElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'value = setjsProperty "value"+ +get'value ::+          (Monad mn, CHTMLOptionElement this) =>+            Expression this -> mn (Expression String)+get'value thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "value")+       return r+ +getm'value ::+           (Monad mn, CHTMLOptionElement this) =>+             Expression this -> mn (Expression String)+getm'value = get'value+
+ Data/DOM/HTMLOptionsCollection.hs view
@@ -0,0 +1,44 @@++module Data.DOM.HTMLOptionsCollection+       (item, namedItem, set'length, get'length, getm'length) where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +item ::+     (Monad mn, CHTMLOptionsCollection this, CNode zz) =>+       Expression Double -> Expression this -> mn (Expression zz)+item a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "item")+       return (CallExpr et r [a /\ et])+ +namedItem ::+          (Monad mn, CHTMLOptionsCollection this, CNode zz) =>+            Expression String -> Expression this -> mn (Expression zz)+namedItem a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "namedItem")+       return (CallExpr et r [a /\ et])+ +set'length ::+           (Monad mn, CHTMLOptionsCollection zz) =>+             Expression Double -> Expression zz -> mn (Expression zz)+set'length = setjsProperty "length"+ +get'length ::+           (Monad mn, CHTMLOptionsCollection this) =>+             Expression this -> mn (Expression Double)+get'length thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "length")+       return r+ +getm'length ::+            (Monad mn, CHTMLOptionsCollection this) =>+              Expression this -> mn (Expression Double)+getm'length = get'length+
+ Data/DOM/HTMLParagraphElement.hs view
@@ -0,0 +1,33 @@++module Data.DOM.HTMLParagraphElement+       (set'align, get'align, getm'align, mkP) where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'align ::+          (Monad mn, CHTMLParagraphElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'align = setjsProperty "align"+ +get'align ::+          (Monad mn, CHTMLParagraphElement this) =>+            Expression this -> mn (Expression String)+get'align thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "align")+       return r+ +getm'align ::+           (Monad mn, CHTMLParagraphElement this) =>+             Expression this -> mn (Expression String)+getm'align = get'align+ +mkP ::+    (Monad mn, CHTMLDocument a) =>+      Expression a -> mn (Expression THTMLParagraphElement)+mkP = createElement (StringLit "p" "p")+
+ Data/DOM/HTMLParamElement.hs view
@@ -0,0 +1,90 @@++module Data.DOM.HTMLParamElement+       (set'name, get'name, getm'name, set'type, get'type, getm'type,+        set'value, get'value, getm'value, set'valueType, get'valueType,+        getm'valueType, mkParam)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'name ::+         (Monad mn, CHTMLParamElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'name = setjsProperty "name"+ +get'name ::+         (Monad mn, CHTMLParamElement this) =>+           Expression this -> mn (Expression String)+get'name thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "name")+       return r+ +getm'name ::+          (Monad mn, CHTMLParamElement this) =>+            Expression this -> mn (Expression String)+getm'name = get'name+ +set'type ::+         (Monad mn, CHTMLParamElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'type = setjsProperty "type"+ +get'type ::+         (Monad mn, CHTMLParamElement this) =>+           Expression this -> mn (Expression String)+get'type thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "type")+       return r+ +getm'type ::+          (Monad mn, CHTMLParamElement this) =>+            Expression this -> mn (Expression String)+getm'type = get'type+ +set'value ::+          (Monad mn, CHTMLParamElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'value = setjsProperty "value"+ +get'value ::+          (Monad mn, CHTMLParamElement this) =>+            Expression this -> mn (Expression String)+get'value thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "value")+       return r+ +getm'value ::+           (Monad mn, CHTMLParamElement this) =>+             Expression this -> mn (Expression String)+getm'value = get'value+ +set'valueType ::+              (Monad mn, CHTMLParamElement zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'valueType = setjsProperty "valueType"+ +get'valueType ::+              (Monad mn, CHTMLParamElement this) =>+                Expression this -> mn (Expression String)+get'valueType thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "valueType")+       return r+ +getm'valueType ::+               (Monad mn, CHTMLParamElement this) =>+                 Expression this -> mn (Expression String)+getm'valueType = get'valueType+ +mkParam ::+        (Monad mn, CHTMLDocument a) =>+          Expression a -> mn (Expression THTMLParamElement)+mkParam = createElement (StringLit "param" "param")+
+ Data/DOM/HTMLPreElement.hs view
@@ -0,0 +1,33 @@++module Data.DOM.HTMLPreElement+       (set'width, get'width, getm'width, mkPre) where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'width ::+          (Monad mn, CHTMLPreElement zz) =>+            Expression Double -> Expression zz -> mn (Expression zz)+set'width = setjsProperty "width"+ +get'width ::+          (Monad mn, CHTMLPreElement this) =>+            Expression this -> mn (Expression Double)+get'width thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "width")+       return r+ +getm'width ::+           (Monad mn, CHTMLPreElement this) =>+             Expression this -> mn (Expression Double)+getm'width = get'width+ +mkPre ::+      (Monad mn, CHTMLDocument a) =>+        Expression a -> mn (Expression THTMLPreElement)+mkPre = createElement (StringLit "pre" "pre")+
+ Data/DOM/HTMLQuoteElement.hs view
@@ -0,0 +1,28 @@++module Data.DOM.HTMLQuoteElement (set'cite, get'cite, getm'cite)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'cite ::+         (Monad mn, CHTMLQuoteElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'cite = setjsProperty "cite"+ +get'cite ::+         (Monad mn, CHTMLQuoteElement this) =>+           Expression this -> mn (Expression String)+get'cite thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "cite")+       return r+ +getm'cite ::+          (Monad mn, CHTMLQuoteElement this) =>+            Expression this -> mn (Expression String)+getm'cite = get'cite+
+ Data/DOM/HTMLScriptElement.hs view
@@ -0,0 +1,146 @@++module Data.DOM.HTMLScriptElement+       (set'text, get'text, getm'text, set'htmlFor, get'htmlFor,+        getm'htmlFor, set'event, get'event, getm'event, set'charset,+        get'charset, getm'charset, set'defer, get'defer, getm'defer,+        set'src, get'src, getm'src, set'type, get'type, getm'type,+        mkScript)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'text ::+         (Monad mn, CHTMLScriptElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'text = setjsProperty "text"+ +get'text ::+         (Monad mn, CHTMLScriptElement this) =>+           Expression this -> mn (Expression String)+get'text thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "text")+       return r+ +getm'text ::+          (Monad mn, CHTMLScriptElement this) =>+            Expression this -> mn (Expression String)+getm'text = get'text+ +set'htmlFor ::+            (Monad mn, CHTMLScriptElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'htmlFor = setjsProperty "htmlFor"+ +get'htmlFor ::+            (Monad mn, CHTMLScriptElement this) =>+              Expression this -> mn (Expression String)+get'htmlFor thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "htmlFor")+       return r+ +getm'htmlFor ::+             (Monad mn, CHTMLScriptElement this) =>+               Expression this -> mn (Expression String)+getm'htmlFor = get'htmlFor+ +set'event ::+          (Monad mn, CHTMLScriptElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'event = setjsProperty "event"+ +get'event ::+          (Monad mn, CHTMLScriptElement this) =>+            Expression this -> mn (Expression String)+get'event thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "event")+       return r+ +getm'event ::+           (Monad mn, CHTMLScriptElement this) =>+             Expression this -> mn (Expression String)+getm'event = get'event+ +set'charset ::+            (Monad mn, CHTMLScriptElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'charset = setjsProperty "charset"+ +get'charset ::+            (Monad mn, CHTMLScriptElement this) =>+              Expression this -> mn (Expression String)+get'charset thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "charset")+       return r+ +getm'charset ::+             (Monad mn, CHTMLScriptElement this) =>+               Expression this -> mn (Expression String)+getm'charset = get'charset+ +set'defer ::+          (Monad mn, CHTMLScriptElement zz) =>+            Expression Bool -> Expression zz -> mn (Expression zz)+set'defer = setjsProperty "defer"+ +get'defer ::+          (Monad mn, CHTMLScriptElement this) =>+            Expression this -> mn (Expression Bool)+get'defer thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "defer")+       return r+ +getm'defer ::+           (Monad mn, CHTMLScriptElement this) =>+             Expression this -> mn (Expression Bool)+getm'defer = get'defer+ +set'src ::+        (Monad mn, CHTMLScriptElement zz) =>+          Expression String -> Expression zz -> mn (Expression zz)+set'src = setjsProperty "src"+ +get'src ::+        (Monad mn, CHTMLScriptElement this) =>+          Expression this -> mn (Expression String)+get'src thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "src")+       return r+ +getm'src ::+         (Monad mn, CHTMLScriptElement this) =>+           Expression this -> mn (Expression String)+getm'src = get'src+ +set'type ::+         (Monad mn, CHTMLScriptElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'type = setjsProperty "type"+ +get'type ::+         (Monad mn, CHTMLScriptElement this) =>+           Expression this -> mn (Expression String)+get'type thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "type")+       return r+ +getm'type ::+          (Monad mn, CHTMLScriptElement this) =>+            Expression this -> mn (Expression String)+getm'type = get'type+ +mkScript ::+         (Monad mn, CHTMLDocument a) =>+           Expression a -> mn (Expression THTMLScriptElement)+mkScript = createElement (StringLit "script" "script")+
+ Data/DOM/HTMLSelectElement.hs view
@@ -0,0 +1,234 @@++module Data.DOM.HTMLSelectElement+       (add, remove, blur, focus, get'type, getm'type, set'selectedIndex,+        get'selectedIndex, getm'selectedIndex, set'value, get'value,+        getm'value, set'length, get'length, getm'length, get'form,+        getm'form, get'options, getm'options, set'disabled, get'disabled,+        getm'disabled, set'multiple, get'multiple, getm'multiple, set'name,+        get'name, getm'name, set'size, get'size, getm'size, set'tabIndex,+        get'tabIndex, getm'tabIndex)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +add ::+    (Monad mn, CHTMLSelectElement this, CHTMLElement element,+     CHTMLElement before) =>+      Expression element ->+        Expression before -> Expression this -> mn (Expression ())+add a b thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "add")+       return (CallExpr et r [a /\ et, b /\ et])+ +remove ::+       (Monad mn, CHTMLSelectElement this) =>+         Expression Double -> Expression this -> mn (Expression ())+remove a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "remove")+       return (CallExpr et r [a /\ et])+ +blur ::+     (Monad mn, CHTMLSelectElement this) =>+       Expression this -> mn (Expression ())+blur thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "blur")+       return (CallExpr et r [])+ +focus ::+      (Monad mn, CHTMLSelectElement this) =>+        Expression this -> mn (Expression ())+focus thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "focus")+       return (CallExpr et r [])+ +get'type ::+         (Monad mn, CHTMLSelectElement this) =>+           Expression this -> mn (Expression String)+get'type thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "type")+       return r+ +getm'type ::+          (Monad mn, CHTMLSelectElement this) =>+            Expression this -> mn (Expression String)+getm'type = get'type+ +set'selectedIndex ::+                  (Monad mn, CHTMLSelectElement zz) =>+                    Expression Double -> Expression zz -> mn (Expression zz)+set'selectedIndex = setjsProperty "selectedIndex"+ +get'selectedIndex ::+                  (Monad mn, CHTMLSelectElement this) =>+                    Expression this -> mn (Expression Double)+get'selectedIndex thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "selectedIndex")+       return r+ +getm'selectedIndex ::+                   (Monad mn, CHTMLSelectElement this) =>+                     Expression this -> mn (Expression Double)+getm'selectedIndex = get'selectedIndex+ +set'value ::+          (Monad mn, CHTMLSelectElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'value = setjsProperty "value"+ +get'value ::+          (Monad mn, CHTMLSelectElement this) =>+            Expression this -> mn (Expression String)+get'value thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "value")+       return r+ +getm'value ::+           (Monad mn, CHTMLSelectElement this) =>+             Expression this -> mn (Expression String)+getm'value = get'value+ +set'length ::+           (Monad mn, CHTMLSelectElement zz) =>+             Expression Double -> Expression zz -> mn (Expression zz)+set'length = setjsProperty "length"+ +get'length ::+           (Monad mn, CHTMLSelectElement this) =>+             Expression this -> mn (Expression Double)+get'length thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "length")+       return r+ +getm'length ::+            (Monad mn, CHTMLSelectElement this) =>+              Expression this -> mn (Expression Double)+getm'length = get'length+ +get'form ::+         (Monad mn, CHTMLSelectElement this, CHTMLFormElement zz) =>+           Expression this -> mn (Expression zz)+get'form thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "form")+       return r+ +getm'form ::+          (Monad mn, CHTMLSelectElement this) =>+            Expression this -> mn (Expression THTMLFormElement)+getm'form = get'form+ +get'options ::+            (Monad mn, CHTMLSelectElement this, CHTMLOptionsCollection zz) =>+              Expression this -> mn (Expression zz)+get'options thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "options")+       return r+ +getm'options ::+             (Monad mn, CHTMLSelectElement this) =>+               Expression this -> mn (Expression THTMLOptionsCollection)+getm'options = get'options+ +set'disabled ::+             (Monad mn, CHTMLSelectElement zz) =>+               Expression Bool -> Expression zz -> mn (Expression zz)+set'disabled = setjsProperty "disabled"+ +get'disabled ::+             (Monad mn, CHTMLSelectElement this) =>+               Expression this -> mn (Expression Bool)+get'disabled thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "disabled")+       return r+ +getm'disabled ::+              (Monad mn, CHTMLSelectElement this) =>+                Expression this -> mn (Expression Bool)+getm'disabled = get'disabled+ +set'multiple ::+             (Monad mn, CHTMLSelectElement zz) =>+               Expression Bool -> Expression zz -> mn (Expression zz)+set'multiple = setjsProperty "multiple"+ +get'multiple ::+             (Monad mn, CHTMLSelectElement this) =>+               Expression this -> mn (Expression Bool)+get'multiple thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "multiple")+       return r+ +getm'multiple ::+              (Monad mn, CHTMLSelectElement this) =>+                Expression this -> mn (Expression Bool)+getm'multiple = get'multiple+ +set'name ::+         (Monad mn, CHTMLSelectElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'name = setjsProperty "name"+ +get'name ::+         (Monad mn, CHTMLSelectElement this) =>+           Expression this -> mn (Expression String)+get'name thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "name")+       return r+ +getm'name ::+          (Monad mn, CHTMLSelectElement this) =>+            Expression this -> mn (Expression String)+getm'name = get'name+ +set'size ::+         (Monad mn, CHTMLSelectElement zz) =>+           Expression Double -> Expression zz -> mn (Expression zz)+set'size = setjsProperty "size"+ +get'size ::+         (Monad mn, CHTMLSelectElement this) =>+           Expression this -> mn (Expression Double)+get'size thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "size")+       return r+ +getm'size ::+          (Monad mn, CHTMLSelectElement this) =>+            Expression this -> mn (Expression Double)+getm'size = get'size+ +set'tabIndex ::+             (Monad mn, CHTMLSelectElement zz) =>+               Expression Double -> Expression zz -> mn (Expression zz)+set'tabIndex = setjsProperty "tabIndex"+ +get'tabIndex ::+             (Monad mn, CHTMLSelectElement this) =>+               Expression this -> mn (Expression Double)+get'tabIndex thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "tabIndex")+       return r+ +getm'tabIndex ::+              (Monad mn, CHTMLSelectElement this) =>+                Expression this -> mn (Expression Double)+getm'tabIndex = get'tabIndex+
+ Data/DOM/HTMLStyleElement.hs view
@@ -0,0 +1,66 @@++module Data.DOM.HTMLStyleElement+       (set'disabled, get'disabled, getm'disabled, set'media, get'media,+        getm'media, set'type, get'type, getm'type)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'disabled ::+             (Monad mn, CHTMLStyleElement zz) =>+               Expression Bool -> Expression zz -> mn (Expression zz)+set'disabled = setjsProperty "disabled"+ +get'disabled ::+             (Monad mn, CHTMLStyleElement this) =>+               Expression this -> mn (Expression Bool)+get'disabled thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "disabled")+       return r+ +getm'disabled ::+              (Monad mn, CHTMLStyleElement this) =>+                Expression this -> mn (Expression Bool)+getm'disabled = get'disabled+ +set'media ::+          (Monad mn, CHTMLStyleElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'media = setjsProperty "media"+ +get'media ::+          (Monad mn, CHTMLStyleElement this) =>+            Expression this -> mn (Expression String)+get'media thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "media")+       return r+ +getm'media ::+           (Monad mn, CHTMLStyleElement this) =>+             Expression this -> mn (Expression String)+getm'media = get'media+ +set'type ::+         (Monad mn, CHTMLStyleElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'type = setjsProperty "type"+ +get'type ::+         (Monad mn, CHTMLStyleElement this) =>+           Expression this -> mn (Expression String)+get'type thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "type")+       return r+ +getm'type ::+          (Monad mn, CHTMLStyleElement this) =>+            Expression this -> mn (Expression String)+getm'type = get'type+
+ Data/DOM/HTMLTableCaptionElement.hs view
@@ -0,0 +1,28 @@++module Data.DOM.HTMLTableCaptionElement+       (set'align, get'align, getm'align) where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'align ::+          (Monad mn, CHTMLTableCaptionElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'align = setjsProperty "align"+ +get'align ::+          (Monad mn, CHTMLTableCaptionElement this) =>+            Expression this -> mn (Expression String)+get'align thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "align")+       return r+ +getm'align ::+           (Monad mn, CHTMLTableCaptionElement this) =>+             Expression this -> mn (Expression String)+getm'align = get'align+
+ Data/DOM/HTMLTableCellElement.hs view
@@ -0,0 +1,289 @@++module Data.DOM.HTMLTableCellElement+       (get'cellIndex, getm'cellIndex, set'abbr, get'abbr, getm'abbr,+        set'align, get'align, getm'align, set'axis, get'axis, getm'axis,+        set'bgColor, get'bgColor, getm'bgColor, set'ch, get'ch, getm'ch,+        set'chOff, get'chOff, getm'chOff, set'colSpan, get'colSpan,+        getm'colSpan, set'headers, get'headers, getm'headers, set'height,+        get'height, getm'height, set'noWrap, get'noWrap, getm'noWrap,+        set'rowSpan, get'rowSpan, getm'rowSpan, set'scope, get'scope,+        getm'scope, set'vAlign, get'vAlign, getm'vAlign, set'width,+        get'width, getm'width, mkTd)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'cellIndex ::+              (Monad mn, CHTMLTableCellElement this) =>+                Expression this -> mn (Expression Double)+get'cellIndex thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "cellIndex")+       return r+ +getm'cellIndex ::+               (Monad mn, CHTMLTableCellElement this) =>+                 Expression this -> mn (Expression Double)+getm'cellIndex = get'cellIndex+ +set'abbr ::+         (Monad mn, CHTMLTableCellElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'abbr = setjsProperty "abbr"+ +get'abbr ::+         (Monad mn, CHTMLTableCellElement this) =>+           Expression this -> mn (Expression String)+get'abbr thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "abbr")+       return r+ +getm'abbr ::+          (Monad mn, CHTMLTableCellElement this) =>+            Expression this -> mn (Expression String)+getm'abbr = get'abbr+ +set'align ::+          (Monad mn, CHTMLTableCellElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'align = setjsProperty "align"+ +get'align ::+          (Monad mn, CHTMLTableCellElement this) =>+            Expression this -> mn (Expression String)+get'align thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "align")+       return r+ +getm'align ::+           (Monad mn, CHTMLTableCellElement this) =>+             Expression this -> mn (Expression String)+getm'align = get'align+ +set'axis ::+         (Monad mn, CHTMLTableCellElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'axis = setjsProperty "axis"+ +get'axis ::+         (Monad mn, CHTMLTableCellElement this) =>+           Expression this -> mn (Expression String)+get'axis thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "axis")+       return r+ +getm'axis ::+          (Monad mn, CHTMLTableCellElement this) =>+            Expression this -> mn (Expression String)+getm'axis = get'axis+ +set'bgColor ::+            (Monad mn, CHTMLTableCellElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'bgColor = setjsProperty "bgColor"+ +get'bgColor ::+            (Monad mn, CHTMLTableCellElement this) =>+              Expression this -> mn (Expression String)+get'bgColor thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "bgColor")+       return r+ +getm'bgColor ::+             (Monad mn, CHTMLTableCellElement this) =>+               Expression this -> mn (Expression String)+getm'bgColor = get'bgColor+ +set'ch ::+       (Monad mn, CHTMLTableCellElement zz) =>+         Expression String -> Expression zz -> mn (Expression zz)+set'ch = setjsProperty "ch"+ +get'ch ::+       (Monad mn, CHTMLTableCellElement this) =>+         Expression this -> mn (Expression String)+get'ch thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "ch")+       return r+ +getm'ch ::+        (Monad mn, CHTMLTableCellElement this) =>+          Expression this -> mn (Expression String)+getm'ch = get'ch+ +set'chOff ::+          (Monad mn, CHTMLTableCellElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'chOff = setjsProperty "chOff"+ +get'chOff ::+          (Monad mn, CHTMLTableCellElement this) =>+            Expression this -> mn (Expression String)+get'chOff thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "chOff")+       return r+ +getm'chOff ::+           (Monad mn, CHTMLTableCellElement this) =>+             Expression this -> mn (Expression String)+getm'chOff = get'chOff+ +set'colSpan ::+            (Monad mn, CHTMLTableCellElement zz) =>+              Expression Double -> Expression zz -> mn (Expression zz)+set'colSpan = setjsProperty "colSpan"+ +get'colSpan ::+            (Monad mn, CHTMLTableCellElement this) =>+              Expression this -> mn (Expression Double)+get'colSpan thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "colSpan")+       return r+ +getm'colSpan ::+             (Monad mn, CHTMLTableCellElement this) =>+               Expression this -> mn (Expression Double)+getm'colSpan = get'colSpan+ +set'headers ::+            (Monad mn, CHTMLTableCellElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'headers = setjsProperty "headers"+ +get'headers ::+            (Monad mn, CHTMLTableCellElement this) =>+              Expression this -> mn (Expression String)+get'headers thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "headers")+       return r+ +getm'headers ::+             (Monad mn, CHTMLTableCellElement this) =>+               Expression this -> mn (Expression String)+getm'headers = get'headers+ +set'height ::+           (Monad mn, CHTMLTableCellElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'height = setjsProperty "height"+ +get'height ::+           (Monad mn, CHTMLTableCellElement this) =>+             Expression this -> mn (Expression String)+get'height thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "height")+       return r+ +getm'height ::+            (Monad mn, CHTMLTableCellElement this) =>+              Expression this -> mn (Expression String)+getm'height = get'height+ +set'noWrap ::+           (Monad mn, CHTMLTableCellElement zz) =>+             Expression Bool -> Expression zz -> mn (Expression zz)+set'noWrap = setjsProperty "noWrap"+ +get'noWrap ::+           (Monad mn, CHTMLTableCellElement this) =>+             Expression this -> mn (Expression Bool)+get'noWrap thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "noWrap")+       return r+ +getm'noWrap ::+            (Monad mn, CHTMLTableCellElement this) =>+              Expression this -> mn (Expression Bool)+getm'noWrap = get'noWrap+ +set'rowSpan ::+            (Monad mn, CHTMLTableCellElement zz) =>+              Expression Double -> Expression zz -> mn (Expression zz)+set'rowSpan = setjsProperty "rowSpan"+ +get'rowSpan ::+            (Monad mn, CHTMLTableCellElement this) =>+              Expression this -> mn (Expression Double)+get'rowSpan thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "rowSpan")+       return r+ +getm'rowSpan ::+             (Monad mn, CHTMLTableCellElement this) =>+               Expression this -> mn (Expression Double)+getm'rowSpan = get'rowSpan+ +set'scope ::+          (Monad mn, CHTMLTableCellElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'scope = setjsProperty "scope"+ +get'scope ::+          (Monad mn, CHTMLTableCellElement this) =>+            Expression this -> mn (Expression String)+get'scope thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "scope")+       return r+ +getm'scope ::+           (Monad mn, CHTMLTableCellElement this) =>+             Expression this -> mn (Expression String)+getm'scope = get'scope+ +set'vAlign ::+           (Monad mn, CHTMLTableCellElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'vAlign = setjsProperty "vAlign"+ +get'vAlign ::+           (Monad mn, CHTMLTableCellElement this) =>+             Expression this -> mn (Expression String)+get'vAlign thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "vAlign")+       return r+ +getm'vAlign ::+            (Monad mn, CHTMLTableCellElement this) =>+              Expression this -> mn (Expression String)+getm'vAlign = get'vAlign+ +set'width ::+          (Monad mn, CHTMLTableCellElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'width = setjsProperty "width"+ +get'width ::+          (Monad mn, CHTMLTableCellElement this) =>+            Expression this -> mn (Expression String)+get'width thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "width")+       return r+ +getm'width ::+           (Monad mn, CHTMLTableCellElement this) =>+             Expression this -> mn (Expression String)+getm'width = get'width+ +mkTd ::+     (Monad mn, CHTMLDocument a) =>+       Expression a -> mn (Expression THTMLTableCellElement)+mkTd = createElement (StringLit "td" "td")+
+ Data/DOM/HTMLTableColElement.hs view
@@ -0,0 +1,127 @@++module Data.DOM.HTMLTableColElement+       (set'align, get'align, getm'align, set'ch, get'ch, getm'ch,+        set'chOff, get'chOff, getm'chOff, set'span, get'span, getm'span,+        set'vAlign, get'vAlign, getm'vAlign, set'width, get'width,+        getm'width, mkCol)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'align ::+          (Monad mn, CHTMLTableColElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'align = setjsProperty "align"+ +get'align ::+          (Monad mn, CHTMLTableColElement this) =>+            Expression this -> mn (Expression String)+get'align thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "align")+       return r+ +getm'align ::+           (Monad mn, CHTMLTableColElement this) =>+             Expression this -> mn (Expression String)+getm'align = get'align+ +set'ch ::+       (Monad mn, CHTMLTableColElement zz) =>+         Expression String -> Expression zz -> mn (Expression zz)+set'ch = setjsProperty "ch"+ +get'ch ::+       (Monad mn, CHTMLTableColElement this) =>+         Expression this -> mn (Expression String)+get'ch thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "ch")+       return r+ +getm'ch ::+        (Monad mn, CHTMLTableColElement this) =>+          Expression this -> mn (Expression String)+getm'ch = get'ch+ +set'chOff ::+          (Monad mn, CHTMLTableColElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'chOff = setjsProperty "chOff"+ +get'chOff ::+          (Monad mn, CHTMLTableColElement this) =>+            Expression this -> mn (Expression String)+get'chOff thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "chOff")+       return r+ +getm'chOff ::+           (Monad mn, CHTMLTableColElement this) =>+             Expression this -> mn (Expression String)+getm'chOff = get'chOff+ +set'span ::+         (Monad mn, CHTMLTableColElement zz) =>+           Expression Double -> Expression zz -> mn (Expression zz)+set'span = setjsProperty "span"+ +get'span ::+         (Monad mn, CHTMLTableColElement this) =>+           Expression this -> mn (Expression Double)+get'span thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "span")+       return r+ +getm'span ::+          (Monad mn, CHTMLTableColElement this) =>+            Expression this -> mn (Expression Double)+getm'span = get'span+ +set'vAlign ::+           (Monad mn, CHTMLTableColElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'vAlign = setjsProperty "vAlign"+ +get'vAlign ::+           (Monad mn, CHTMLTableColElement this) =>+             Expression this -> mn (Expression String)+get'vAlign thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "vAlign")+       return r+ +getm'vAlign ::+            (Monad mn, CHTMLTableColElement this) =>+              Expression this -> mn (Expression String)+getm'vAlign = get'vAlign+ +set'width ::+          (Monad mn, CHTMLTableColElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'width = setjsProperty "width"+ +get'width ::+          (Monad mn, CHTMLTableColElement this) =>+            Expression this -> mn (Expression String)+get'width thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "width")+       return r+ +getm'width ::+           (Monad mn, CHTMLTableColElement this) =>+             Expression this -> mn (Expression String)+getm'width = get'width+ +mkCol ::+      (Monad mn, CHTMLDocument a) =>+        Expression a -> mn (Expression THTMLTableColElement)+mkCol = createElement (StringLit "col" "col")+
+ Data/DOM/HTMLTableElement.hs view
@@ -0,0 +1,332 @@++module Data.DOM.HTMLTableElement+       (createTHead, deleteTHead, createTFoot, deleteTFoot, createCaption,+        deleteCaption, insertRow, deleteRow, set'caption, get'caption,+        getm'caption, set'tHead, get'tHead, getm'tHead, set'tFoot,+        get'tFoot, getm'tFoot, get'rows, getm'rows, get'tBodies,+        getm'tBodies, set'align, get'align, getm'align, set'bgColor,+        get'bgColor, getm'bgColor, set'border, get'border, getm'border,+        set'cellPadding, get'cellPadding, getm'cellPadding,+        set'cellSpacing, get'cellSpacing, getm'cellSpacing, set'frame,+        get'frame, getm'frame, set'rules, get'rules, getm'rules,+        set'summary, get'summary, getm'summary, set'width, get'width,+        getm'width, mkTable)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +createTHead ::+            (Monad mn, CHTMLTableElement this, CHTMLElement zz) =>+              Expression this -> mn (Expression zz)+createTHead thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createTHead")+       return (CallExpr et r [])+ +deleteTHead ::+            (Monad mn, CHTMLTableElement this) =>+              Expression this -> mn (Expression ())+deleteTHead thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "deleteTHead")+       return (CallExpr et r [])+ +createTFoot ::+            (Monad mn, CHTMLTableElement this, CHTMLElement zz) =>+              Expression this -> mn (Expression zz)+createTFoot thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createTFoot")+       return (CallExpr et r [])+ +deleteTFoot ::+            (Monad mn, CHTMLTableElement this) =>+              Expression this -> mn (Expression ())+deleteTFoot thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "deleteTFoot")+       return (CallExpr et r [])+ +createCaption ::+              (Monad mn, CHTMLTableElement this, CHTMLElement zz) =>+                Expression this -> mn (Expression zz)+createCaption thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "createCaption")+       return (CallExpr et r [])+ +deleteCaption ::+              (Monad mn, CHTMLTableElement this) =>+                Expression this -> mn (Expression ())+deleteCaption thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "deleteCaption")+       return (CallExpr et r [])+ +insertRow ::+          (Monad mn, CHTMLTableElement this, CHTMLElement zz) =>+            Expression Double -> Expression this -> mn (Expression zz)+insertRow a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "insertRow")+       return (CallExpr et r [a /\ et])+ +deleteRow ::+          (Monad mn, CHTMLTableElement this) =>+            Expression Double -> Expression this -> mn (Expression ())+deleteRow a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "deleteRow")+       return (CallExpr et r [a /\ et])+ +set'caption ::+            (Monad mn, CHTMLTableCaptionElement val, CHTMLTableElement zz) =>+              Expression val -> Expression zz -> mn (Expression zz)+set'caption = setjsProperty "caption"+ +get'caption ::+            (Monad mn, CHTMLTableElement this, CHTMLTableCaptionElement zz) =>+              Expression this -> mn (Expression zz)+get'caption thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "caption")+       return r+ +getm'caption ::+             (Monad mn, CHTMLTableElement this) =>+               Expression this -> mn (Expression THTMLTableCaptionElement)+getm'caption = get'caption+ +set'tHead ::+          (Monad mn, CHTMLTableSectionElement val, CHTMLTableElement zz) =>+            Expression val -> Expression zz -> mn (Expression zz)+set'tHead = setjsProperty "tHead"+ +get'tHead ::+          (Monad mn, CHTMLTableElement this, CHTMLTableSectionElement zz) =>+            Expression this -> mn (Expression zz)+get'tHead thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "tHead")+       return r+ +getm'tHead ::+           (Monad mn, CHTMLTableElement this) =>+             Expression this -> mn (Expression THTMLTableSectionElement)+getm'tHead = get'tHead+ +set'tFoot ::+          (Monad mn, CHTMLTableSectionElement val, CHTMLTableElement zz) =>+            Expression val -> Expression zz -> mn (Expression zz)+set'tFoot = setjsProperty "tFoot"+ +get'tFoot ::+          (Monad mn, CHTMLTableElement this, CHTMLTableSectionElement zz) =>+            Expression this -> mn (Expression zz)+get'tFoot thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "tFoot")+       return r+ +getm'tFoot ::+           (Monad mn, CHTMLTableElement this) =>+             Expression this -> mn (Expression THTMLTableSectionElement)+getm'tFoot = get'tFoot+ +get'rows ::+         (Monad mn, CHTMLTableElement this, CHTMLCollection zz) =>+           Expression this -> mn (Expression zz)+get'rows thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "rows")+       return r+ +getm'rows ::+          (Monad mn, CHTMLTableElement this) =>+            Expression this -> mn (Expression THTMLCollection)+getm'rows = get'rows+ +get'tBodies ::+            (Monad mn, CHTMLTableElement this, CHTMLCollection zz) =>+              Expression this -> mn (Expression zz)+get'tBodies thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "tBodies")+       return r+ +getm'tBodies ::+             (Monad mn, CHTMLTableElement this) =>+               Expression this -> mn (Expression THTMLCollection)+getm'tBodies = get'tBodies+ +set'align ::+          (Monad mn, CHTMLTableElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'align = setjsProperty "align"+ +get'align ::+          (Monad mn, CHTMLTableElement this) =>+            Expression this -> mn (Expression String)+get'align thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "align")+       return r+ +getm'align ::+           (Monad mn, CHTMLTableElement this) =>+             Expression this -> mn (Expression String)+getm'align = get'align+ +set'bgColor ::+            (Monad mn, CHTMLTableElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'bgColor = setjsProperty "bgColor"+ +get'bgColor ::+            (Monad mn, CHTMLTableElement this) =>+              Expression this -> mn (Expression String)+get'bgColor thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "bgColor")+       return r+ +getm'bgColor ::+             (Monad mn, CHTMLTableElement this) =>+               Expression this -> mn (Expression String)+getm'bgColor = get'bgColor+ +set'border ::+           (Monad mn, CHTMLTableElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'border = setjsProperty "border"+ +get'border ::+           (Monad mn, CHTMLTableElement this) =>+             Expression this -> mn (Expression String)+get'border thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "border")+       return r+ +getm'border ::+            (Monad mn, CHTMLTableElement this) =>+              Expression this -> mn (Expression String)+getm'border = get'border+ +set'cellPadding ::+                (Monad mn, CHTMLTableElement zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'cellPadding = setjsProperty "cellPadding"+ +get'cellPadding ::+                (Monad mn, CHTMLTableElement this) =>+                  Expression this -> mn (Expression String)+get'cellPadding thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "cellPadding")+       return r+ +getm'cellPadding ::+                 (Monad mn, CHTMLTableElement this) =>+                   Expression this -> mn (Expression String)+getm'cellPadding = get'cellPadding+ +set'cellSpacing ::+                (Monad mn, CHTMLTableElement zz) =>+                  Expression String -> Expression zz -> mn (Expression zz)+set'cellSpacing = setjsProperty "cellSpacing"+ +get'cellSpacing ::+                (Monad mn, CHTMLTableElement this) =>+                  Expression this -> mn (Expression String)+get'cellSpacing thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "cellSpacing")+       return r+ +getm'cellSpacing ::+                 (Monad mn, CHTMLTableElement this) =>+                   Expression this -> mn (Expression String)+getm'cellSpacing = get'cellSpacing+ +set'frame ::+          (Monad mn, CHTMLTableElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'frame = setjsProperty "frame"+ +get'frame ::+          (Monad mn, CHTMLTableElement this) =>+            Expression this -> mn (Expression String)+get'frame thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "frame")+       return r+ +getm'frame ::+           (Monad mn, CHTMLTableElement this) =>+             Expression this -> mn (Expression String)+getm'frame = get'frame+ +set'rules ::+          (Monad mn, CHTMLTableElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'rules = setjsProperty "rules"+ +get'rules ::+          (Monad mn, CHTMLTableElement this) =>+            Expression this -> mn (Expression String)+get'rules thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "rules")+       return r+ +getm'rules ::+           (Monad mn, CHTMLTableElement this) =>+             Expression this -> mn (Expression String)+getm'rules = get'rules+ +set'summary ::+            (Monad mn, CHTMLTableElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'summary = setjsProperty "summary"+ +get'summary ::+            (Monad mn, CHTMLTableElement this) =>+              Expression this -> mn (Expression String)+get'summary thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "summary")+       return r+ +getm'summary ::+             (Monad mn, CHTMLTableElement this) =>+               Expression this -> mn (Expression String)+getm'summary = get'summary+ +set'width ::+          (Monad mn, CHTMLTableElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'width = setjsProperty "width"+ +get'width ::+          (Monad mn, CHTMLTableElement this) =>+            Expression this -> mn (Expression String)+get'width thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "width")+       return r+ +getm'width ::+           (Monad mn, CHTMLTableElement this) =>+             Expression this -> mn (Expression String)+getm'width = get'width+ +mkTable ::+        (Monad mn, CHTMLDocument a) =>+          Expression a -> mn (Expression THTMLTableElement)+mkTable = createElement (StringLit "table" "table")+
+ Data/DOM/HTMLTableRowElement.hs view
@@ -0,0 +1,165 @@++module Data.DOM.HTMLTableRowElement+       (insertCell, deleteCell, get'rowIndex, getm'rowIndex,+        get'sectionRowIndex, getm'sectionRowIndex, get'cells, getm'cells,+        set'align, get'align, getm'align, set'bgColor, get'bgColor,+        getm'bgColor, set'ch, get'ch, getm'ch, set'chOff, get'chOff,+        getm'chOff, set'vAlign, get'vAlign, getm'vAlign, mkTr)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +insertCell ::+           (Monad mn, CHTMLTableRowElement this, CHTMLElement zz) =>+             Expression Double -> Expression this -> mn (Expression zz)+insertCell a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "insertCell")+       return (CallExpr et r [a /\ et])+ +deleteCell ::+           (Monad mn, CHTMLTableRowElement this) =>+             Expression Double -> Expression this -> mn (Expression ())+deleteCell a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "deleteCell")+       return (CallExpr et r [a /\ et])+ +get'rowIndex ::+             (Monad mn, CHTMLTableRowElement this) =>+               Expression this -> mn (Expression Double)+get'rowIndex thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "rowIndex")+       return r+ +getm'rowIndex ::+              (Monad mn, CHTMLTableRowElement this) =>+                Expression this -> mn (Expression Double)+getm'rowIndex = get'rowIndex+ +get'sectionRowIndex ::+                    (Monad mn, CHTMLTableRowElement this) =>+                      Expression this -> mn (Expression Double)+get'sectionRowIndex thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "sectionRowIndex")+       return r+ +getm'sectionRowIndex ::+                     (Monad mn, CHTMLTableRowElement this) =>+                       Expression this -> mn (Expression Double)+getm'sectionRowIndex = get'sectionRowIndex+ +get'cells ::+          (Monad mn, CHTMLTableRowElement this, CHTMLCollection zz) =>+            Expression this -> mn (Expression zz)+get'cells thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "cells")+       return r+ +getm'cells ::+           (Monad mn, CHTMLTableRowElement this) =>+             Expression this -> mn (Expression THTMLCollection)+getm'cells = get'cells+ +set'align ::+          (Monad mn, CHTMLTableRowElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'align = setjsProperty "align"+ +get'align ::+          (Monad mn, CHTMLTableRowElement this) =>+            Expression this -> mn (Expression String)+get'align thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "align")+       return r+ +getm'align ::+           (Monad mn, CHTMLTableRowElement this) =>+             Expression this -> mn (Expression String)+getm'align = get'align+ +set'bgColor ::+            (Monad mn, CHTMLTableRowElement zz) =>+              Expression String -> Expression zz -> mn (Expression zz)+set'bgColor = setjsProperty "bgColor"+ +get'bgColor ::+            (Monad mn, CHTMLTableRowElement this) =>+              Expression this -> mn (Expression String)+get'bgColor thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "bgColor")+       return r+ +getm'bgColor ::+             (Monad mn, CHTMLTableRowElement this) =>+               Expression this -> mn (Expression String)+getm'bgColor = get'bgColor+ +set'ch ::+       (Monad mn, CHTMLTableRowElement zz) =>+         Expression String -> Expression zz -> mn (Expression zz)+set'ch = setjsProperty "ch"+ +get'ch ::+       (Monad mn, CHTMLTableRowElement this) =>+         Expression this -> mn (Expression String)+get'ch thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "ch")+       return r+ +getm'ch ::+        (Monad mn, CHTMLTableRowElement this) =>+          Expression this -> mn (Expression String)+getm'ch = get'ch+ +set'chOff ::+          (Monad mn, CHTMLTableRowElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'chOff = setjsProperty "chOff"+ +get'chOff ::+          (Monad mn, CHTMLTableRowElement this) =>+            Expression this -> mn (Expression String)+get'chOff thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "chOff")+       return r+ +getm'chOff ::+           (Monad mn, CHTMLTableRowElement this) =>+             Expression this -> mn (Expression String)+getm'chOff = get'chOff+ +set'vAlign ::+           (Monad mn, CHTMLTableRowElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'vAlign = setjsProperty "vAlign"+ +get'vAlign ::+           (Monad mn, CHTMLTableRowElement this) =>+             Expression this -> mn (Expression String)+get'vAlign thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "vAlign")+       return r+ +getm'vAlign ::+            (Monad mn, CHTMLTableRowElement this) =>+              Expression this -> mn (Expression String)+getm'vAlign = get'vAlign+ +mkTr ::+     (Monad mn, CHTMLDocument a) =>+       Expression a -> mn (Expression THTMLTableRowElement)+mkTr = createElement (StringLit "tr" "tr")+
+ Data/DOM/HTMLTableSectionElement.hs view
@@ -0,0 +1,114 @@++module Data.DOM.HTMLTableSectionElement+       (insertRow, deleteRow, set'align, get'align, getm'align, set'ch,+        get'ch, getm'ch, set'chOff, get'chOff, getm'chOff, set'vAlign,+        get'vAlign, getm'vAlign, get'rows, getm'rows)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +insertRow ::+          (Monad mn, CHTMLTableSectionElement this, CHTMLElement zz) =>+            Expression Double -> Expression this -> mn (Expression zz)+insertRow a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "insertRow")+       return (CallExpr et r [a /\ et])+ +deleteRow ::+          (Monad mn, CHTMLTableSectionElement this) =>+            Expression Double -> Expression this -> mn (Expression ())+deleteRow a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "deleteRow")+       return (CallExpr et r [a /\ et])+ +set'align ::+          (Monad mn, CHTMLTableSectionElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'align = setjsProperty "align"+ +get'align ::+          (Monad mn, CHTMLTableSectionElement this) =>+            Expression this -> mn (Expression String)+get'align thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "align")+       return r+ +getm'align ::+           (Monad mn, CHTMLTableSectionElement this) =>+             Expression this -> mn (Expression String)+getm'align = get'align+ +set'ch ::+       (Monad mn, CHTMLTableSectionElement zz) =>+         Expression String -> Expression zz -> mn (Expression zz)+set'ch = setjsProperty "ch"+ +get'ch ::+       (Monad mn, CHTMLTableSectionElement this) =>+         Expression this -> mn (Expression String)+get'ch thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "ch")+       return r+ +getm'ch ::+        (Monad mn, CHTMLTableSectionElement this) =>+          Expression this -> mn (Expression String)+getm'ch = get'ch+ +set'chOff ::+          (Monad mn, CHTMLTableSectionElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'chOff = setjsProperty "chOff"+ +get'chOff ::+          (Monad mn, CHTMLTableSectionElement this) =>+            Expression this -> mn (Expression String)+get'chOff thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "chOff")+       return r+ +getm'chOff ::+           (Monad mn, CHTMLTableSectionElement this) =>+             Expression this -> mn (Expression String)+getm'chOff = get'chOff+ +set'vAlign ::+           (Monad mn, CHTMLTableSectionElement zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'vAlign = setjsProperty "vAlign"+ +get'vAlign ::+           (Monad mn, CHTMLTableSectionElement this) =>+             Expression this -> mn (Expression String)+get'vAlign thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "vAlign")+       return r+ +getm'vAlign ::+            (Monad mn, CHTMLTableSectionElement this) =>+              Expression this -> mn (Expression String)+getm'vAlign = get'vAlign+ +get'rows ::+         (Monad mn, CHTMLTableSectionElement this, CHTMLCollection zz) =>+           Expression this -> mn (Expression zz)+get'rows thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "rows")+       return r+ +getm'rows ::+          (Monad mn, CHTMLTableSectionElement this) =>+            Expression this -> mn (Expression THTMLCollection)+getm'rows = get'rows+
+ Data/DOM/HTMLTextAreaElement.hs view
@@ -0,0 +1,234 @@++module Data.DOM.HTMLTextAreaElement+       (blur, focus, select, set'defaultValue, get'defaultValue,+        getm'defaultValue, get'form, getm'form, set'accessKey,+        get'accessKey, getm'accessKey, set'cols, get'cols, getm'cols,+        set'disabled, get'disabled, getm'disabled, set'name, get'name,+        getm'name, set'readOnly, get'readOnly, getm'readOnly, set'rows,+        get'rows, getm'rows, set'tabIndex, get'tabIndex, getm'tabIndex,+        get'type, getm'type, set'value, get'value, getm'value, mkTextarea)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +blur ::+     (Monad mn, CHTMLTextAreaElement this) =>+       Expression this -> mn (Expression ())+blur thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "blur")+       return (CallExpr et r [])+ +focus ::+      (Monad mn, CHTMLTextAreaElement this) =>+        Expression this -> mn (Expression ())+focus thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "focus")+       return (CallExpr et r [])+ +select ::+       (Monad mn, CHTMLTextAreaElement this) =>+         Expression this -> mn (Expression ())+select thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "select")+       return (CallExpr et r [])+ +set'defaultValue ::+                 (Monad mn, CHTMLTextAreaElement zz) =>+                   Expression String -> Expression zz -> mn (Expression zz)+set'defaultValue = setjsProperty "defaultValue"+ +get'defaultValue ::+                 (Monad mn, CHTMLTextAreaElement this) =>+                   Expression this -> mn (Expression String)+get'defaultValue thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "defaultValue")+       return r+ +getm'defaultValue ::+                  (Monad mn, CHTMLTextAreaElement this) =>+                    Expression this -> mn (Expression String)+getm'defaultValue = get'defaultValue+ +get'form ::+         (Monad mn, CHTMLTextAreaElement this, CHTMLFormElement zz) =>+           Expression this -> mn (Expression zz)+get'form thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "form")+       return r+ +getm'form ::+          (Monad mn, CHTMLTextAreaElement this) =>+            Expression this -> mn (Expression THTMLFormElement)+getm'form = get'form+ +set'accessKey ::+              (Monad mn, CHTMLTextAreaElement zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'accessKey = setjsProperty "accessKey"+ +get'accessKey ::+              (Monad mn, CHTMLTextAreaElement this) =>+                Expression this -> mn (Expression String)+get'accessKey thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "accessKey")+       return r+ +getm'accessKey ::+               (Monad mn, CHTMLTextAreaElement this) =>+                 Expression this -> mn (Expression String)+getm'accessKey = get'accessKey+ +set'cols ::+         (Monad mn, CHTMLTextAreaElement zz) =>+           Expression Double -> Expression zz -> mn (Expression zz)+set'cols = setjsProperty "cols"+ +get'cols ::+         (Monad mn, CHTMLTextAreaElement this) =>+           Expression this -> mn (Expression Double)+get'cols thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "cols")+       return r+ +getm'cols ::+          (Monad mn, CHTMLTextAreaElement this) =>+            Expression this -> mn (Expression Double)+getm'cols = get'cols+ +set'disabled ::+             (Monad mn, CHTMLTextAreaElement zz) =>+               Expression Bool -> Expression zz -> mn (Expression zz)+set'disabled = setjsProperty "disabled"+ +get'disabled ::+             (Monad mn, CHTMLTextAreaElement this) =>+               Expression this -> mn (Expression Bool)+get'disabled thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "disabled")+       return r+ +getm'disabled ::+              (Monad mn, CHTMLTextAreaElement this) =>+                Expression this -> mn (Expression Bool)+getm'disabled = get'disabled+ +set'name ::+         (Monad mn, CHTMLTextAreaElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'name = setjsProperty "name"+ +get'name ::+         (Monad mn, CHTMLTextAreaElement this) =>+           Expression this -> mn (Expression String)+get'name thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "name")+       return r+ +getm'name ::+          (Monad mn, CHTMLTextAreaElement this) =>+            Expression this -> mn (Expression String)+getm'name = get'name+ +set'readOnly ::+             (Monad mn, CHTMLTextAreaElement zz) =>+               Expression Bool -> Expression zz -> mn (Expression zz)+set'readOnly = setjsProperty "readOnly"+ +get'readOnly ::+             (Monad mn, CHTMLTextAreaElement this) =>+               Expression this -> mn (Expression Bool)+get'readOnly thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "readOnly")+       return r+ +getm'readOnly ::+              (Monad mn, CHTMLTextAreaElement this) =>+                Expression this -> mn (Expression Bool)+getm'readOnly = get'readOnly+ +set'rows ::+         (Monad mn, CHTMLTextAreaElement zz) =>+           Expression Double -> Expression zz -> mn (Expression zz)+set'rows = setjsProperty "rows"+ +get'rows ::+         (Monad mn, CHTMLTextAreaElement this) =>+           Expression this -> mn (Expression Double)+get'rows thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "rows")+       return r+ +getm'rows ::+          (Monad mn, CHTMLTextAreaElement this) =>+            Expression this -> mn (Expression Double)+getm'rows = get'rows+ +set'tabIndex ::+             (Monad mn, CHTMLTextAreaElement zz) =>+               Expression Double -> Expression zz -> mn (Expression zz)+set'tabIndex = setjsProperty "tabIndex"+ +get'tabIndex ::+             (Monad mn, CHTMLTextAreaElement this) =>+               Expression this -> mn (Expression Double)+get'tabIndex thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "tabIndex")+       return r+ +getm'tabIndex ::+              (Monad mn, CHTMLTextAreaElement this) =>+                Expression this -> mn (Expression Double)+getm'tabIndex = get'tabIndex+ +get'type ::+         (Monad mn, CHTMLTextAreaElement this) =>+           Expression this -> mn (Expression String)+get'type thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "type")+       return r+ +getm'type ::+          (Monad mn, CHTMLTextAreaElement this) =>+            Expression this -> mn (Expression String)+getm'type = get'type+ +set'value ::+          (Monad mn, CHTMLTextAreaElement zz) =>+            Expression String -> Expression zz -> mn (Expression zz)+set'value = setjsProperty "value"+ +get'value ::+          (Monad mn, CHTMLTextAreaElement this) =>+            Expression this -> mn (Expression String)+get'value thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "value")+       return r+ +getm'value ::+           (Monad mn, CHTMLTextAreaElement this) =>+             Expression this -> mn (Expression String)+getm'value = get'value+ +mkTextarea ::+           (Monad mn, CHTMLDocument a) =>+             Expression a -> mn (Expression THTMLTextAreaElement)+mkTextarea = createElement (StringLit "textarea" "textarea")+
+ Data/DOM/HTMLTitleElement.hs view
@@ -0,0 +1,28 @@++module Data.DOM.HTMLTitleElement (set'text, get'text, getm'text)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'text ::+         (Monad mn, CHTMLTitleElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'text = setjsProperty "text"+ +get'text ::+         (Monad mn, CHTMLTitleElement this) =>+           Expression this -> mn (Expression String)+get'text thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "text")+       return r+ +getm'text ::+          (Monad mn, CHTMLTitleElement this) =>+            Expression this -> mn (Expression String)+getm'text = get'text+
+ Data/DOM/HTMLUListElement.hs view
@@ -0,0 +1,53 @@++module Data.DOM.HTMLUListElement+       (set'compact, get'compact, getm'compact, set'type, get'type,+        getm'type, mkUl)+       where+import Data.DOM.Html2+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +set'compact ::+            (Monad mn, CHTMLUListElement zz) =>+              Expression Bool -> Expression zz -> mn (Expression zz)+set'compact = setjsProperty "compact"+ +get'compact ::+            (Monad mn, CHTMLUListElement this) =>+              Expression this -> mn (Expression Bool)+get'compact thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "compact")+       return r+ +getm'compact ::+             (Monad mn, CHTMLUListElement this) =>+               Expression this -> mn (Expression Bool)+getm'compact = get'compact+ +set'type ::+         (Monad mn, CHTMLUListElement zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'type = setjsProperty "type"+ +get'type ::+         (Monad mn, CHTMLUListElement this) =>+           Expression this -> mn (Expression String)+get'type thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "type")+       return r+ +getm'type ::+          (Monad mn, CHTMLUListElement this) =>+            Expression this -> mn (Expression String)+getm'type = get'type+ +mkUl ::+     (Monad mn, CHTMLDocument a) =>+       Expression a -> mn (Expression THTMLUListElement)+mkUl = createElement (StringLit "ul" "ul")+
+ Data/DOM/Html2.hs view
@@ -0,0 +1,1049 @@++module Data.DOM.Html2+       (THTMLCollection(..), THTMLOptionsCollection(..),+        THTMLDocument(..), THTMLElement(..), THTMLHtmlElement(..),+        THTMLHeadElement(..), THTMLLinkElement(..), THTMLTitleElement(..),+        THTMLMetaElement(..), THTMLBaseElement(..),+        THTMLIsIndexElement(..), THTMLStyleElement(..),+        THTMLBodyElement(..), THTMLFormElement(..), THTMLSelectElement(..),+        THTMLOptGroupElement(..), THTMLOptionElement(..),+        THTMLInputElement(..), THTMLTextAreaElement(..),+        THTMLButtonElement(..), THTMLLabelElement(..),+        THTMLFieldSetElement(..), THTMLLegendElement(..),+        THTMLUListElement(..), THTMLOListElement(..),+        THTMLDListElement(..), THTMLDirectoryElement(..),+        THTMLMenuElement(..), THTMLLIElement(..), THTMLDivElement(..),+        THTMLParagraphElement(..), THTMLHeadingElement(..),+        THTMLQuoteElement(..), THTMLPreElement(..), THTMLBRElement(..),+        THTMLBaseFontElement(..), THTMLFontElement(..), THTMLHRElement(..),+        THTMLModElement(..), THTMLAnchorElement(..), THTMLImageElement(..),+        THTMLObjectElement(..), THTMLParamElement(..),+        THTMLAppletElement(..), THTMLMapElement(..), THTMLAreaElement(..),+        THTMLScriptElement(..), THTMLTableElement(..),+        THTMLTableCaptionElement(..), THTMLTableColElement(..),+        THTMLTableSectionElement(..), THTMLTableRowElement(..),+        THTMLTableCellElement(..), THTMLFrameSetElement(..),+        THTMLFrameElement(..), THTMLIFrameElement(..), THTMLSubElement(..),+        THTMLSupElement(..), THTMLSpanElement(..), THTMLBdoElement(..),+        THTMLIElement(..), THTMLBElement(..), THTMLUElement(..),+        THTMLSElement(..), THTMLStrikeElement(..), THTMLBigElement(..),+        THTMLSmallElement(..), THTMLEmElement(..), THTMLStrongElement(..),+        THTMLDfnElement(..), THTMLCodeElement(..), THTMLSampElement(..),+        THTMLKbdElement(..), THTMLVarElement(..), THTMLCiteElement(..),+        THTMLAcronymElement(..), THTMLAbbrElement(..), THTMLDdElement(..),+        THTMLDtElement(..), THTMLNoframesElement(..),+        THTMLNoscriptElement(..), THTMLAddressElement(..),+        THTMLCenterElement(..), CHTMLCollection, CHTMLOptionsCollection,+        CHTMLDocument, CHTMLElement, CHTMLHtmlElement, CHTMLHeadElement,+        CHTMLLinkElement, CHTMLTitleElement, CHTMLMetaElement,+        CHTMLBaseElement, CHTMLIsIndexElement, CHTMLStyleElement,+        CHTMLBodyElement, CHTMLFormElement, CHTMLSelectElement,+        CHTMLOptGroupElement, CHTMLOptionElement, CHTMLInputElement,+        CHTMLTextAreaElement, CHTMLButtonElement, CHTMLLabelElement,+        CHTMLFieldSetElement, CHTMLLegendElement, CHTMLUListElement,+        CHTMLOListElement, CHTMLDListElement, CHTMLDirectoryElement,+        CHTMLMenuElement, CHTMLLIElement, CHTMLDivElement,+        CHTMLParagraphElement, CHTMLHeadingElement, CHTMLQuoteElement,+        CHTMLPreElement, CHTMLBRElement, CHTMLBaseFontElement,+        CHTMLFontElement, CHTMLHRElement, CHTMLModElement,+        CHTMLAnchorElement, CHTMLImageElement, CHTMLObjectElement,+        CHTMLParamElement, CHTMLAppletElement, CHTMLMapElement,+        CHTMLAreaElement, CHTMLScriptElement, CHTMLTableElement,+        CHTMLTableCaptionElement, CHTMLTableColElement,+        CHTMLTableSectionElement, CHTMLTableRowElement,+        CHTMLTableCellElement, CHTMLFrameSetElement, CHTMLFrameElement,+        CHTMLIFrameElement, CHTMLSubElement, CHTMLSupElement,+        CHTMLSpanElement, CHTMLBdoElement, CHTMLIElement, CHTMLBElement,+        CHTMLUElement, CHTMLSElement, CHTMLStrikeElement, CHTMLBigElement,+        CHTMLSmallElement, CHTMLEmElement, CHTMLStrongElement,+        CHTMLDfnElement, CHTMLCodeElement, CHTMLSampElement,+        CHTMLKbdElement, CHTMLVarElement, CHTMLCiteElement,+        CHTMLAcronymElement, CHTMLAbbrElement, CHTMLDdElement,+        CHTMLDtElement, CHTMLNoframesElement, CHTMLNoscriptElement,+        CHTMLAddressElement, CHTMLCenterElement)+       where+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+ +data THTMLCollection = THTMLCollection+ +data THTMLOptionsCollection = THTMLOptionsCollection+ +data THTMLDocument = THTMLDocument+ +data THTMLElement = THTMLElement+ +data THTMLHtmlElement = THTMLHtmlElement+ +data THTMLHeadElement = THTMLHeadElement+ +data THTMLLinkElement = THTMLLinkElement+ +data THTMLTitleElement = THTMLTitleElement+ +data THTMLMetaElement = THTMLMetaElement+ +data THTMLBaseElement = THTMLBaseElement+ +data THTMLIsIndexElement = THTMLIsIndexElement+ +data THTMLStyleElement = THTMLStyleElement+ +data THTMLBodyElement = THTMLBodyElement+ +data THTMLFormElement = THTMLFormElement+ +data THTMLSelectElement = THTMLSelectElement+ +data THTMLOptGroupElement = THTMLOptGroupElement+ +data THTMLOptionElement = THTMLOptionElement+ +data THTMLInputElement = THTMLInputElement+ +data THTMLTextAreaElement = THTMLTextAreaElement+ +data THTMLButtonElement = THTMLButtonElement+ +data THTMLLabelElement = THTMLLabelElement+ +data THTMLFieldSetElement = THTMLFieldSetElement+ +data THTMLLegendElement = THTMLLegendElement+ +data THTMLUListElement = THTMLUListElement+ +data THTMLOListElement = THTMLOListElement+ +data THTMLDListElement = THTMLDListElement+ +data THTMLDirectoryElement = THTMLDirectoryElement+ +data THTMLMenuElement = THTMLMenuElement+ +data THTMLLIElement = THTMLLIElement+ +data THTMLDivElement = THTMLDivElement+ +data THTMLParagraphElement = THTMLParagraphElement+ +data THTMLHeadingElement = THTMLHeadingElement+ +data THTMLQuoteElement = THTMLQuoteElement+ +data THTMLPreElement = THTMLPreElement+ +data THTMLBRElement = THTMLBRElement+ +data THTMLBaseFontElement = THTMLBaseFontElement+ +data THTMLFontElement = THTMLFontElement+ +data THTMLHRElement = THTMLHRElement+ +data THTMLModElement = THTMLModElement+ +data THTMLAnchorElement = THTMLAnchorElement+ +data THTMLImageElement = THTMLImageElement+ +data THTMLObjectElement = THTMLObjectElement+ +data THTMLParamElement = THTMLParamElement+ +data THTMLAppletElement = THTMLAppletElement+ +data THTMLMapElement = THTMLMapElement+ +data THTMLAreaElement = THTMLAreaElement+ +data THTMLScriptElement = THTMLScriptElement+ +data THTMLTableElement = THTMLTableElement+ +data THTMLTableCaptionElement = THTMLTableCaptionElement+ +data THTMLTableColElement = THTMLTableColElement+ +data THTMLTableSectionElement = THTMLTableSectionElement+ +data THTMLTableRowElement = THTMLTableRowElement+ +data THTMLTableCellElement = THTMLTableCellElement+ +data THTMLFrameSetElement = THTMLFrameSetElement+ +data THTMLFrameElement = THTMLFrameElement+ +data THTMLIFrameElement = THTMLIFrameElement+ +data THTMLSubElement = THTMLSubElement+ +data THTMLSupElement = THTMLSupElement+ +data THTMLSpanElement = THTMLSpanElement+ +data THTMLBdoElement = THTMLBdoElement+ +data THTMLIElement = THTMLIElement+ +data THTMLBElement = THTMLBElement+ +data THTMLUElement = THTMLUElement+ +data THTMLSElement = THTMLSElement+ +data THTMLStrikeElement = THTMLStrikeElement+ +data THTMLBigElement = THTMLBigElement+ +data THTMLSmallElement = THTMLSmallElement+ +data THTMLEmElement = THTMLEmElement+ +data THTMLStrongElement = THTMLStrongElement+ +data THTMLDfnElement = THTMLDfnElement+ +data THTMLCodeElement = THTMLCodeElement+ +data THTMLSampElement = THTMLSampElement+ +data THTMLKbdElement = THTMLKbdElement+ +data THTMLVarElement = THTMLVarElement+ +data THTMLCiteElement = THTMLCiteElement+ +data THTMLAcronymElement = THTMLAcronymElement+ +data THTMLAbbrElement = THTMLAbbrElement+ +data THTMLDdElement = THTMLDdElement+ +data THTMLDtElement = THTMLDtElement+ +data THTMLNoframesElement = THTMLNoframesElement+ +data THTMLNoscriptElement = THTMLNoscriptElement+ +data THTMLAddressElement = THTMLAddressElement+ +data THTMLCenterElement = THTMLCenterElement+ +class CHTMLCollection a+ +class CHTMLOptionsCollection a+ +class (CDocument a) => CHTMLDocument a+ +class (CElement a) => CHTMLElement a+ +class (CHTMLElement a) => CHTMLHtmlElement a+ +class (CHTMLElement a) => CHTMLHeadElement a+ +class (CHTMLElement a) => CHTMLLinkElement a+ +class (CHTMLElement a) => CHTMLTitleElement a+ +class (CHTMLElement a) => CHTMLMetaElement a+ +class (CHTMLElement a) => CHTMLBaseElement a+ +class (CHTMLElement a) => CHTMLIsIndexElement a+ +class (CHTMLElement a) => CHTMLStyleElement a+ +class (CHTMLElement a) => CHTMLBodyElement a+ +class (CHTMLElement a) => CHTMLFormElement a+ +class (CHTMLElement a) => CHTMLSelectElement a+ +class (CHTMLElement a) => CHTMLOptGroupElement a+ +class (CHTMLElement a) => CHTMLOptionElement a+ +class (CHTMLElement a) => CHTMLInputElement a+ +class (CHTMLElement a) => CHTMLTextAreaElement a+ +class (CHTMLElement a) => CHTMLButtonElement a+ +class (CHTMLElement a) => CHTMLLabelElement a+ +class (CHTMLElement a) => CHTMLFieldSetElement a+ +class (CHTMLElement a) => CHTMLLegendElement a+ +class (CHTMLElement a) => CHTMLUListElement a+ +class (CHTMLElement a) => CHTMLOListElement a+ +class (CHTMLElement a) => CHTMLDListElement a+ +class (CHTMLElement a) => CHTMLDirectoryElement a+ +class (CHTMLElement a) => CHTMLMenuElement a+ +class (CHTMLElement a) => CHTMLLIElement a+ +class (CHTMLElement a) => CHTMLDivElement a+ +class (CHTMLElement a) => CHTMLParagraphElement a+ +class (CHTMLElement a) => CHTMLHeadingElement a+ +class (CHTMLElement a) => CHTMLQuoteElement a+ +class (CHTMLElement a) => CHTMLPreElement a+ +class (CHTMLElement a) => CHTMLBRElement a+ +class (CHTMLElement a) => CHTMLBaseFontElement a+ +class (CHTMLElement a) => CHTMLFontElement a+ +class (CHTMLElement a) => CHTMLHRElement a+ +class (CHTMLElement a) => CHTMLModElement a+ +class (CHTMLElement a) => CHTMLAnchorElement a+ +class (CHTMLElement a) => CHTMLImageElement a+ +class (CHTMLElement a) => CHTMLObjectElement a+ +class (CHTMLElement a) => CHTMLParamElement a+ +class (CHTMLElement a) => CHTMLAppletElement a+ +class (CHTMLElement a) => CHTMLMapElement a+ +class (CHTMLElement a) => CHTMLAreaElement a+ +class (CHTMLElement a) => CHTMLScriptElement a+ +class (CHTMLElement a) => CHTMLTableElement a+ +class (CHTMLElement a) => CHTMLTableCaptionElement a+ +class (CHTMLElement a) => CHTMLTableColElement a+ +class (CHTMLElement a) => CHTMLTableSectionElement a+ +class (CHTMLElement a) => CHTMLTableRowElement a+ +class (CHTMLElement a) => CHTMLTableCellElement a+ +class (CHTMLElement a) => CHTMLFrameSetElement a+ +class (CHTMLElement a) => CHTMLFrameElement a+ +class (CHTMLElement a) => CHTMLIFrameElement a+ +class (CHTMLElement a) => CHTMLSubElement a+ +class (CHTMLElement a) => CHTMLSupElement a+ +class (CHTMLElement a) => CHTMLSpanElement a+ +class (CHTMLElement a) => CHTMLBdoElement a+ +class (CHTMLElement a) => CHTMLIElement a+ +class (CHTMLElement a) => CHTMLBElement a+ +class (CHTMLElement a) => CHTMLUElement a+ +class (CHTMLElement a) => CHTMLSElement a+ +class (CHTMLElement a) => CHTMLStrikeElement a+ +class (CHTMLElement a) => CHTMLBigElement a+ +class (CHTMLElement a) => CHTMLSmallElement a+ +class (CHTMLElement a) => CHTMLEmElement a+ +class (CHTMLElement a) => CHTMLStrongElement a+ +class (CHTMLElement a) => CHTMLDfnElement a+ +class (CHTMLElement a) => CHTMLCodeElement a+ +class (CHTMLElement a) => CHTMLSampElement a+ +class (CHTMLElement a) => CHTMLKbdElement a+ +class (CHTMLElement a) => CHTMLVarElement a+ +class (CHTMLElement a) => CHTMLCiteElement a+ +class (CHTMLElement a) => CHTMLAcronymElement a+ +class (CHTMLElement a) => CHTMLAbbrElement a+ +class (CHTMLElement a) => CHTMLDdElement a+ +class (CHTMLElement a) => CHTMLDtElement a+ +class (CHTMLElement a) => CHTMLNoframesElement a+ +class (CHTMLElement a) => CHTMLNoscriptElement a+ +class (CHTMLElement a) => CHTMLAddressElement a+ +class (CHTMLElement a) => CHTMLCenterElement a+ +instance CHTMLCollection THTMLCollection+ +instance CHTMLOptionsCollection THTMLOptionsCollection+ +instance CHTMLDocument THTMLDocument+ +instance CDocument THTMLDocument+ +instance CNode THTMLDocument+ +instance CHTMLElement THTMLElement+ +instance CElement THTMLElement+ +instance CNode THTMLElement+ +instance CHTMLHtmlElement THTMLHtmlElement+ +instance CHTMLElement THTMLHtmlElement+ +instance CElement THTMLHtmlElement+ +instance CNode THTMLHtmlElement+ +instance CHTMLHeadElement THTMLHeadElement+ +instance CHTMLElement THTMLHeadElement+ +instance CElement THTMLHeadElement+ +instance CNode THTMLHeadElement+ +instance CHTMLLinkElement THTMLLinkElement+ +instance CHTMLElement THTMLLinkElement+ +instance CElement THTMLLinkElement+ +instance CNode THTMLLinkElement+ +instance CHTMLTitleElement THTMLTitleElement+ +instance CHTMLElement THTMLTitleElement+ +instance CElement THTMLTitleElement+ +instance CNode THTMLTitleElement+ +instance CHTMLMetaElement THTMLMetaElement+ +instance CHTMLElement THTMLMetaElement+ +instance CElement THTMLMetaElement+ +instance CNode THTMLMetaElement+ +instance CHTMLBaseElement THTMLBaseElement+ +instance CHTMLElement THTMLBaseElement+ +instance CElement THTMLBaseElement+ +instance CNode THTMLBaseElement+ +instance CHTMLIsIndexElement THTMLIsIndexElement+ +instance CHTMLElement THTMLIsIndexElement+ +instance CElement THTMLIsIndexElement+ +instance CNode THTMLIsIndexElement+ +instance CHTMLStyleElement THTMLStyleElement+ +instance CHTMLElement THTMLStyleElement+ +instance CElement THTMLStyleElement+ +instance CNode THTMLStyleElement+ +instance CHTMLBodyElement THTMLBodyElement+ +instance CHTMLElement THTMLBodyElement+ +instance CElement THTMLBodyElement+ +instance CNode THTMLBodyElement+ +instance CHTMLFormElement THTMLFormElement+ +instance CHTMLElement THTMLFormElement+ +instance CElement THTMLFormElement+ +instance CNode THTMLFormElement+ +instance CHTMLSelectElement THTMLSelectElement+ +instance CHTMLElement THTMLSelectElement+ +instance CElement THTMLSelectElement+ +instance CNode THTMLSelectElement+ +instance CHTMLOptGroupElement THTMLOptGroupElement+ +instance CHTMLElement THTMLOptGroupElement+ +instance CElement THTMLOptGroupElement+ +instance CNode THTMLOptGroupElement+ +instance CHTMLOptionElement THTMLOptionElement+ +instance CHTMLElement THTMLOptionElement+ +instance CElement THTMLOptionElement+ +instance CNode THTMLOptionElement+ +instance CHTMLInputElement THTMLInputElement+ +instance CHTMLElement THTMLInputElement+ +instance CElement THTMLInputElement+ +instance CNode THTMLInputElement+ +instance CHTMLTextAreaElement THTMLTextAreaElement+ +instance CHTMLElement THTMLTextAreaElement+ +instance CElement THTMLTextAreaElement+ +instance CNode THTMLTextAreaElement+ +instance CHTMLButtonElement THTMLButtonElement+ +instance CHTMLElement THTMLButtonElement+ +instance CElement THTMLButtonElement+ +instance CNode THTMLButtonElement+ +instance CHTMLLabelElement THTMLLabelElement+ +instance CHTMLElement THTMLLabelElement+ +instance CElement THTMLLabelElement+ +instance CNode THTMLLabelElement+ +instance CHTMLFieldSetElement THTMLFieldSetElement+ +instance CHTMLElement THTMLFieldSetElement+ +instance CElement THTMLFieldSetElement+ +instance CNode THTMLFieldSetElement+ +instance CHTMLLegendElement THTMLLegendElement+ +instance CHTMLElement THTMLLegendElement+ +instance CElement THTMLLegendElement+ +instance CNode THTMLLegendElement+ +instance CHTMLUListElement THTMLUListElement+ +instance CHTMLElement THTMLUListElement+ +instance CElement THTMLUListElement+ +instance CNode THTMLUListElement+ +instance CHTMLOListElement THTMLOListElement+ +instance CHTMLElement THTMLOListElement+ +instance CElement THTMLOListElement+ +instance CNode THTMLOListElement+ +instance CHTMLDListElement THTMLDListElement+ +instance CHTMLElement THTMLDListElement+ +instance CElement THTMLDListElement+ +instance CNode THTMLDListElement+ +instance CHTMLDirectoryElement THTMLDirectoryElement+ +instance CHTMLElement THTMLDirectoryElement+ +instance CElement THTMLDirectoryElement+ +instance CNode THTMLDirectoryElement+ +instance CHTMLMenuElement THTMLMenuElement+ +instance CHTMLElement THTMLMenuElement+ +instance CElement THTMLMenuElement+ +instance CNode THTMLMenuElement+ +instance CHTMLLIElement THTMLLIElement+ +instance CHTMLElement THTMLLIElement+ +instance CElement THTMLLIElement+ +instance CNode THTMLLIElement+ +instance CHTMLDivElement THTMLDivElement+ +instance CHTMLElement THTMLDivElement+ +instance CElement THTMLDivElement+ +instance CNode THTMLDivElement+ +instance CHTMLParagraphElement THTMLParagraphElement+ +instance CHTMLElement THTMLParagraphElement+ +instance CElement THTMLParagraphElement+ +instance CNode THTMLParagraphElement+ +instance CHTMLHeadingElement THTMLHeadingElement+ +instance CHTMLElement THTMLHeadingElement+ +instance CElement THTMLHeadingElement+ +instance CNode THTMLHeadingElement+ +instance CHTMLQuoteElement THTMLQuoteElement+ +instance CHTMLElement THTMLQuoteElement+ +instance CElement THTMLQuoteElement+ +instance CNode THTMLQuoteElement+ +instance CHTMLPreElement THTMLPreElement+ +instance CHTMLElement THTMLPreElement+ +instance CElement THTMLPreElement+ +instance CNode THTMLPreElement+ +instance CHTMLBRElement THTMLBRElement+ +instance CHTMLElement THTMLBRElement+ +instance CElement THTMLBRElement+ +instance CNode THTMLBRElement+ +instance CHTMLBaseFontElement THTMLBaseFontElement+ +instance CHTMLElement THTMLBaseFontElement+ +instance CElement THTMLBaseFontElement+ +instance CNode THTMLBaseFontElement+ +instance CHTMLFontElement THTMLFontElement+ +instance CHTMLElement THTMLFontElement+ +instance CElement THTMLFontElement+ +instance CNode THTMLFontElement+ +instance CHTMLHRElement THTMLHRElement+ +instance CHTMLElement THTMLHRElement+ +instance CElement THTMLHRElement+ +instance CNode THTMLHRElement+ +instance CHTMLModElement THTMLModElement+ +instance CHTMLElement THTMLModElement+ +instance CElement THTMLModElement+ +instance CNode THTMLModElement+ +instance CHTMLAnchorElement THTMLAnchorElement+ +instance CHTMLElement THTMLAnchorElement+ +instance CElement THTMLAnchorElement+ +instance CNode THTMLAnchorElement+ +instance CHTMLImageElement THTMLImageElement+ +instance CHTMLElement THTMLImageElement+ +instance CElement THTMLImageElement+ +instance CNode THTMLImageElement+ +instance CHTMLObjectElement THTMLObjectElement+ +instance CHTMLElement THTMLObjectElement+ +instance CElement THTMLObjectElement+ +instance CNode THTMLObjectElement+ +instance CHTMLParamElement THTMLParamElement+ +instance CHTMLElement THTMLParamElement+ +instance CElement THTMLParamElement+ +instance CNode THTMLParamElement+ +instance CHTMLAppletElement THTMLAppletElement+ +instance CHTMLElement THTMLAppletElement+ +instance CElement THTMLAppletElement+ +instance CNode THTMLAppletElement+ +instance CHTMLMapElement THTMLMapElement+ +instance CHTMLElement THTMLMapElement+ +instance CElement THTMLMapElement+ +instance CNode THTMLMapElement+ +instance CHTMLAreaElement THTMLAreaElement+ +instance CHTMLElement THTMLAreaElement+ +instance CElement THTMLAreaElement+ +instance CNode THTMLAreaElement+ +instance CHTMLScriptElement THTMLScriptElement+ +instance CHTMLElement THTMLScriptElement+ +instance CElement THTMLScriptElement+ +instance CNode THTMLScriptElement+ +instance CHTMLTableElement THTMLTableElement+ +instance CHTMLElement THTMLTableElement+ +instance CElement THTMLTableElement+ +instance CNode THTMLTableElement+ +instance CHTMLTableCaptionElement THTMLTableCaptionElement+ +instance CHTMLElement THTMLTableCaptionElement+ +instance CElement THTMLTableCaptionElement+ +instance CNode THTMLTableCaptionElement+ +instance CHTMLTableColElement THTMLTableColElement+ +instance CHTMLElement THTMLTableColElement+ +instance CElement THTMLTableColElement+ +instance CNode THTMLTableColElement+ +instance CHTMLTableSectionElement THTMLTableSectionElement+ +instance CHTMLElement THTMLTableSectionElement+ +instance CElement THTMLTableSectionElement+ +instance CNode THTMLTableSectionElement+ +instance CHTMLTableRowElement THTMLTableRowElement+ +instance CHTMLElement THTMLTableRowElement+ +instance CElement THTMLTableRowElement+ +instance CNode THTMLTableRowElement+ +instance CHTMLTableCellElement THTMLTableCellElement+ +instance CHTMLElement THTMLTableCellElement+ +instance CElement THTMLTableCellElement+ +instance CNode THTMLTableCellElement+ +instance CHTMLFrameSetElement THTMLFrameSetElement+ +instance CHTMLElement THTMLFrameSetElement+ +instance CElement THTMLFrameSetElement+ +instance CNode THTMLFrameSetElement+ +instance CHTMLFrameElement THTMLFrameElement+ +instance CHTMLElement THTMLFrameElement+ +instance CElement THTMLFrameElement+ +instance CNode THTMLFrameElement+ +instance CHTMLIFrameElement THTMLIFrameElement+ +instance CHTMLElement THTMLIFrameElement+ +instance CElement THTMLIFrameElement+ +instance CNode THTMLIFrameElement+ +instance CHTMLSubElement THTMLSubElement+ +instance CHTMLElement THTMLSubElement+ +instance CElement THTMLSubElement+ +instance CNode THTMLSubElement+ +instance CHTMLSupElement THTMLSupElement+ +instance CHTMLElement THTMLSupElement+ +instance CElement THTMLSupElement+ +instance CNode THTMLSupElement+ +instance CHTMLSpanElement THTMLSpanElement+ +instance CHTMLElement THTMLSpanElement+ +instance CElement THTMLSpanElement+ +instance CNode THTMLSpanElement+ +instance CHTMLBdoElement THTMLBdoElement+ +instance CHTMLElement THTMLBdoElement+ +instance CElement THTMLBdoElement+ +instance CNode THTMLBdoElement+ +instance CHTMLIElement THTMLIElement+ +instance CHTMLElement THTMLIElement+ +instance CElement THTMLIElement+ +instance CNode THTMLIElement+ +instance CHTMLBElement THTMLBElement+ +instance CHTMLElement THTMLBElement+ +instance CElement THTMLBElement+ +instance CNode THTMLBElement+ +instance CHTMLUElement THTMLUElement+ +instance CHTMLElement THTMLUElement+ +instance CElement THTMLUElement+ +instance CNode THTMLUElement+ +instance CHTMLSElement THTMLSElement+ +instance CHTMLElement THTMLSElement+ +instance CElement THTMLSElement+ +instance CNode THTMLSElement+ +instance CHTMLStrikeElement THTMLStrikeElement+ +instance CHTMLElement THTMLStrikeElement+ +instance CElement THTMLStrikeElement+ +instance CNode THTMLStrikeElement+ +instance CHTMLBigElement THTMLBigElement+ +instance CHTMLElement THTMLBigElement+ +instance CElement THTMLBigElement+ +instance CNode THTMLBigElement+ +instance CHTMLSmallElement THTMLSmallElement+ +instance CHTMLElement THTMLSmallElement+ +instance CElement THTMLSmallElement+ +instance CNode THTMLSmallElement+ +instance CHTMLEmElement THTMLEmElement+ +instance CHTMLElement THTMLEmElement+ +instance CElement THTMLEmElement+ +instance CNode THTMLEmElement+ +instance CHTMLStrongElement THTMLStrongElement+ +instance CHTMLElement THTMLStrongElement+ +instance CElement THTMLStrongElement+ +instance CNode THTMLStrongElement+ +instance CHTMLDfnElement THTMLDfnElement+ +instance CHTMLElement THTMLDfnElement+ +instance CElement THTMLDfnElement+ +instance CNode THTMLDfnElement+ +instance CHTMLCodeElement THTMLCodeElement+ +instance CHTMLElement THTMLCodeElement+ +instance CElement THTMLCodeElement+ +instance CNode THTMLCodeElement+ +instance CHTMLSampElement THTMLSampElement+ +instance CHTMLElement THTMLSampElement+ +instance CElement THTMLSampElement+ +instance CNode THTMLSampElement+ +instance CHTMLKbdElement THTMLKbdElement+ +instance CHTMLElement THTMLKbdElement+ +instance CElement THTMLKbdElement+ +instance CNode THTMLKbdElement+ +instance CHTMLVarElement THTMLVarElement+ +instance CHTMLElement THTMLVarElement+ +instance CElement THTMLVarElement+ +instance CNode THTMLVarElement+ +instance CHTMLCiteElement THTMLCiteElement+ +instance CHTMLElement THTMLCiteElement+ +instance CElement THTMLCiteElement+ +instance CNode THTMLCiteElement+ +instance CHTMLAcronymElement THTMLAcronymElement+ +instance CHTMLElement THTMLAcronymElement+ +instance CElement THTMLAcronymElement+ +instance CNode THTMLAcronymElement+ +instance CHTMLAbbrElement THTMLAbbrElement+ +instance CHTMLElement THTMLAbbrElement+ +instance CElement THTMLAbbrElement+ +instance CNode THTMLAbbrElement+ +instance CHTMLDdElement THTMLDdElement+ +instance CHTMLElement THTMLDdElement+ +instance CElement THTMLDdElement+ +instance CNode THTMLDdElement+ +instance CHTMLDtElement THTMLDtElement+ +instance CHTMLElement THTMLDtElement+ +instance CElement THTMLDtElement+ +instance CNode THTMLDtElement+ +instance CHTMLNoframesElement THTMLNoframesElement+ +instance CHTMLElement THTMLNoframesElement+ +instance CElement THTMLNoframesElement+ +instance CNode THTMLNoframesElement+ +instance CHTMLNoscriptElement THTMLNoscriptElement+ +instance CHTMLElement THTMLNoscriptElement+ +instance CElement THTMLNoscriptElement+ +instance CNode THTMLNoscriptElement+ +instance CHTMLAddressElement THTMLAddressElement+ +instance CHTMLElement THTMLAddressElement+ +instance CElement THTMLAddressElement+ +instance CNode THTMLAddressElement+ +instance CHTMLCenterElement THTMLCenterElement+ +instance CHTMLElement THTMLCenterElement+ +instance CElement THTMLCenterElement+ +instance CNode THTMLCenterElement+
+ Data/DOM/KeyEvent.hs view
@@ -0,0 +1,345 @@++module Data.DOM.KeyEvent+       (initKeyEvent, cCHAR_UNDEFINED, cDOM_VK_0, cDOM_VK_1, cDOM_VK_2,+        cDOM_VK_3, cDOM_VK_4, cDOM_VK_5, cDOM_VK_6, cDOM_VK_7, cDOM_VK_8,+        cDOM_VK_9, cDOM_VK_A, cDOM_VK_ACCEPT, cDOM_VK_ADD, cDOM_VK_AGAIN,+        cDOM_VK_ALL_CANDIDATES, cDOM_VK_ALPHANUMERIC, cDOM_VK_ALT,+        cDOM_VK_ALT_GRAPH, cDOM_VK_AMPERSAND, cDOM_VK_ASTERISK, cDOM_VK_AT,+        cDOM_VK_B, cDOM_VK_BACK_QUOTE, cDOM_VK_BACK_SLASH,+        cDOM_VK_BACK_SPACE, cDOM_VK_BRACELEFT, cDOM_VK_BRACERIGHT,+        cDOM_VK_C, cDOM_VK_CANCEL, cDOM_VK_CAPS_LOCK, cDOM_VK_CIRCUMFLEX,+        cDOM_VK_CLEAR, cDOM_VK_CLOSE_BRACKET, cDOM_VK_CODE_INPUT,+        cDOM_VK_COLON, cDOM_VK_COMMA, cDOM_VK_COMPOSE, cDOM_VK_CONTROL,+        cDOM_VK_CONVERT, cDOM_VK_COPY, cDOM_VK_CUT, cDOM_VK_D,+        cDOM_VK_DEAD_ABOVEDOT, cDOM_VK_DEAD_ABOVERING, cDOM_VK_DEAD_ACUTE,+        cDOM_VK_DEAD_BREVE, cDOM_VK_DEAD_CARON, cDOM_VK_DEAD_CEDILLA,+        cDOM_VK_DEAD_CIRCUMFLEX, cDOM_VK_DEAD_DIAERESIS,+        cDOM_VK_DEAD_DOUBLEACUTE, cDOM_VK_DEAD_GRAVE, cDOM_VK_DEAD_IOTA,+        cDOM_VK_DEAD_MACRON, cDOM_VK_DEAD_OGONEK,+        cDOM_VK_DEAD_SEMIVOICED_SOUND, cDOM_VK_DEAD_TILDE,+        cDOM_VK_DEAD_VOICED_SOUND, cDOM_VK_DECIMAL, cDOM_VK_DELETE,+        cDOM_VK_DIVIDE, cDOM_VK_DOLLAR, cDOM_VK_DOWN, cDOM_VK_E,+        cDOM_VK_END, cDOM_VK_ENTER, cDOM_VK_EQUALS, cDOM_VK_ESCAPE,+        cDOM_VK_EURO_SIGN, cDOM_VK_EXCLAMATION_MARK, cDOM_VK_F, cDOM_VK_F1,+        cDOM_VK_F10, cDOM_VK_F11, cDOM_VK_F12, cDOM_VK_F13, cDOM_VK_F14,+        cDOM_VK_F15, cDOM_VK_F16, cDOM_VK_F17, cDOM_VK_F18, cDOM_VK_F19,+        cDOM_VK_F2, cDOM_VK_F20, cDOM_VK_F21, cDOM_VK_F22, cDOM_VK_F23,+        cDOM_VK_F24, cDOM_VK_F3, cDOM_VK_F4, cDOM_VK_F5, cDOM_VK_F6,+        cDOM_VK_F7, cDOM_VK_F8, cDOM_VK_F9, cDOM_VK_FINAL, cDOM_VK_FIND,+        cDOM_VK_FULL_WIDTH, cDOM_VK_G, cDOM_VK_GREATER, cDOM_VK_H,+        cDOM_VK_HALF_WIDTH, cDOM_VK_HELP, cDOM_VK_HIRAGANA, cDOM_VK_HOME,+        cDOM_VK_I, cDOM_VK_INSERT, cDOM_VK_INVERTED_EXCLAMATION_MARK,+        cDOM_VK_J, cDOM_VK_JAPANESE_HIRAGANA, cDOM_VK_JAPANESE_KATAKANA,+        cDOM_VK_JAPANESE_ROMAN, cDOM_VK_K, cDOM_VK_KANA, cDOM_VK_KANJI,+        cDOM_VK_KATAKANA, cDOM_VK_KP_DOWN, cDOM_VK_KP_LEFT,+        cDOM_VK_KP_RIGHT, cDOM_VK_KP_UP, cDOM_VK_L, cDOM_VK_LEFT,+        cDOM_VK_LEFT_PARENTHESIS, cDOM_VK_LESS, cDOM_VK_M, cDOM_VK_META,+        cDOM_VK_MINUS, cDOM_VK_MODECHANGE, cDOM_VK_MULTIPLY, cDOM_VK_N,+        cDOM_VK_NONCONVERT, cDOM_VK_NUM_LOCK, cDOM_VK_NUMBER_SIGN,+        cDOM_VK_NUMPAD0, cDOM_VK_NUMPAD1, cDOM_VK_NUMPAD2, cDOM_VK_NUMPAD3,+        cDOM_VK_NUMPAD4, cDOM_VK_NUMPAD5, cDOM_VK_NUMPAD6, cDOM_VK_NUMPAD7,+        cDOM_VK_NUMPAD8, cDOM_VK_NUMPAD9, cDOM_VK_O, cDOM_VK_OPEN_BRACKET,+        cDOM_VK_P, cDOM_VK_PAGE_DOWN, cDOM_VK_PAGE_UP, cDOM_VK_PASTE,+        cDOM_VK_PAUSE, cDOM_VK_PERIOD, cDOM_VK_PLUS,+        cDOM_VK_PREVIOUS_CANDIDATE, cDOM_VK_PRINTSCREEN, cDOM_VK_PROPS,+        cDOM_VK_Q, cDOM_VK_QUOTE, cDOM_VK_QUOTEDBL, cDOM_VK_R,+        cDOM_VK_RIGHT, cDOM_VK_RIGHT_PARENTHESIS, cDOM_VK_ROMAN_CHARACTERS,+        cDOM_VK_S, cDOM_VK_SCROLL_LOCK, cDOM_VK_SEMICOLON,+        cDOM_VK_SEPARATER, cDOM_VK_SHIFT, cDOM_VK_SLASH, cDOM_VK_SPACE,+        cDOM_VK_STOP, cDOM_VK_SUBTRACT, cDOM_VK_T, cDOM_VK_TAB, cDOM_VK_U,+        cDOM_VK_UNDEFINED, cDOM_VK_UNDERSCORE, cDOM_VK_UNDO, cDOM_VK_UP,+        cDOM_VK_V, cDOM_VK_W, cDOM_VK_X, cDOM_VK_Y, cDOM_VK_Z, get'ctrlKey,+        getm'ctrlKey, get'shiftKey, getm'shiftKey, get'altKey, getm'altKey,+        get'metaKey, getm'metaKey, get'keyCode, getm'keyCode, get'charCode,+        getm'charCode)+       where+import Data.DOM.Events+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +initKeyEvent ::+             (Monad mn, CKeyEvent this, CAbstractView viewArg) =>+               Expression String ->+                 Expression Bool ->+                   Expression Bool ->+                     Expression Bool ->+                       Expression Bool ->+                         Expression Bool ->+                           Expression Bool ->+                             Expression Double ->+                               Expression Double ->+                                 Expression viewArg -> Expression this -> mn (Expression ())+initKeyEvent a b c d e f g h i j thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "initKeyEvent")+       return+         (CallExpr et r+            [a /\ et, b /\ et, c /\ et, d /\ et, e /\ et, f /\ et, g /\ et,+             h /\ et, i /\ et, j /\ et])+cCHAR_UNDEFINED = 65535+cDOM_VK_0 = 48+cDOM_VK_1 = 49+cDOM_VK_2 = 50+cDOM_VK_3 = 51+cDOM_VK_4 = 52+cDOM_VK_5 = 53+cDOM_VK_6 = 54+cDOM_VK_7 = 55+cDOM_VK_8 = 56+cDOM_VK_9 = 57+cDOM_VK_A = 65+cDOM_VK_ACCEPT = 30+cDOM_VK_ADD = 107+cDOM_VK_AGAIN = 65481+cDOM_VK_ALL_CANDIDATES = 256+cDOM_VK_ALPHANUMERIC = 240+cDOM_VK_ALT = 18+cDOM_VK_ALT_GRAPH = 65406+cDOM_VK_AMPERSAND = 150+cDOM_VK_ASTERISK = 151+cDOM_VK_AT = 512+cDOM_VK_B = 66+cDOM_VK_BACK_QUOTE = 192+cDOM_VK_BACK_SLASH = 92+cDOM_VK_BACK_SPACE = 8+cDOM_VK_BRACELEFT = 161+cDOM_VK_BRACERIGHT = 162+cDOM_VK_C = 67+cDOM_VK_CANCEL = 3+cDOM_VK_CAPS_LOCK = 20+cDOM_VK_CIRCUMFLEX = 514+cDOM_VK_CLEAR = 12+cDOM_VK_CLOSE_BRACKET = 93+cDOM_VK_CODE_INPUT = 258+cDOM_VK_COLON = 513+cDOM_VK_COMMA = 44+cDOM_VK_COMPOSE = 65312+cDOM_VK_CONTROL = 17+cDOM_VK_CONVERT = 28+cDOM_VK_COPY = 65485+cDOM_VK_CUT = 65489+cDOM_VK_D = 68+cDOM_VK_DEAD_ABOVEDOT = 134+cDOM_VK_DEAD_ABOVERING = 136+cDOM_VK_DEAD_ACUTE = 129+cDOM_VK_DEAD_BREVE = 133+cDOM_VK_DEAD_CARON = 138+cDOM_VK_DEAD_CEDILLA = 139+cDOM_VK_DEAD_CIRCUMFLEX = 130+cDOM_VK_DEAD_DIAERESIS = 135+cDOM_VK_DEAD_DOUBLEACUTE = 137+cDOM_VK_DEAD_GRAVE = 128+cDOM_VK_DEAD_IOTA = 141+cDOM_VK_DEAD_MACRON = 132+cDOM_VK_DEAD_OGONEK = 140+cDOM_VK_DEAD_SEMIVOICED_SOUND = 143+cDOM_VK_DEAD_TILDE = 131+cDOM_VK_DEAD_VOICED_SOUND = 142+cDOM_VK_DECIMAL = 110+cDOM_VK_DELETE = 127+cDOM_VK_DIVIDE = 111+cDOM_VK_DOLLAR = 515+cDOM_VK_DOWN = 40+cDOM_VK_E = 69+cDOM_VK_END = 35+cDOM_VK_ENTER = 13+cDOM_VK_EQUALS = 61+cDOM_VK_ESCAPE = 27+cDOM_VK_EURO_SIGN = 516+cDOM_VK_EXCLAMATION_MARK = 517+cDOM_VK_F = 70+cDOM_VK_F1 = 112+cDOM_VK_F10 = 121+cDOM_VK_F11 = 122+cDOM_VK_F12 = 123+cDOM_VK_F13 = 61440+cDOM_VK_F14 = 61441+cDOM_VK_F15 = 61442+cDOM_VK_F16 = 61443+cDOM_VK_F17 = 61444+cDOM_VK_F18 = 61445+cDOM_VK_F19 = 61446+cDOM_VK_F2 = 113+cDOM_VK_F20 = 61447+cDOM_VK_F21 = 61448+cDOM_VK_F22 = 61449+cDOM_VK_F23 = 61450+cDOM_VK_F24 = 61451+cDOM_VK_F3 = 114+cDOM_VK_F4 = 115+cDOM_VK_F5 = 116+cDOM_VK_F6 = 117+cDOM_VK_F7 = 118+cDOM_VK_F8 = 119+cDOM_VK_F9 = 120+cDOM_VK_FINAL = 24+cDOM_VK_FIND = 65488+cDOM_VK_FULL_WIDTH = 243+cDOM_VK_G = 71+cDOM_VK_GREATER = 160+cDOM_VK_H = 72+cDOM_VK_HALF_WIDTH = 244+cDOM_VK_HELP = 156+cDOM_VK_HIRAGANA = 242+cDOM_VK_HOME = 36+cDOM_VK_I = 73+cDOM_VK_INSERT = 155+cDOM_VK_INVERTED_EXCLAMATION_MARK = 518+cDOM_VK_J = 74+cDOM_VK_JAPANESE_HIRAGANA = 260+cDOM_VK_JAPANESE_KATAKANA = 259+cDOM_VK_JAPANESE_ROMAN = 261+cDOM_VK_K = 75+cDOM_VK_KANA = 21+cDOM_VK_KANJI = 25+cDOM_VK_KATAKANA = 241+cDOM_VK_KP_DOWN = 225+cDOM_VK_KP_LEFT = 226+cDOM_VK_KP_RIGHT = 227+cDOM_VK_KP_UP = 224+cDOM_VK_L = 76+cDOM_VK_LEFT = 37+cDOM_VK_LEFT_PARENTHESIS = 519+cDOM_VK_LESS = 153+cDOM_VK_M = 77+cDOM_VK_META = 157+cDOM_VK_MINUS = 45+cDOM_VK_MODECHANGE = 31+cDOM_VK_MULTIPLY = 106+cDOM_VK_N = 78+cDOM_VK_NONCONVERT = 29+cDOM_VK_NUM_LOCK = 144+cDOM_VK_NUMBER_SIGN = 520+cDOM_VK_NUMPAD0 = 96+cDOM_VK_NUMPAD1 = 97+cDOM_VK_NUMPAD2 = 98+cDOM_VK_NUMPAD3 = 99+cDOM_VK_NUMPAD4 = 100+cDOM_VK_NUMPAD5 = 101+cDOM_VK_NUMPAD6 = 102+cDOM_VK_NUMPAD7 = 103+cDOM_VK_NUMPAD8 = 104+cDOM_VK_NUMPAD9 = 105+cDOM_VK_O = 79+cDOM_VK_OPEN_BRACKET = 91+cDOM_VK_P = 80+cDOM_VK_PAGE_DOWN = 34+cDOM_VK_PAGE_UP = 33+cDOM_VK_PASTE = 65487+cDOM_VK_PAUSE = 19+cDOM_VK_PERIOD = 46+cDOM_VK_PLUS = 521+cDOM_VK_PREVIOUS_CANDIDATE = 257+cDOM_VK_PRINTSCREEN = 154+cDOM_VK_PROPS = 65482+cDOM_VK_Q = 81+cDOM_VK_QUOTE = 222+cDOM_VK_QUOTEDBL = 152+cDOM_VK_R = 82+cDOM_VK_RIGHT = 39+cDOM_VK_RIGHT_PARENTHESIS = 522+cDOM_VK_ROMAN_CHARACTERS = 245+cDOM_VK_S = 83+cDOM_VK_SCROLL_LOCK = 145+cDOM_VK_SEMICOLON = 59+cDOM_VK_SEPARATER = 108+cDOM_VK_SHIFT = 16+cDOM_VK_SLASH = 47+cDOM_VK_SPACE = 32+cDOM_VK_STOP = 65480+cDOM_VK_SUBTRACT = 109+cDOM_VK_T = 84+cDOM_VK_TAB = 9+cDOM_VK_U = 85+cDOM_VK_UNDEFINED = 0+cDOM_VK_UNDERSCORE = 523+cDOM_VK_UNDO = 65483+cDOM_VK_UP = 38+cDOM_VK_V = 86+cDOM_VK_W = 87+cDOM_VK_X = 88+cDOM_VK_Y = 89+cDOM_VK_Z = 90+ +get'ctrlKey ::+            (Monad mn, CKeyEvent this) =>+              Expression this -> mn (Expression Bool)+get'ctrlKey thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "ctrlKey")+       return r+ +getm'ctrlKey ::+             (Monad mn, CKeyEvent this) =>+               Expression this -> mn (Expression Bool)+getm'ctrlKey = get'ctrlKey+ +get'shiftKey ::+             (Monad mn, CKeyEvent this) =>+               Expression this -> mn (Expression Bool)+get'shiftKey thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "shiftKey")+       return r+ +getm'shiftKey ::+              (Monad mn, CKeyEvent this) =>+                Expression this -> mn (Expression Bool)+getm'shiftKey = get'shiftKey+ +get'altKey ::+           (Monad mn, CKeyEvent this) =>+             Expression this -> mn (Expression Bool)+get'altKey thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "altKey")+       return r+ +getm'altKey ::+            (Monad mn, CKeyEvent this) =>+              Expression this -> mn (Expression Bool)+getm'altKey = get'altKey+ +get'metaKey ::+            (Monad mn, CKeyEvent this) =>+              Expression this -> mn (Expression Bool)+get'metaKey thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "metaKey")+       return r+ +getm'metaKey ::+             (Monad mn, CKeyEvent this) =>+               Expression this -> mn (Expression Bool)+getm'metaKey = get'metaKey+ +get'keyCode ::+            (Monad mn, CKeyEvent this) =>+              Expression this -> mn (Expression Double)+get'keyCode thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "keyCode")+       return r+ +getm'keyCode ::+             (Monad mn, CKeyEvent this) =>+               Expression this -> mn (Expression Double)+getm'keyCode = get'keyCode+ +get'charCode ::+             (Monad mn, CKeyEvent this) =>+               Expression this -> mn (Expression Double)+get'charCode thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "charCode")+       return r+ +getm'charCode ::+              (Monad mn, CKeyEvent this) =>+                Expression this -> mn (Expression Double)+getm'charCode = get'charCode+
+ Data/DOM/KeyboardEvent.hs view
@@ -0,0 +1,123 @@++module Data.DOM.KeyboardEvent+       (getModifierState, initKeyboardEvent, cDOM_KEY_LOCATION_STANDARD,+        cDOM_KEY_LOCATION_LEFT, cDOM_KEY_LOCATION_RIGHT,+        cDOM_KEY_LOCATION_NUMPAD, get'keyIdentifier, getm'keyIdentifier,+        get'keyLocation, getm'keyLocation, get'ctrlKey, getm'ctrlKey,+        get'shiftKey, getm'shiftKey, get'altKey, getm'altKey, get'metaKey,+        getm'metaKey)+       where+import Data.DOM.Events+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +getModifierState ::+                 (Monad mn, CKeyboardEvent this) =>+                   Expression String -> Expression this -> mn (Expression Bool)+getModifierState a thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "getModifierState")+       return (CallExpr et r [a /\ et])+ +initKeyboardEvent ::+                  (Monad mn, CKeyboardEvent this, CAbstractView viewArg) =>+                    Expression String ->+                      Expression Bool ->+                        Expression Bool ->+                          Expression viewArg ->+                            Expression String ->+                              Expression Double ->+                                Expression String -> Expression this -> mn (Expression ())+initKeyboardEvent a b c d e f g thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "initKeyboardEvent")+       return+         (CallExpr et r+            [a /\ et, b /\ et, c /\ et, d /\ et, e /\ et, f /\ et, g /\ et])+cDOM_KEY_LOCATION_STANDARD = 0+cDOM_KEY_LOCATION_LEFT = 1+cDOM_KEY_LOCATION_RIGHT = 2+cDOM_KEY_LOCATION_NUMPAD = 3+ +get'keyIdentifier ::+                  (Monad mn, CKeyboardEvent this) =>+                    Expression this -> mn (Expression String)+get'keyIdentifier thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "keyIdentifier")+       return r+ +getm'keyIdentifier ::+                   (Monad mn, CKeyboardEvent this) =>+                     Expression this -> mn (Expression String)+getm'keyIdentifier = get'keyIdentifier+ +get'keyLocation ::+                (Monad mn, CKeyboardEvent this) =>+                  Expression this -> mn (Expression Double)+get'keyLocation thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "keyLocation")+       return r+ +getm'keyLocation ::+                 (Monad mn, CKeyboardEvent this) =>+                   Expression this -> mn (Expression Double)+getm'keyLocation = get'keyLocation+ +get'ctrlKey ::+            (Monad mn, CKeyboardEvent this) =>+              Expression this -> mn (Expression Bool)+get'ctrlKey thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "ctrlKey")+       return r+ +getm'ctrlKey ::+             (Monad mn, CKeyboardEvent this) =>+               Expression this -> mn (Expression Bool)+getm'ctrlKey = get'ctrlKey+ +get'shiftKey ::+             (Monad mn, CKeyboardEvent this) =>+               Expression this -> mn (Expression Bool)+get'shiftKey thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "shiftKey")+       return r+ +getm'shiftKey ::+              (Monad mn, CKeyboardEvent this) =>+                Expression this -> mn (Expression Bool)+getm'shiftKey = get'shiftKey+ +get'altKey ::+           (Monad mn, CKeyboardEvent this) =>+             Expression this -> mn (Expression Bool)+get'altKey thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "altKey")+       return r+ +getm'altKey ::+            (Monad mn, CKeyboardEvent this) =>+              Expression this -> mn (Expression Bool)+getm'altKey = get'altKey+ +get'metaKey ::+            (Monad mn, CKeyboardEvent this) =>+              Expression this -> mn (Expression Bool)+get'metaKey thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "metaKey")+       return r+ +getm'metaKey ::+             (Monad mn, CKeyboardEvent this) =>+               Expression this -> mn (Expression Bool)+getm'metaKey = get'metaKey+
+ Data/DOM/LinkStyle.hs view
@@ -0,0 +1,22 @@++module Data.DOM.LinkStyle (get'sheet, getm'sheet) where+import Data.DOM.Stylesheets+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'sheet ::+          (Monad mn, CLinkStyle this, CStyleSheet zz) =>+            Expression this -> mn (Expression zz)+get'sheet thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "sheet")+       return r+ +getm'sheet ::+           (Monad mn, CLinkStyle this) =>+             Expression this -> mn (Expression TStyleSheet)+getm'sheet = get'sheet+
+ Data/DOM/Location.hs view
@@ -0,0 +1,192 @@++module Data.DOM.Location+       (assign, replace, reload, toString, set'href, get'href, getm'href,+        set'hash, get'hash, getm'hash, set'host, get'host, getm'host,+        set'hostname, get'hostname, getm'hostname, set'pathname,+        get'pathname, getm'pathname, set'port, get'port, getm'port,+        set'protocol, get'protocol, getm'protocol, set'search, get'search,+        getm'search)+       where+import Data.DOM.WindowObj+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +assign ::+       (Monad mn, CLocation this) =>+         Expression String -> Expression this -> mn (Expression ())+assign a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "assign")+       return (CallExpr et r [a /\ et])+ +replace ::+        (Monad mn, CLocation this) =>+          Expression String -> Expression this -> mn (Expression ())+replace a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "replace")+       return (CallExpr et r [a /\ et])+ +reload ::+       (Monad mn, CLocation this) => Expression this -> mn (Expression ())+reload thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "reload")+       return (CallExpr et r [])+ +toString ::+         (Monad mn, CLocation this) =>+           Expression this -> mn (Expression String)+toString thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "toString")+       return (CallExpr et r [])+ +set'href ::+         (Monad mn, CLocation zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'href = setjsProperty "href"+ +get'href ::+         (Monad mn, CLocation this) =>+           Expression this -> mn (Expression String)+get'href thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "href")+       return r+ +getm'href ::+          (Monad mn, CLocation this) =>+            Expression this -> mn (Expression String)+getm'href = get'href+ +set'hash ::+         (Monad mn, CLocation zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'hash = setjsProperty "hash"+ +get'hash ::+         (Monad mn, CLocation this) =>+           Expression this -> mn (Expression String)+get'hash thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "hash")+       return r+ +getm'hash ::+          (Monad mn, CLocation this) =>+            Expression this -> mn (Expression String)+getm'hash = get'hash+ +set'host ::+         (Monad mn, CLocation zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'host = setjsProperty "host"+ +get'host ::+         (Monad mn, CLocation this) =>+           Expression this -> mn (Expression String)+get'host thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "host")+       return r+ +getm'host ::+          (Monad mn, CLocation this) =>+            Expression this -> mn (Expression String)+getm'host = get'host+ +set'hostname ::+             (Monad mn, CLocation zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'hostname = setjsProperty "hostname"+ +get'hostname ::+             (Monad mn, CLocation this) =>+               Expression this -> mn (Expression String)+get'hostname thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "hostname")+       return r+ +getm'hostname ::+              (Monad mn, CLocation this) =>+                Expression this -> mn (Expression String)+getm'hostname = get'hostname+ +set'pathname ::+             (Monad mn, CLocation zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'pathname = setjsProperty "pathname"+ +get'pathname ::+             (Monad mn, CLocation this) =>+               Expression this -> mn (Expression String)+get'pathname thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "pathname")+       return r+ +getm'pathname ::+              (Monad mn, CLocation this) =>+                Expression this -> mn (Expression String)+getm'pathname = get'pathname+ +set'port ::+         (Monad mn, CLocation zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'port = setjsProperty "port"+ +get'port ::+         (Monad mn, CLocation this) =>+           Expression this -> mn (Expression String)+get'port thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "port")+       return r+ +getm'port ::+          (Monad mn, CLocation this) =>+            Expression this -> mn (Expression String)+getm'port = get'port+ +set'protocol ::+             (Monad mn, CLocation zz) =>+               Expression String -> Expression zz -> mn (Expression zz)+set'protocol = setjsProperty "protocol"+ +get'protocol ::+             (Monad mn, CLocation this) =>+               Expression this -> mn (Expression String)+get'protocol thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "protocol")+       return r+ +getm'protocol ::+              (Monad mn, CLocation this) =>+                Expression this -> mn (Expression String)+getm'protocol = get'protocol+ +set'search ::+           (Monad mn, CLocation zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'search = setjsProperty "search"+ +get'search ::+           (Monad mn, CLocation this) =>+             Expression this -> mn (Expression String)+get'search thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "search")+       return r+ +getm'search ::+            (Monad mn, CLocation this) =>+              Expression this -> mn (Expression String)+getm'search = get'search+
+ Data/DOM/MediaList.hs view
@@ -0,0 +1,67 @@++module Data.DOM.MediaList+       (item, deleteMedium, appendMedium, set'mediaText, get'mediaText,+        getm'mediaText, get'length, getm'length)+       where+import Data.DOM.Stylesheets+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +item ::+     (Monad mn, CMediaList this) =>+       Expression Double -> Expression this -> mn (Expression String)+item a thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "item")+       return (CallExpr et r [a /\ et])+ +deleteMedium ::+             (Monad mn, CMediaList this) =>+               Expression String -> Expression this -> mn (Expression ())+deleteMedium a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "deleteMedium")+       return (CallExpr et r [a /\ et])+ +appendMedium ::+             (Monad mn, CMediaList this) =>+               Expression String -> Expression this -> mn (Expression ())+appendMedium a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "appendMedium")+       return (CallExpr et r [a /\ et])+ +set'mediaText ::+              (Monad mn, CMediaList zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'mediaText = setjsProperty "mediaText"+ +get'mediaText ::+              (Monad mn, CMediaList this) =>+                Expression this -> mn (Expression String)+get'mediaText thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "mediaText")+       return r+ +getm'mediaText ::+               (Monad mn, CMediaList this) =>+                 Expression this -> mn (Expression String)+getm'mediaText = get'mediaText+ +get'length ::+           (Monad mn, CMediaList this) =>+             Expression this -> mn (Expression Double)+get'length thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "length")+       return r+ +getm'length ::+            (Monad mn, CMediaList this) =>+              Expression this -> mn (Expression Double)+getm'length = get'length+
+ Data/DOM/MouseEvent.hs view
@@ -0,0 +1,174 @@++module Data.DOM.MouseEvent+       (initMouseEvent, get'screenX, getm'screenX, get'screenY,+        getm'screenY, get'clientX, getm'clientX, get'clientY, getm'clientY,+        get'ctrlKey, getm'ctrlKey, get'shiftKey, getm'shiftKey, get'altKey,+        getm'altKey, get'metaKey, getm'metaKey, get'button, getm'button,+        get'relatedTarget, getm'relatedTarget)+       where+import Data.DOM.Events+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +initMouseEvent ::+               (Monad mn, CMouseEvent this, CAbstractView viewArg,+                CEventTarget relatedTargetArg) =>+                 Expression String ->+                   Expression Bool ->+                     Expression Bool ->+                       Expression viewArg ->+                         Expression Double ->+                           Expression Double ->+                             Expression Double ->+                               Expression Double ->+                                 Expression Double ->+                                   Expression Bool ->+                                     Expression Bool ->+                                       Expression Bool ->+                                         Expression Bool ->+                                           Expression Double ->+                                             Expression relatedTargetArg ->+                                               Expression this -> mn (Expression ())+initMouseEvent a b c d e f g h i j k l m n o thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "initMouseEvent")+       return+         (CallExpr et r+            [a /\ et, b /\ et, c /\ et, d /\ et, e /\ et, f /\ et, g /\ et,+             h /\ et, i /\ et, j /\ et, k /\ et, l /\ et, m /\ et, n /\ et,+             o /\ et])+ +get'screenX ::+            (Monad mn, CMouseEvent this) =>+              Expression this -> mn (Expression Double)+get'screenX thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "screenX")+       return r+ +getm'screenX ::+             (Monad mn, CMouseEvent this) =>+               Expression this -> mn (Expression Double)+getm'screenX = get'screenX+ +get'screenY ::+            (Monad mn, CMouseEvent this) =>+              Expression this -> mn (Expression Double)+get'screenY thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "screenY")+       return r+ +getm'screenY ::+             (Monad mn, CMouseEvent this) =>+               Expression this -> mn (Expression Double)+getm'screenY = get'screenY+ +get'clientX ::+            (Monad mn, CMouseEvent this) =>+              Expression this -> mn (Expression Double)+get'clientX thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "clientX")+       return r+ +getm'clientX ::+             (Monad mn, CMouseEvent this) =>+               Expression this -> mn (Expression Double)+getm'clientX = get'clientX+ +get'clientY ::+            (Monad mn, CMouseEvent this) =>+              Expression this -> mn (Expression Double)+get'clientY thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "clientY")+       return r+ +getm'clientY ::+             (Monad mn, CMouseEvent this) =>+               Expression this -> mn (Expression Double)+getm'clientY = get'clientY+ +get'ctrlKey ::+            (Monad mn, CMouseEvent this) =>+              Expression this -> mn (Expression Bool)+get'ctrlKey thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "ctrlKey")+       return r+ +getm'ctrlKey ::+             (Monad mn, CMouseEvent this) =>+               Expression this -> mn (Expression Bool)+getm'ctrlKey = get'ctrlKey+ +get'shiftKey ::+             (Monad mn, CMouseEvent this) =>+               Expression this -> mn (Expression Bool)+get'shiftKey thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "shiftKey")+       return r+ +getm'shiftKey ::+              (Monad mn, CMouseEvent this) =>+                Expression this -> mn (Expression Bool)+getm'shiftKey = get'shiftKey+ +get'altKey ::+           (Monad mn, CMouseEvent this) =>+             Expression this -> mn (Expression Bool)+get'altKey thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "altKey")+       return r+ +getm'altKey ::+            (Monad mn, CMouseEvent this) =>+              Expression this -> mn (Expression Bool)+getm'altKey = get'altKey+ +get'metaKey ::+            (Monad mn, CMouseEvent this) =>+              Expression this -> mn (Expression Bool)+get'metaKey thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "metaKey")+       return r+ +getm'metaKey ::+             (Monad mn, CMouseEvent this) =>+               Expression this -> mn (Expression Bool)+getm'metaKey = get'metaKey+ +get'button ::+           (Monad mn, CMouseEvent this) =>+             Expression this -> mn (Expression Double)+get'button thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "button")+       return r+ +getm'button ::+            (Monad mn, CMouseEvent this) =>+              Expression this -> mn (Expression Double)+getm'button = get'button+ +get'relatedTarget ::+                  (Monad mn, CMouseEvent this, CEventTarget zz) =>+                    Expression this -> mn (Expression zz)+get'relatedTarget thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "relatedTarget")+       return r+ +getm'relatedTarget ::+                   (Monad mn, CMouseEvent this) =>+                     Expression this -> mn (Expression TEventTarget)+getm'relatedTarget = get'relatedTarget+
+ Data/DOM/MutationEvent.hs view
@@ -0,0 +1,101 @@++module Data.DOM.MutationEvent+       (initMutationEvent, cMODIFICATION, cADDITION, cREMOVAL,+        get'relatedNode, getm'relatedNode, get'prevValue, getm'prevValue,+        get'newValue, getm'newValue, get'attrName, getm'attrName,+        get'attrChange, getm'attrChange)+       where+import Data.DOM.Events+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +initMutationEvent ::+                  (Monad mn, CMutationEvent this, CNode relatedNodeArg) =>+                    Expression String ->+                      Expression Bool ->+                        Expression Bool ->+                          Expression relatedNodeArg ->+                            Expression String ->+                              Expression String ->+                                Expression String ->+                                  Expression Double -> Expression this -> mn (Expression ())+initMutationEvent a b c d e f g h thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "initMutationEvent")+       return+         (CallExpr et r+            [a /\ et, b /\ et, c /\ et, d /\ et, e /\ et, f /\ et, g /\ et,+             h /\ et])+cMODIFICATION = 1+cADDITION = 2+cREMOVAL = 3+ +get'relatedNode ::+                (Monad mn, CMutationEvent this, CNode zz) =>+                  Expression this -> mn (Expression zz)+get'relatedNode thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "relatedNode")+       return r+ +getm'relatedNode ::+                 (Monad mn, CMutationEvent this) =>+                   Expression this -> mn (Expression TNode)+getm'relatedNode = get'relatedNode+ +get'prevValue ::+              (Monad mn, CMutationEvent this) =>+                Expression this -> mn (Expression String)+get'prevValue thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "prevValue")+       return r+ +getm'prevValue ::+               (Monad mn, CMutationEvent this) =>+                 Expression this -> mn (Expression String)+getm'prevValue = get'prevValue+ +get'newValue ::+             (Monad mn, CMutationEvent this) =>+               Expression this -> mn (Expression String)+get'newValue thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "newValue")+       return r+ +getm'newValue ::+              (Monad mn, CMutationEvent this) =>+                Expression this -> mn (Expression String)+getm'newValue = get'newValue+ +get'attrName ::+             (Monad mn, CMutationEvent this) =>+               Expression this -> mn (Expression String)+get'attrName thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "attrName")+       return r+ +getm'attrName ::+              (Monad mn, CMutationEvent this) =>+                Expression this -> mn (Expression String)+getm'attrName = get'attrName+ +get'attrChange ::+               (Monad mn, CMutationEvent this) =>+                 Expression this -> mn (Expression Double)+get'attrChange thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "attrChange")+       return r+ +getm'attrChange ::+                (Monad mn, CMutationEvent this) =>+                  Expression this -> mn (Expression Double)+getm'attrChange = get'attrChange+
+ Data/DOM/NamedNodeMap.hs view
@@ -0,0 +1,82 @@++module Data.DOM.NamedNodeMap+       (getNamedItem, setNamedItem, removeNamedItem, item, getNamedItemNS,+        setNamedItemNS, removeNamedItemNS, get'length, getm'length)+       where+import Data.DOM.Dom+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Document (createElement)+ +getNamedItem ::+             (Monad mn, CNamedNodeMap this, CNode zz) =>+               Expression String -> Expression this -> mn (Expression zz)+getNamedItem a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "getNamedItem")+       return (CallExpr et r [a /\ et])+ +setNamedItem ::+             (Monad mn, CNamedNodeMap this, CNode arg, CNode zz) =>+               Expression arg -> Expression this -> mn (Expression zz)+setNamedItem a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "setNamedItem")+       return (CallExpr et r [a /\ et])+ +removeNamedItem ::+                (Monad mn, CNamedNodeMap this, CNode zz) =>+                  Expression String -> Expression this -> mn (Expression zz)+removeNamedItem a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "removeNamedItem")+       return (CallExpr et r [a /\ et])+ +item ::+     (Monad mn, CNamedNodeMap this, CNode zz) =>+       Expression Double -> Expression this -> mn (Expression zz)+item a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "item")+       return (CallExpr et r [a /\ et])+ +getNamedItemNS ::+               (Monad mn, CNamedNodeMap this, CNode zz) =>+                 Expression String ->+                   Expression String -> Expression this -> mn (Expression zz)+getNamedItemNS a b thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "getNamedItemNS")+       return (CallExpr et r [a /\ et, b /\ et])+ +setNamedItemNS ::+               (Monad mn, CNamedNodeMap this, CNode arg, CNode zz) =>+                 Expression arg -> Expression this -> mn (Expression zz)+setNamedItemNS a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "setNamedItemNS")+       return (CallExpr et r [a /\ et])+ +removeNamedItemNS ::+                  (Monad mn, CNamedNodeMap this, CNode zz) =>+                    Expression String ->+                      Expression String -> Expression this -> mn (Expression zz)+removeNamedItemNS a b thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "removeNamedItemNS")+       return (CallExpr et r [a /\ et, b /\ et])+ +get'length ::+           (Monad mn, CNamedNodeMap this) =>+             Expression this -> mn (Expression Double)+get'length thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "length")+       return r+ +getm'length ::+            (Monad mn, CNamedNodeMap this) =>+              Expression this -> mn (Expression Double)+getm'length = get'length+
+ Data/DOM/Node.hs view
@@ -0,0 +1,282 @@++module Data.DOM.Node+       (insertBefore, replaceChild, removeChild, appendChild,+        hasChildNodes, cloneNode, normalize, isSupported, hasAttributes,+        cELEMENT_NODE, cATTRIBUTE_NODE, cTEXT_NODE, cCDATA_SECTION_NODE,+        cENTITY_REFERENCE_NODE, cENTITY_NODE, cPROCESSING_INSTRUCTION_NODE,+        cCOMMENT_NODE, cDOCUMENT_NODE, cDOCUMENT_TYPE_NODE,+        cDOCUMENT_FRAGMENT_NODE, cNOTATION_NODE, get'nodeName,+        getm'nodeName, set'nodeValue, get'nodeValue, getm'nodeValue,+        get'nodeType, getm'nodeType, get'parentNode, getm'parentNode,+        get'childNodes, getm'childNodes, get'firstChild, getm'firstChild,+        get'lastChild, getm'lastChild, get'previousSibling,+        getm'previousSibling, get'nextSibling, getm'nextSibling,+        get'attributes, getm'attributes, get'ownerDocument,+        getm'ownerDocument, get'namespaceURI, getm'namespaceURI,+        set'prefix, get'prefix, getm'prefix, get'localName, getm'localName)+       where+import Data.DOM.Dom+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Document (createElement)+ +insertBefore ::+             (Monad mn, CNode this, CNode newChild, CNode refChild, CNode zz) =>+               Expression newChild ->+                 Expression refChild -> Expression this -> mn (Expression zz)+insertBefore a b thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "insertBefore")+       return (CallExpr et r [a /\ et, b /\ et])+ +replaceChild ::+             (Monad mn, CNode this, CNode newChild, CNode oldChild, CNode zz) =>+               Expression newChild ->+                 Expression oldChild -> Expression this -> mn (Expression zz)+replaceChild a b thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "replaceChild")+       return (CallExpr et r [a /\ et, b /\ et])+ +removeChild ::+            (Monad mn, CNode this, CNode oldChild, CNode zz) =>+              Expression oldChild -> Expression this -> mn (Expression zz)+removeChild a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "removeChild")+       return (CallExpr et r [a /\ et])+ +appendChild ::+            (Monad mn, CNode this, CNode newChild, CNode zz) =>+              Expression newChild -> Expression this -> mn (Expression zz)+appendChild a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "appendChild")+       return (CallExpr et r [a /\ et])+ +hasChildNodes ::+              (Monad mn, CNode this) => Expression this -> mn (Expression Bool)+hasChildNodes thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "hasChildNodes")+       return (CallExpr et r [])+ +cloneNode ::+          (Monad mn, CNode this, CNode zz) =>+            Expression Bool -> Expression this -> mn (Expression zz)+cloneNode a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "cloneNode")+       return (CallExpr et r [a /\ et])+ +normalize ::+          (Monad mn, CNode this) => Expression this -> mn (Expression ())+normalize thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "normalize")+       return (CallExpr et r [])+ +isSupported ::+            (Monad mn, CNode this) =>+              Expression String ->+                Expression String -> Expression this -> mn (Expression Bool)+isSupported a b thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "isSupported")+       return (CallExpr et r [a /\ et, b /\ et])+ +hasAttributes ::+              (Monad mn, CNode this) => Expression this -> mn (Expression Bool)+hasAttributes thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "hasAttributes")+       return (CallExpr et r [])+cELEMENT_NODE = 1+cATTRIBUTE_NODE = 2+cTEXT_NODE = 3+cCDATA_SECTION_NODE = 4+cENTITY_REFERENCE_NODE = 5+cENTITY_NODE = 6+cPROCESSING_INSTRUCTION_NODE = 7+cCOMMENT_NODE = 8+cDOCUMENT_NODE = 9+cDOCUMENT_TYPE_NODE = 10+cDOCUMENT_FRAGMENT_NODE = 11+cNOTATION_NODE = 12+ +get'nodeName ::+             (Monad mn, CNode this) => Expression this -> mn (Expression String)+get'nodeName thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "nodeName")+       return r+ +getm'nodeName ::+              (Monad mn, CNode this) => Expression this -> mn (Expression String)+getm'nodeName = get'nodeName+ +set'nodeValue ::+              (Monad mn, CNode zz) =>+                Expression String -> Expression zz -> mn (Expression zz)+set'nodeValue = setjsProperty "nodeValue"+ +get'nodeValue ::+              (Monad mn, CNode this) => Expression this -> mn (Expression String)+get'nodeValue thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "nodeValue")+       return r+ +getm'nodeValue ::+               (Monad mn, CNode this) => Expression this -> mn (Expression String)+getm'nodeValue = get'nodeValue+ +get'nodeType ::+             (Monad mn, CNode this) => Expression this -> mn (Expression Double)+get'nodeType thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "nodeType")+       return r+ +getm'nodeType ::+              (Monad mn, CNode this) => Expression this -> mn (Expression Double)+getm'nodeType = get'nodeType+ +get'parentNode ::+               (Monad mn, CNode this, CNode zz) =>+                 Expression this -> mn (Expression zz)+get'parentNode thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "parentNode")+       return r+ +getm'parentNode ::+                (Monad mn, CNode this) => Expression this -> mn (Expression TNode)+getm'parentNode = get'parentNode+ +get'childNodes ::+               (Monad mn, CNode this, CNodeList zz) =>+                 Expression this -> mn (Expression zz)+get'childNodes thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "childNodes")+       return r+ +getm'childNodes ::+                (Monad mn, CNode this) =>+                  Expression this -> mn (Expression TNodeList)+getm'childNodes = get'childNodes+ +get'firstChild ::+               (Monad mn, CNode this, CNode zz) =>+                 Expression this -> mn (Expression zz)+get'firstChild thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "firstChild")+       return r+ +getm'firstChild ::+                (Monad mn, CNode this) => Expression this -> mn (Expression TNode)+getm'firstChild = get'firstChild+ +get'lastChild ::+              (Monad mn, CNode this, CNode zz) =>+                Expression this -> mn (Expression zz)+get'lastChild thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "lastChild")+       return r+ +getm'lastChild ::+               (Monad mn, CNode this) => Expression this -> mn (Expression TNode)+getm'lastChild = get'lastChild+ +get'previousSibling ::+                    (Monad mn, CNode this, CNode zz) =>+                      Expression this -> mn (Expression zz)+get'previousSibling thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "previousSibling")+       return r+ +getm'previousSibling ::+                     (Monad mn, CNode this) => Expression this -> mn (Expression TNode)+getm'previousSibling = get'previousSibling+ +get'nextSibling ::+                (Monad mn, CNode this, CNode zz) =>+                  Expression this -> mn (Expression zz)+get'nextSibling thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "nextSibling")+       return r+ +getm'nextSibling ::+                 (Monad mn, CNode this) => Expression this -> mn (Expression TNode)+getm'nextSibling = get'nextSibling+ +get'attributes ::+               (Monad mn, CNode this, CNamedNodeMap zz) =>+                 Expression this -> mn (Expression zz)+get'attributes thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "attributes")+       return r+ +getm'attributes ::+                (Monad mn, CNode this) =>+                  Expression this -> mn (Expression TNamedNodeMap)+getm'attributes = get'attributes+ +get'ownerDocument ::+                  (Monad mn, CNode this, CDocument zz) =>+                    Expression this -> mn (Expression zz)+get'ownerDocument thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "ownerDocument")+       return r+ +getm'ownerDocument ::+                   (Monad mn, CNode this) =>+                     Expression this -> mn (Expression TDocument)+getm'ownerDocument = get'ownerDocument+ +get'namespaceURI ::+                 (Monad mn, CNode this) => Expression this -> mn (Expression String)+get'namespaceURI thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "namespaceURI")+       return r+ +getm'namespaceURI ::+                  (Monad mn, CNode this) => Expression this -> mn (Expression String)+getm'namespaceURI = get'namespaceURI+ +set'prefix ::+           (Monad mn, CNode zz) =>+             Expression String -> Expression zz -> mn (Expression zz)+set'prefix = setjsProperty "prefix"+ +get'prefix ::+           (Monad mn, CNode this) => Expression this -> mn (Expression String)+get'prefix thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "prefix")+       return r+ +getm'prefix ::+            (Monad mn, CNode this) => Expression this -> mn (Expression String)+getm'prefix = get'prefix+ +get'localName ::+              (Monad mn, CNode this) => Expression this -> mn (Expression String)+get'localName thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "localName")+       return r+ +getm'localName ::+               (Monad mn, CNode this) => Expression this -> mn (Expression String)+getm'localName = get'localName+
+ Data/DOM/NodeFilter.hs view
@@ -0,0 +1,39 @@++module Data.DOM.NodeFilter+       (acceptNode, cFILTER_ACCEPT, cFILTER_REJECT, cFILTER_SKIP,+        cSHOW_ALL, cSHOW_ELEMENT, cSHOW_ATTRIBUTE, cSHOW_TEXT,+        cSHOW_CDATA_SECTION, cSHOW_ENTITY_REFERENCE, cSHOW_ENTITY,+        cSHOW_PROCESSING_INSTRUCTION, cSHOW_COMMENT, cSHOW_DOCUMENT,+        cSHOW_DOCUMENT_TYPE, cSHOW_DOCUMENT_FRAGMENT, cSHOW_NOTATION)+       where+import Data.DOM.Traversal+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +acceptNode ::+           (Monad mn, CNodeFilter this, CNode n) =>+             Expression n -> Expression this -> mn (Expression Double)+acceptNode a thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "acceptNode")+       return (CallExpr et r [a /\ et])+cFILTER_ACCEPT = 1+cFILTER_REJECT = 2+cFILTER_SKIP = 3+cSHOW_ALL = 4294967295+cSHOW_ELEMENT = 1+cSHOW_ATTRIBUTE = 2+cSHOW_TEXT = 4+cSHOW_CDATA_SECTION = 8+cSHOW_ENTITY_REFERENCE = 16+cSHOW_ENTITY = 32+cSHOW_PROCESSING_INSTRUCTION = 64+cSHOW_COMMENT = 128+cSHOW_DOCUMENT = 256+cSHOW_DOCUMENT_TYPE = 512+cSHOW_DOCUMENT_FRAGMENT = 1024+cSHOW_NOTATION = 2048+
+ Data/DOM/NodeIterator.hs view
@@ -0,0 +1,89 @@++module Data.DOM.NodeIterator+       (nextNode, previousNode, detach, get'root, getm'root,+        get'whatToShow, getm'whatToShow, get'filter, getm'filter,+        get'expandEntityReferences, getm'expandEntityReferences)+       where+import Data.DOM.Traversal+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +nextNode ::+         (Monad mn, CNodeIterator this, CNode zz) =>+           Expression this -> mn (Expression zz)+nextNode thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "nextNode")+       return (CallExpr et r [])+ +previousNode ::+             (Monad mn, CNodeIterator this, CNode zz) =>+               Expression this -> mn (Expression zz)+previousNode thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "previousNode")+       return (CallExpr et r [])+ +detach ::+       (Monad mn, CNodeIterator this) =>+         Expression this -> mn (Expression ())+detach thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "detach")+       return (CallExpr et r [])+ +get'root ::+         (Monad mn, CNodeIterator this, CNode zz) =>+           Expression this -> mn (Expression zz)+get'root thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "root")+       return r+ +getm'root ::+          (Monad mn, CNodeIterator this) =>+            Expression this -> mn (Expression TNode)+getm'root = get'root+ +get'whatToShow ::+               (Monad mn, CNodeIterator this) =>+                 Expression this -> mn (Expression Double)+get'whatToShow thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "whatToShow")+       return r+ +getm'whatToShow ::+                (Monad mn, CNodeIterator this) =>+                  Expression this -> mn (Expression Double)+getm'whatToShow = get'whatToShow+ +get'filter ::+           (Monad mn, CNodeIterator this, CNodeFilter zz) =>+             Expression this -> mn (Expression zz)+get'filter thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "filter")+       return r+ +getm'filter ::+            (Monad mn, CNodeIterator this) =>+              Expression this -> mn (Expression TNodeFilter)+getm'filter = get'filter+ +get'expandEntityReferences ::+                           (Monad mn, CNodeIterator this) =>+                             Expression this -> mn (Expression Bool)+get'expandEntityReferences thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "expandEntityReferences")+       return r+ +getm'expandEntityReferences ::+                            (Monad mn, CNodeIterator this) =>+                              Expression this -> mn (Expression Bool)+getm'expandEntityReferences = get'expandEntityReferences+
+ Data/DOM/NodeList.hs view
@@ -0,0 +1,29 @@++module Data.DOM.NodeList (item, get'length, getm'length) where+import Data.DOM.Dom+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Document (createElement)+ +item ::+     (Monad mn, CNodeList this, CNode zz) =>+       Expression Double -> Expression this -> mn (Expression zz)+item a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "item")+       return (CallExpr et r [a /\ et])+ +get'length ::+           (Monad mn, CNodeList this) =>+             Expression this -> mn (Expression Double)+get'length thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "length")+       return r+ +getm'length ::+            (Monad mn, CNodeList this) =>+              Expression this -> mn (Expression Double)+getm'length = get'length+
+ Data/DOM/Notation.hs view
@@ -0,0 +1,35 @@++module Data.DOM.Notation+       (get'publicId, getm'publicId, get'systemId, getm'systemId) where+import Data.DOM.Dom+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Document (createElement)+ +get'publicId ::+             (Monad mn, CNotation this) =>+               Expression this -> mn (Expression String)+get'publicId thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "publicId")+       return r+ +getm'publicId ::+              (Monad mn, CNotation this) =>+                Expression this -> mn (Expression String)+getm'publicId = get'publicId+ +get'systemId ::+             (Monad mn, CNotation this) =>+               Expression this -> mn (Expression String)+get'systemId thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "systemId")+       return r+ +getm'systemId ::+              (Monad mn, CNotation this) =>+                Expression this -> mn (Expression String)+getm'systemId = get'systemId+
+ Data/DOM/ProcessingInstruction.hs view
@@ -0,0 +1,40 @@++module Data.DOM.ProcessingInstruction+       (get'target, getm'target, set'data, get'data, getm'data) where+import Data.DOM.Dom+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Document (createElement)+ +get'target ::+           (Monad mn, CProcessingInstruction this) =>+             Expression this -> mn (Expression String)+get'target thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "target")+       return r+ +getm'target ::+            (Monad mn, CProcessingInstruction this) =>+              Expression this -> mn (Expression String)+getm'target = get'target+ +set'data ::+         (Monad mn, CProcessingInstruction zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'data = setjsProperty "data"+ +get'data ::+         (Monad mn, CProcessingInstruction this) =>+           Expression this -> mn (Expression String)+get'data thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "data")+       return r+ +getm'data ::+          (Monad mn, CProcessingInstruction this) =>+            Expression this -> mn (Expression String)+getm'data = get'data+
+ Data/DOM/RGBColor.hs view
@@ -0,0 +1,52 @@++module Data.DOM.RGBColor+       (get'red, getm'red, get'green, getm'green, get'blue, getm'blue)+       where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'red ::+        (Monad mn, CRGBColor this, CCSSPrimitiveValue zz) =>+          Expression this -> mn (Expression zz)+get'red thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "red")+       return r+ +getm'red ::+         (Monad mn, CRGBColor this) =>+           Expression this -> mn (Expression TCSSPrimitiveValue)+getm'red = get'red+ +get'green ::+          (Monad mn, CRGBColor this, CCSSPrimitiveValue zz) =>+            Expression this -> mn (Expression zz)+get'green thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "green")+       return r+ +getm'green ::+           (Monad mn, CRGBColor this) =>+             Expression this -> mn (Expression TCSSPrimitiveValue)+getm'green = get'green+ +get'blue ::+         (Monad mn, CRGBColor this, CCSSPrimitiveValue zz) =>+           Expression this -> mn (Expression zz)+get'blue thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "blue")+       return r+ +getm'blue ::+          (Monad mn, CRGBColor this) =>+            Expression this -> mn (Expression TCSSPrimitiveValue)+getm'blue = get'blue+
+ Data/DOM/Range.hs view
@@ -0,0 +1,241 @@++module Data.DOM.Range+       (setStart, setEnd, setStartBefore, setStartAfter, setEndBefore,+        setEndAfter, collapse, selectNode, selectNodeContents,+        compareBoundaryPoints, deleteContents, extractContents,+        cloneContents, insertNode, surroundContents, cloneRange, toString,+        detach, cSTART_TO_START, cSTART_TO_END, cEND_TO_END, cEND_TO_START,+        get'startContainer, getm'startContainer, get'startOffset,+        getm'startOffset, get'endContainer, getm'endContainer,+        get'endOffset, getm'endOffset, get'collapsed, getm'collapsed,+        get'commonAncestorContainer, getm'commonAncestorContainer)+       where+import Data.DOM.Ranges+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +setStart ::+         (Monad mn, CRange this, CNode refNode) =>+           Expression refNode ->+             Expression Double -> Expression this -> mn (Expression ())+setStart a b thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "setStart")+       return (CallExpr et r [a /\ et, b /\ et])+ +setEnd ::+       (Monad mn, CRange this, CNode refNode) =>+         Expression refNode ->+           Expression Double -> Expression this -> mn (Expression ())+setEnd a b thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "setEnd")+       return (CallExpr et r [a /\ et, b /\ et])+ +setStartBefore ::+               (Monad mn, CRange this, CNode refNode) =>+                 Expression refNode -> Expression this -> mn (Expression ())+setStartBefore a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "setStartBefore")+       return (CallExpr et r [a /\ et])+ +setStartAfter ::+              (Monad mn, CRange this, CNode refNode) =>+                Expression refNode -> Expression this -> mn (Expression ())+setStartAfter a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "setStartAfter")+       return (CallExpr et r [a /\ et])+ +setEndBefore ::+             (Monad mn, CRange this, CNode refNode) =>+               Expression refNode -> Expression this -> mn (Expression ())+setEndBefore a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "setEndBefore")+       return (CallExpr et r [a /\ et])+ +setEndAfter ::+            (Monad mn, CRange this, CNode refNode) =>+              Expression refNode -> Expression this -> mn (Expression ())+setEndAfter a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "setEndAfter")+       return (CallExpr et r [a /\ et])+ +collapse ::+         (Monad mn, CRange this) =>+           Expression Bool -> Expression this -> mn (Expression ())+collapse a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "collapse")+       return (CallExpr et r [a /\ et])+ +selectNode ::+           (Monad mn, CRange this, CNode refNode) =>+             Expression refNode -> Expression this -> mn (Expression ())+selectNode a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "selectNode")+       return (CallExpr et r [a /\ et])+ +selectNodeContents ::+                   (Monad mn, CRange this, CNode refNode) =>+                     Expression refNode -> Expression this -> mn (Expression ())+selectNodeContents a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "selectNodeContents")+       return (CallExpr et r [a /\ et])+ +compareBoundaryPoints ::+                      (Monad mn, CRange this, CRange sourceRange) =>+                        Expression Double ->+                          Expression sourceRange -> Expression this -> mn (Expression Double)+compareBoundaryPoints a b thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "compareBoundaryPoints")+       return (CallExpr et r [a /\ et, b /\ et])+ +deleteContents ::+               (Monad mn, CRange this) => Expression this -> mn (Expression ())+deleteContents thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "deleteContents")+       return (CallExpr et r [])+ +extractContents ::+                (Monad mn, CRange this, CDocumentFragment zz) =>+                  Expression this -> mn (Expression zz)+extractContents thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "extractContents")+       return (CallExpr et r [])+ +cloneContents ::+              (Monad mn, CRange this, CDocumentFragment zz) =>+                Expression this -> mn (Expression zz)+cloneContents thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "cloneContents")+       return (CallExpr et r [])+ +insertNode ::+           (Monad mn, CRange this, CNode newNode) =>+             Expression newNode -> Expression this -> mn (Expression ())+insertNode a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "insertNode")+       return (CallExpr et r [a /\ et])+ +surroundContents ::+                 (Monad mn, CRange this, CNode newParent) =>+                   Expression newParent -> Expression this -> mn (Expression ())+surroundContents a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "surroundContents")+       return (CallExpr et r [a /\ et])+ +cloneRange ::+           (Monad mn, CRange this, CRange zz) =>+             Expression this -> mn (Expression zz)+cloneRange thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "cloneRange")+       return (CallExpr et r [])+ +toString ::+         (Monad mn, CRange this) =>+           Expression this -> mn (Expression String)+toString thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "toString")+       return (CallExpr et r [])+ +detach ::+       (Monad mn, CRange this) => Expression this -> mn (Expression ())+detach thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "detach")+       return (CallExpr et r [])+cSTART_TO_START = 0+cSTART_TO_END = 1+cEND_TO_END = 2+cEND_TO_START = 3+ +get'startContainer ::+                   (Monad mn, CRange this, CNode zz) =>+                     Expression this -> mn (Expression zz)+get'startContainer thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "startContainer")+       return r+ +getm'startContainer ::+                    (Monad mn, CRange this) => Expression this -> mn (Expression TNode)+getm'startContainer = get'startContainer+ +get'startOffset ::+                (Monad mn, CRange this) =>+                  Expression this -> mn (Expression Double)+get'startOffset thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "startOffset")+       return r+ +getm'startOffset ::+                 (Monad mn, CRange this) =>+                   Expression this -> mn (Expression Double)+getm'startOffset = get'startOffset+ +get'endContainer ::+                 (Monad mn, CRange this, CNode zz) =>+                   Expression this -> mn (Expression zz)+get'endContainer thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "endContainer")+       return r+ +getm'endContainer ::+                  (Monad mn, CRange this) => Expression this -> mn (Expression TNode)+getm'endContainer = get'endContainer+ +get'endOffset ::+              (Monad mn, CRange this) =>+                Expression this -> mn (Expression Double)+get'endOffset thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "endOffset")+       return r+ +getm'endOffset ::+               (Monad mn, CRange this) =>+                 Expression this -> mn (Expression Double)+getm'endOffset = get'endOffset+ +get'collapsed ::+              (Monad mn, CRange this) => Expression this -> mn (Expression Bool)+get'collapsed thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "collapsed")+       return r+ +getm'collapsed ::+               (Monad mn, CRange this) => Expression this -> mn (Expression Bool)+getm'collapsed = get'collapsed+ +get'commonAncestorContainer ::+                            (Monad mn, CRange this, CNode zz) =>+                              Expression this -> mn (Expression zz)+get'commonAncestorContainer thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "commonAncestorContainer")+       return r+ +getm'commonAncestorContainer ::+                             (Monad mn, CRange this) => Expression this -> mn (Expression TNode)+getm'commonAncestorContainer = get'commonAncestorContainer+
+ Data/DOM/Ranges.hs view
@@ -0,0 +1,20 @@++module Data.DOM.Ranges+       (TRange(..), TDocumentRange(..), CRange, CDocumentRange) where+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+ +data TRange = TRange+ +data TDocumentRange = TDocumentRange+ +class CRange a+ +class CDocumentRange a+ +instance CRange TRange+ +instance CDocumentRange TDocumentRange+
+ Data/DOM/Rect.hs view
@@ -0,0 +1,66 @@++module Data.DOM.Rect+       (get'top, getm'top, get'right, getm'right, get'bottom, getm'bottom,+        get'left, getm'left)+       where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'top ::+        (Monad mn, CRect this, CCSSPrimitiveValue zz) =>+          Expression this -> mn (Expression zz)+get'top thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "top")+       return r+ +getm'top ::+         (Monad mn, CRect this) =>+           Expression this -> mn (Expression TCSSPrimitiveValue)+getm'top = get'top+ +get'right ::+          (Monad mn, CRect this, CCSSPrimitiveValue zz) =>+            Expression this -> mn (Expression zz)+get'right thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "right")+       return r+ +getm'right ::+           (Monad mn, CRect this) =>+             Expression this -> mn (Expression TCSSPrimitiveValue)+getm'right = get'right+ +get'bottom ::+           (Monad mn, CRect this, CCSSPrimitiveValue zz) =>+             Expression this -> mn (Expression zz)+get'bottom thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "bottom")+       return r+ +getm'bottom ::+            (Monad mn, CRect this) =>+              Expression this -> mn (Expression TCSSPrimitiveValue)+getm'bottom = get'bottom+ +get'left ::+         (Monad mn, CRect this, CCSSPrimitiveValue zz) =>+           Expression this -> mn (Expression zz)+get'left thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "left")+       return r+ +getm'left ::+          (Monad mn, CRect this) =>+            Expression this -> mn (Expression TCSSPrimitiveValue)+getm'left = get'left+
+ Data/DOM/StyleSheet.hs view
@@ -0,0 +1,110 @@++module Data.DOM.StyleSheet+       (get'type, getm'type, set'disabled, get'disabled, getm'disabled,+        get'ownerNode, getm'ownerNode, get'parentStyleSheet,+        getm'parentStyleSheet, get'href, getm'href, get'title, getm'title,+        get'media, getm'media)+       where+import Data.DOM.Stylesheets+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +get'type ::+         (Monad mn, CStyleSheet this) =>+           Expression this -> mn (Expression String)+get'type thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "type")+       return r+ +getm'type ::+          (Monad mn, CStyleSheet this) =>+            Expression this -> mn (Expression String)+getm'type = get'type+ +set'disabled ::+             (Monad mn, CStyleSheet zz) =>+               Expression Bool -> Expression zz -> mn (Expression zz)+set'disabled = setjsProperty "disabled"+ +get'disabled ::+             (Monad mn, CStyleSheet this) =>+               Expression this -> mn (Expression Bool)+get'disabled thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "disabled")+       return r+ +getm'disabled ::+              (Monad mn, CStyleSheet this) =>+                Expression this -> mn (Expression Bool)+getm'disabled = get'disabled+ +get'ownerNode ::+              (Monad mn, CStyleSheet this, CNode zz) =>+                Expression this -> mn (Expression zz)+get'ownerNode thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "ownerNode")+       return r+ +getm'ownerNode ::+               (Monad mn, CStyleSheet this) =>+                 Expression this -> mn (Expression TNode)+getm'ownerNode = get'ownerNode+ +get'parentStyleSheet ::+                     (Monad mn, CStyleSheet this, CStyleSheet zz) =>+                       Expression this -> mn (Expression zz)+get'parentStyleSheet thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "parentStyleSheet")+       return r+ +getm'parentStyleSheet ::+                      (Monad mn, CStyleSheet this) =>+                        Expression this -> mn (Expression TStyleSheet)+getm'parentStyleSheet = get'parentStyleSheet+ +get'href ::+         (Monad mn, CStyleSheet this) =>+           Expression this -> mn (Expression String)+get'href thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "href")+       return r+ +getm'href ::+          (Monad mn, CStyleSheet this) =>+            Expression this -> mn (Expression String)+getm'href = get'href+ +get'title ::+          (Monad mn, CStyleSheet this) =>+            Expression this -> mn (Expression String)+get'title thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "title")+       return r+ +getm'title ::+           (Monad mn, CStyleSheet this) =>+             Expression this -> mn (Expression String)+getm'title = get'title+ +get'media ::+          (Monad mn, CStyleSheet this, CMediaList zz) =>+            Expression this -> mn (Expression zz)+get'media thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "media")+       return r+ +getm'media ::+           (Monad mn, CStyleSheet this) =>+             Expression this -> mn (Expression TMediaList)+getm'media = get'media+
+ Data/DOM/StyleSheetList.hs view
@@ -0,0 +1,31 @@++module Data.DOM.StyleSheetList (item, get'length, getm'length)+       where+import Data.DOM.Stylesheets+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +item ::+     (Monad mn, CStyleSheetList this, CStyleSheet zz) =>+       Expression Double -> Expression this -> mn (Expression zz)+item a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "item")+       return (CallExpr et r [a /\ et])+ +get'length ::+           (Monad mn, CStyleSheetList this) =>+             Expression this -> mn (Expression Double)+get'length thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "length")+       return r+ +getm'length ::+            (Monad mn, CStyleSheetList this) =>+              Expression this -> mn (Expression Double)+getm'length = get'length+
+ Data/DOM/Stylesheets.hs view
@@ -0,0 +1,41 @@++module Data.DOM.Stylesheets+       (TStyleSheet(..), TStyleSheetList(..), TMediaList(..),+        TLinkStyle(..), TDocumentStyle(..), CStyleSheet, CStyleSheetList,+        CMediaList, CLinkStyle, CDocumentStyle)+       where+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+ +data TStyleSheet = TStyleSheet+ +data TStyleSheetList = TStyleSheetList+ +data TMediaList = TMediaList+ +data TLinkStyle = TLinkStyle+ +data TDocumentStyle = TDocumentStyle+ +class CStyleSheet a+ +class CStyleSheetList a+ +class CMediaList a+ +class CLinkStyle a+ +class CDocumentStyle a+ +instance CStyleSheet TStyleSheet+ +instance CStyleSheetList TStyleSheetList+ +instance CMediaList TMediaList+ +instance CLinkStyle TLinkStyle+ +instance CDocumentStyle TDocumentStyle+
+ Data/DOM/Text.hs view
@@ -0,0 +1,16 @@++module Data.DOM.Text (splitText) where+import Data.DOM.Dom+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Document (createElement)+ +splitText ::+          (Monad mn, CText this, CText zz) =>+            Expression Double -> Expression this -> mn (Expression zz)+splitText a thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "splitText")+       return (CallExpr et r [a /\ et])+
+ Data/DOM/Traversal.hs view
@@ -0,0 +1,35 @@++module Data.DOM.Traversal+       (TNodeIterator(..), TNodeFilter(..), TTreeWalker(..),+        TDocumentTraversal(..), CNodeIterator, CNodeFilter, CTreeWalker,+        CDocumentTraversal)+       where+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+ +data TNodeIterator = TNodeIterator+ +data TNodeFilter = TNodeFilter+ +data TTreeWalker = TTreeWalker+ +data TDocumentTraversal = TDocumentTraversal+ +class CNodeIterator a+ +class CNodeFilter a+ +class CTreeWalker a+ +class CDocumentTraversal a+ +instance CNodeIterator TNodeIterator+ +instance CNodeFilter TNodeFilter+ +instance CTreeWalker TTreeWalker+ +instance CDocumentTraversal TDocumentTraversal+
+ Data/DOM/TreeWalker.hs view
@@ -0,0 +1,141 @@++module Data.DOM.TreeWalker+       (parentNode, firstChild, lastChild, previousSibling, nextSibling,+        previousNode, nextNode, get'root, getm'root, get'whatToShow,+        getm'whatToShow, get'filter, getm'filter,+        get'expandEntityReferences, getm'expandEntityReferences,+        set'currentNode, get'currentNode, getm'currentNode)+       where+import Data.DOM.Traversal+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +parentNode ::+           (Monad mn, CTreeWalker this, CNode zz) =>+             Expression this -> mn (Expression zz)+parentNode thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "parentNode")+       return (CallExpr et r [])+ +firstChild ::+           (Monad mn, CTreeWalker this, CNode zz) =>+             Expression this -> mn (Expression zz)+firstChild thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "firstChild")+       return (CallExpr et r [])+ +lastChild ::+          (Monad mn, CTreeWalker this, CNode zz) =>+            Expression this -> mn (Expression zz)+lastChild thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "lastChild")+       return (CallExpr et r [])+ +previousSibling ::+                (Monad mn, CTreeWalker this, CNode zz) =>+                  Expression this -> mn (Expression zz)+previousSibling thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "previousSibling")+       return (CallExpr et r [])+ +nextSibling ::+            (Monad mn, CTreeWalker this, CNode zz) =>+              Expression this -> mn (Expression zz)+nextSibling thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "nextSibling")+       return (CallExpr et r [])+ +previousNode ::+             (Monad mn, CTreeWalker this, CNode zz) =>+               Expression this -> mn (Expression zz)+previousNode thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "previousNode")+       return (CallExpr et r [])+ +nextNode ::+         (Monad mn, CTreeWalker this, CNode zz) =>+           Expression this -> mn (Expression zz)+nextNode thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "nextNode")+       return (CallExpr et r [])+ +get'root ::+         (Monad mn, CTreeWalker this, CNode zz) =>+           Expression this -> mn (Expression zz)+get'root thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "root")+       return r+ +getm'root ::+          (Monad mn, CTreeWalker this) =>+            Expression this -> mn (Expression TNode)+getm'root = get'root+ +get'whatToShow ::+               (Monad mn, CTreeWalker this) =>+                 Expression this -> mn (Expression Double)+get'whatToShow thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "whatToShow")+       return r+ +getm'whatToShow ::+                (Monad mn, CTreeWalker this) =>+                  Expression this -> mn (Expression Double)+getm'whatToShow = get'whatToShow+ +get'filter ::+           (Monad mn, CTreeWalker this, CNodeFilter zz) =>+             Expression this -> mn (Expression zz)+get'filter thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "filter")+       return r+ +getm'filter ::+            (Monad mn, CTreeWalker this) =>+              Expression this -> mn (Expression TNodeFilter)+getm'filter = get'filter+ +get'expandEntityReferences ::+                           (Monad mn, CTreeWalker this) =>+                             Expression this -> mn (Expression Bool)+get'expandEntityReferences thisp+  = do let et = undefined :: Bool+       let r = DotRef et (thisp /\ et) (Id et "expandEntityReferences")+       return r+ +getm'expandEntityReferences ::+                            (Monad mn, CTreeWalker this) =>+                              Expression this -> mn (Expression Bool)+getm'expandEntityReferences = get'expandEntityReferences+ +set'currentNode ::+                (Monad mn, CNode val, CTreeWalker zz) =>+                  Expression val -> Expression zz -> mn (Expression zz)+set'currentNode = setjsProperty "currentNode"+ +get'currentNode ::+                (Monad mn, CTreeWalker this, CNode zz) =>+                  Expression this -> mn (Expression zz)+get'currentNode thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "currentNode")+       return r+ +getm'currentNode ::+                 (Monad mn, CTreeWalker this) =>+                   Expression this -> mn (Expression TNode)+getm'currentNode = get'currentNode+
+ Data/DOM/UIEvent.hs view
@@ -0,0 +1,50 @@++module Data.DOM.UIEvent+       (initUIEvent, get'view, getm'view, get'detail, getm'detail) where+import Data.DOM.Events+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +initUIEvent ::+            (Monad mn, CUIEvent this, CAbstractView viewArg) =>+              Expression String ->+                Expression Bool ->+                  Expression Bool ->+                    Expression viewArg ->+                      Expression Double -> Expression this -> mn (Expression ())+initUIEvent a b c d e thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "initUIEvent")+       return+         (CallExpr et r [a /\ et, b /\ et, c /\ et, d /\ et, e /\ et])+ +get'view ::+         (Monad mn, CUIEvent this, CAbstractView zz) =>+           Expression this -> mn (Expression zz)+get'view thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "view")+       return r+ +getm'view ::+          (Monad mn, CUIEvent this) =>+            Expression this -> mn (Expression TAbstractView)+getm'view = get'view+ +get'detail ::+           (Monad mn, CUIEvent this) =>+             Expression this -> mn (Expression Double)+get'detail thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "detail")+       return r+ +getm'detail ::+            (Monad mn, CUIEvent this) =>+              Expression this -> mn (Expression Double)+getm'detail = get'detail+
+ Data/DOM/ViewCSS.hs view
@@ -0,0 +1,20 @@++module Data.DOM.ViewCSS (getComputedStyle) where+import Data.DOM.Css+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Stylesheets+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +getComputedStyle ::+                 (Monad mn, CViewCSS this, CElement elt, CCSSStyleDeclaration zz) =>+                   Expression elt ->+                     Expression String -> Expression this -> mn (Expression zz)+getComputedStyle a b thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "getComputedStyle")+       return (CallExpr et r [a /\ et, b /\ et])+
+ Data/DOM/Views.hs view
@@ -0,0 +1,22 @@++module Data.DOM.Views+       (TAbstractView(..), TDocumentView(..), CAbstractView,+        CDocumentView)+       where+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+ +data TAbstractView = TAbstractView+ +data TDocumentView = TDocumentView+ +class CAbstractView a+ +class CDocumentView a+ +instance CAbstractView TAbstractView+ +instance CDocumentView TDocumentView+
+ Data/DOM/WBTypes.hs view
@@ -0,0 +1,63 @@++------------------------------------------------------------------+-- |+-- Module      :  Data.DOM.WBTypes+-- Copyright   :  (c) Dmitry Golubovsky, 2009+-- License     :  BSD-style+-- +-- Maintainer  :  golubovsky@gmail.com+-- Stability   :  experimental+-- Portability :  portable+-- +--+--+-- Minimal glue for WebBits and DOM+------------------------------------------------------------------++module Data.DOM.WBTypes (+    castExpr+   ,exprType+   ,(/\)+   ,setjsProperty+  ) where++import WebBits.JavaScript+import qualified Data.Foldable as F+import Control.Monad++-- | Cast a WebBits Javascript expression to the given type. Type is represented+-- by a value of the desired type (ofter "undefined").++castExpr :: b -> Expression a -> Expression b++castExpr b e = fmap (const b) e++-- | Extract a type from an expression.++exprType :: Expression a -> a++exprType e =+  let f y z = NullLit (undefined :: a)+      (NullLit x) = F.foldr f undefined e+  in  x++-- | An infix version of "castExpr" provided for convenience.++(/\) :: Expression a -> b -> Expression b++(/\) = flip castExpr++-- | A helper function to encode a property setter. This function is mostly called+-- from converted IDL files for DOM interfaces.++setjsProperty :: (Monad m) => String -> Expression a -> Expression this -> m (Expression this)++setjsProperty pn pv this = do+  let tht = exprType this+      fun = FuncExpr tht [Id tht "x"] blk+      thv = VarRef tht (Id tht "x")+      blk = BlockStmt tht [setp, retx]+      setp = ExprStmt tht $ AssignExpr tht OpAssign (DotRef tht thv (Id tht pn)) (pv /\ tht)+      retx = ReturnStmt tht (Just thv)+  return $ ParenExpr tht $ CallExpr tht fun [this]+
+ Data/DOM/Window.hs view
@@ -0,0 +1,145 @@++module Data.DOM.Window+       (setTimeout, clearTimeout, setInterval, clearInterval, get'window,+        getm'window, get'self, getm'self, get'location, getm'location,+        set'name, get'name, getm'name, get'parent, getm'parent, get'top,+        getm'top, get'frameElement, getm'frameElement)+       where+import Data.DOM.WindowObj+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +setTimeout ::+           (Monad mn, CWindow this, CTimerListener listener) =>+             Expression listener ->+               Expression Double -> Expression this -> mn (Expression Double)+setTimeout a b thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "setTimeout")+       return (CallExpr et r [a /\ et, b /\ et])+ +clearTimeout ::+             (Monad mn, CWindow this) =>+               Expression Double -> Expression this -> mn (Expression ())+clearTimeout a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "clearTimeout")+       return (CallExpr et r [a /\ et])+ +setInterval ::+            (Monad mn, CWindow this, CTimerListener listener) =>+              Expression listener ->+                Expression Double -> Expression this -> mn (Expression Double)+setInterval a b thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "setInterval")+       return (CallExpr et r [a /\ et, b /\ et])+ +clearInterval ::+              (Monad mn, CWindow this) =>+                Expression Double -> Expression this -> mn (Expression ())+clearInterval a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "clearInterval")+       return (CallExpr et r [a /\ et])+ +get'window ::+           (Monad mn, CWindow this, CWindow zz) =>+             Expression this -> mn (Expression zz)+get'window thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "window")+       return r+ +getm'window ::+            (Monad mn, CWindow this) =>+              Expression this -> mn (Expression TWindow)+getm'window = get'window+ +get'self ::+         (Monad mn, CWindow this, CWindow zz) =>+           Expression this -> mn (Expression zz)+get'self thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "self")+       return r+ +getm'self ::+          (Monad mn, CWindow this) =>+            Expression this -> mn (Expression TWindow)+getm'self = get'self+ +get'location ::+             (Monad mn, CWindow this, CLocation zz) =>+               Expression this -> mn (Expression zz)+get'location thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "location")+       return r+ +getm'location ::+              (Monad mn, CWindow this) =>+                Expression this -> mn (Expression TLocation)+getm'location = get'location+ +set'name ::+         (Monad mn, CWindow zz) =>+           Expression String -> Expression zz -> mn (Expression zz)+set'name = setjsProperty "name"+ +get'name ::+         (Monad mn, CWindow this) =>+           Expression this -> mn (Expression String)+get'name thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "name")+       return r+ +getm'name ::+          (Monad mn, CWindow this) =>+            Expression this -> mn (Expression String)+getm'name = get'name+ +get'parent ::+           (Monad mn, CWindow this, CWindow zz) =>+             Expression this -> mn (Expression zz)+get'parent thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "parent")+       return r+ +getm'parent ::+            (Monad mn, CWindow this) =>+              Expression this -> mn (Expression TWindow)+getm'parent = get'parent+ +get'top ::+        (Monad mn, CWindow this, CWindow zz) =>+          Expression this -> mn (Expression zz)+get'top thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "top")+       return r+ +getm'top ::+         (Monad mn, CWindow this) =>+           Expression this -> mn (Expression TWindow)+getm'top = get'top+ +get'frameElement ::+                 (Monad mn, CWindow this, CElement zz) =>+                   Expression this -> mn (Expression zz)+get'frameElement thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "frameElement")+       return r+ +getm'frameElement ::+                  (Monad mn, CWindow this) =>+                    Expression this -> mn (Expression TElement)+getm'frameElement = get'frameElement+
+ Data/DOM/WindowObj.hs view
@@ -0,0 +1,46 @@++module Data.DOM.WindowObj+       (TWindow(..), TDocumentWindow(..), TLocation(..),+        TEmbeddingElement(..), TTimerListener(..), CWindow,+        CDocumentWindow, CLocation, CEmbeddingElement, CTimerListener)+       where+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Views+import Data.DOM.Dom+ +data TWindow = TWindow+ +data TDocumentWindow = TDocumentWindow+ +data TLocation = TLocation+ +data TEmbeddingElement = TEmbeddingElement+ +data TTimerListener = TTimerListener+ +class (CAbstractView a) => CWindow a+ +class (CDocumentView a) => CDocumentWindow a+ +class CLocation a+ +class CEmbeddingElement a+ +class CTimerListener a+ +instance CWindow TWindow+ +instance CAbstractView TWindow+ +instance CDocumentWindow TDocumentWindow+ +instance CDocumentView TDocumentWindow+ +instance CLocation TLocation+ +instance CEmbeddingElement TEmbeddingElement+ +instance CTimerListener TTimerListener+
+ Data/DOM/XMLHTTP.hs view
@@ -0,0 +1,18 @@++module Data.DOM.XMLHTTP (TXMLHttpRequest(..), CXMLHttpRequest)+       where+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+ +data TXMLHttpRequest = TXMLHttpRequest+ +class (CElement a) => CXMLHttpRequest a+ +instance CXMLHttpRequest TXMLHttpRequest+ +instance CElement TXMLHttpRequest+ +instance CNode TXMLHttpRequest+
+ Data/DOM/XMLHttpRequest.hs view
@@ -0,0 +1,173 @@++module Data.DOM.XMLHttpRequest+       (openSync, openAsync, openUser, openAuth, setRequestHeader,+        sendString, sendDocument, abort, getAllResponseHeaders,+        getResponseHeader, get'readyState, getm'readyState,+        get'responseText, getm'responseText, get'responseXML,+        getm'responseXML, get'status, getm'status, get'statusText,+        getm'statusText)+       where+import Data.DOM.XMLHTTP+import Control.Monad+import WebBits.JavaScript+import Data.DOM.WBTypes+import Data.DOM.Dom+import Data.DOM.Document (createElement)+ +openSync ::+         (Monad mn, CXMLHttpRequest this) =>+           Expression String ->+             Expression String -> Expression this -> mn (Expression ())+openSync a b thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "open")+       return (CallExpr et r [a /\ et, b /\ et])+ +openAsync ::+          (Monad mn, CXMLHttpRequest this) =>+            Expression String ->+              Expression String ->+                Expression Bool -> Expression this -> mn (Expression ())+openAsync a b c thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "open")+       return (CallExpr et r [a /\ et, b /\ et, c /\ et])+ +openUser ::+         (Monad mn, CXMLHttpRequest this) =>+           Expression String ->+             Expression String ->+               Expression Bool ->+                 Expression String -> Expression this -> mn (Expression ())+openUser a b c d thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "open")+       return (CallExpr et r [a /\ et, b /\ et, c /\ et, d /\ et])+ +openAuth ::+         (Monad mn, CXMLHttpRequest this) =>+           Expression String ->+             Expression String ->+               Expression Bool ->+                 Expression String ->+                   Expression String -> Expression this -> mn (Expression ())+openAuth a b c d e thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "open")+       return+         (CallExpr et r [a /\ et, b /\ et, c /\ et, d /\ et, e /\ et])+ +setRequestHeader ::+                 (Monad mn, CXMLHttpRequest this) =>+                   Expression String ->+                     Expression String -> Expression this -> mn (Expression ())+setRequestHeader a b thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "setRequestHeader")+       return (CallExpr et r [a /\ et, b /\ et])+ +sendString ::+           (Monad mn, CXMLHttpRequest this) =>+             Expression String -> Expression this -> mn (Expression ())+sendString a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "send")+       return (CallExpr et r [a /\ et])+ +sendDocument ::+             (Monad mn, CXMLHttpRequest this, CDocument doc) =>+               Expression doc -> Expression this -> mn (Expression ())+sendDocument a thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "send")+       return (CallExpr et r [a /\ et])+ +abort ::+      (Monad mn, CXMLHttpRequest this) =>+        Expression this -> mn (Expression ())+abort thisp+  = do let et = undefined :: ()+       let r = DotRef et (thisp /\ et) (Id et "abort")+       return (CallExpr et r [])+ +getAllResponseHeaders ::+                      (Monad mn, CXMLHttpRequest this) =>+                        Expression this -> mn (Expression String)+getAllResponseHeaders thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "getAllResponseHeaders")+       return (CallExpr et r [])+ +getResponseHeader ::+                  (Monad mn, CXMLHttpRequest this) =>+                    Expression String -> Expression this -> mn (Expression String)+getResponseHeader a thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "getResponseHeader")+       return (CallExpr et r [a /\ et])+ +get'readyState ::+               (Monad mn, CXMLHttpRequest this) =>+                 Expression this -> mn (Expression Double)+get'readyState thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "readyState")+       return r+ +getm'readyState ::+                (Monad mn, CXMLHttpRequest this) =>+                  Expression this -> mn (Expression Double)+getm'readyState = get'readyState+ +get'responseText ::+                 (Monad mn, CXMLHttpRequest this) =>+                   Expression this -> mn (Expression String)+get'responseText thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "responseText")+       return r+ +getm'responseText ::+                  (Monad mn, CXMLHttpRequest this) =>+                    Expression this -> mn (Expression String)+getm'responseText = get'responseText+ +get'responseXML ::+                (Monad mn, CXMLHttpRequest this, CDocument zz) =>+                  Expression this -> mn (Expression zz)+get'responseXML thisp+  = do let et = undefined :: zz+       let r = DotRef et (thisp /\ et) (Id et "responseXML")+       return r+ +getm'responseXML ::+                 (Monad mn, CXMLHttpRequest this) =>+                   Expression this -> mn (Expression TDocument)+getm'responseXML = get'responseXML+ +get'status ::+           (Monad mn, CXMLHttpRequest this) =>+             Expression this -> mn (Expression Double)+get'status thisp+  = do let et = undefined :: Double+       let r = DotRef et (thisp /\ et) (Id et "status")+       return r+ +getm'status ::+            (Monad mn, CXMLHttpRequest this) =>+              Expression this -> mn (Expression Double)+getm'status = get'status+ +get'statusText ::+               (Monad mn, CXMLHttpRequest this) =>+                 Expression this -> mn (Expression String)+get'statusText thisp+  = do let et = undefined :: String+       let r = DotRef et (thisp /\ et) (Id et "statusText")+       return r+ +getm'statusText ::+                (Monad mn, CXMLHttpRequest this) =>+                  Expression this -> mn (Expression String)+getm'statusText = get'statusText+
+ LICENSE view
@@ -0,0 +1,33 @@+Copyright Dmitry Golubovsky 2008, 2009.+All rights reserved.++For Haskell code derived from IDL files provided by the World Wide Web +Consortium, see also: http://www.w3.org/Consortium/Legal/copyright-documents-19990405++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are+met:++    * Redistributions of source code must retain the above copyright+      notice, this list of conditions and the following disclaimer.++    * Redistributions in binary form must reproduce the above+      copyright notice, this list of conditions and the following+      disclaimer in the documentation and/or other materials provided+      with the distribution.++    * Neither the name of Dmitry Golubovsky nor the names of other+      contributors may be used to endorse or promote products derived+      from this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain