From 62adfd89cdb8cafc7ff75b8680456d62b02c6d50 Mon Sep 17 00:00:00 2001 From: Danny Navarro Date: Mon, 14 Sep 2015 11:49:20 +0200 Subject: Several improvements to the parser - Add token combinator to simplify whitespace handling. - Simplify whiteSpace parsers. - Add `optempty` to handle pure mempty cases. `empty /= pure mempty`. - Use `between` combinators for brackets, braces and parens. This also includes small adjustments to the AST. --- Data/GraphQL/AST.hs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Data/GraphQL/AST.hs') diff --git a/Data/GraphQL/AST.hs b/Data/GraphQL/AST.hs index 1625f12..0a09671 100644 --- a/Data/GraphQL/AST.hs +++ b/Data/GraphQL/AST.hs @@ -22,12 +22,12 @@ data OperationDefinition = -- -- | Subscription Name [VariableDefinition] [Directive] SelectionSet deriving (Eq,Show) -data VariableDefinition = VariableDefinition Variable Type DefaultValue +data VariableDefinition = VariableDefinition Variable Type (Maybe DefaultValue) deriving (Eq,Show) newtype Variable = Variable Name deriving (Eq,Show) -newtype SelectionSet = SelectionSet [Selection] deriving (Eq,Show) +type SelectionSet = [Selection] data Selection = SelectionField Field | SelectionFragmentSpread FragmentSpread @@ -118,7 +118,7 @@ data FieldDefinition = FieldDefinition Name ArgumentsDefinition Type type ArgumentsDefinition = [InputValueDefinition] -data InputValueDefinition = InputValueDefinition Name Type DefaultValue +data InputValueDefinition = InputValueDefinition Name Type (Maybe DefaultValue) deriving (Eq,Show) data InterfaceTypeDefinition = InterfaceTypeDefinition Name [FieldDefinition] -- cgit v1.2.3