packages feed

js-good-parts 0.0.3 → 0.0.4

raw patch · 5 files changed

+20/−8 lines, 5 filessetup-changedPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Language.JavaScript.Pretty: LeftToRight :: Associativity
- Language.JavaScript.Pretty: OpInfo :: Int -> Associativity -> String -> OpInfo
- Language.JavaScript.Pretty: RightToLeft :: Associativity
- Language.JavaScript.Pretty: add :: JSExpression -> JSExpression -> JSExpression
- Language.JavaScript.Pretty: assoc :: Associativity -> Int -> Fixity
- Language.JavaScript.Pretty: data Associativity
- Language.JavaScript.Pretty: data OpInfo
- Language.JavaScript.Pretty: docParen :: Bool -> Doc -> Doc
- Language.JavaScript.Pretty: endWith :: Pretty a => Doc -> [a] -> Doc
- Language.JavaScript.Pretty: endWith' :: Pretty a => Doc -> NonEmptyList a -> Doc
- Language.JavaScript.Pretty: infixOpInfo :: JSInfixOperator -> OpInfo
- Language.JavaScript.Pretty: leftToRight, rightToLeft :: Int -> Fixity
- Language.JavaScript.Pretty: mul :: JSExpression -> JSExpression -> JSExpression
- Language.JavaScript.Pretty: n :: Double -> JSExpression
- Language.JavaScript.Pretty: prettyBlock :: Pretty a => [a] -> Doc
- Language.JavaScript.Pretty: prettyInfixOpApp :: (PrettyPrec a, PrettyPrec b) => Int -> OpInfo -> a -> b -> Doc
- Language.JavaScript.Pretty: prettyPrefixOpApp :: PrettyPrec a => Int -> OpInfo -> a -> Doc
- Language.JavaScript.Pretty: sepWith :: Pretty a => Doc -> [a] -> Doc
- Language.JavaScript.Pretty: sepWith' :: Pretty a => Doc -> NonEmptyList a -> Doc
- Language.JavaScript.Pretty: test1 :: JSExpression
- Language.JavaScript.Pretty: test2 :: JSExpression
- Language.JavaScript.Pretty: test2' :: JSExpression
- Language.JavaScript.Pretty: test3 :: JSExpressionStatement
- Language.JavaScript.Pretty: test4 :: JSStatement
- Language.JavaScript.Pretty: test5 :: JSProgram
- Language.JavaScript.Pretty: test6 :: JSFunctionLiteral
- Language.JavaScript.Pretty: type Fixity = (Associativity, Int)
+ Language.JavaScript.AST: JSLiteralBool :: Bool -> JSLiteral
+ Language.JavaScript.Pretty: class Pretty a
+ Language.JavaScript.Pretty: pretty :: Pretty a => a -> Doc
+ Language.JavaScript.Pretty: prettyList :: Pretty a => [a] -> Doc

Files

− Setup.hs
@@ -1,2 +0,0 @@-import Distribution.Simple-main = defaultMain
+ Setup.lhs view
@@ -0,0 +1,3 @@+#!/usr/bin/env runhaskell+> import Distribution.Simple+> main = defaultMain
js-good-parts.cabal view
@@ -1,10 +1,10 @@ Name:                js-good-parts-Version:             0.0.3+Version:             0.0.4 Cabal-Version:       >= 1.6 Synopsis:            Javascript: The Good Parts -- AST & Pretty Printer Category:            Language, Javascript Description:-  An AST for the "the good parts" of Javascript (as defined by Douglas Crockford) +  An AST for the \"the good parts\" of Javascript (as defined by Douglas Crockford)    and a pretty printer for that AST. Designed to be the target of a code generator.   Does not include a parser. 
src/Language/JavaScript/AST.hs view
@@ -561,8 +561,16 @@   = JSProperty  JSName   | JSSubscript JSExpression +--+-- | Interestingly, the syntax diagrams presented in the book don't include+--   boolean literals. I can only assume this is an oversight as they+--   are used throughout the book.+--++ data JSLiteral   = JSLiteralNumber   JSNumber          -- ^ @\<JSNumber\>@+  | JSLiteralBool     Bool              -- ^ @\<true | false\>@   | JSLiteralString   JSString          -- ^ @\<JSString\>@   | JSLiteralObject   JSObjectLiteral   -- ^ @\<JSObjectLiteral\>@   | JSLiteralArray    JSArrayLiteral    -- ^ @\<JSArrayLiteral\>@
src/Language/JavaScript/Pretty.hs view
@@ -1,4 +1,7 @@-module Language.JavaScript.Pretty where+module Language.JavaScript.Pretty (+ -- | This module just defines and exports 'Pretty' and 'PrettyPrec' instances+ Pretty(..)+) where  -- System libraries import Text.PrettyPrint.Leijen@@ -102,7 +105,7 @@ instance PrettyPrec JSNumber -- default  instance Pretty JSVarStatement where-  pretty (JSVarStatement varDecls) = sepWith' (text ", ") varDecls+  pretty (JSVarStatement varDecls) = sepWith' (comma <+> empty) varDecls  instance PrettyPrec JSVarStatement -- default @@ -274,7 +277,7 @@   prettyPrec = error "we never print an operator by itself"  instance Pretty JSInvocation          where-  pretty = error "undefined"+  pretty (JSInvocation es) = lparen <> sepWith (comma <+> empty) es <> rparen  instance PrettyPrec JSInvocation -- default @@ -308,7 +311,7 @@ instance PrettyPrec JSObjectField -- default  instance Pretty JSArrayLiteral        where-  pretty (JSArrayLiteral es) = sepWith (comma <+> empty) es+  pretty (JSArrayLiteral es) = lbracket <> sepWith (comma <+> empty) es <> rbracket  instance PrettyPrec JSArrayLiteral -- default