81v      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu2013-2018 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalunknownSafe * Type represent SQL keywords.[,Diff String type for low-cost concatination.vMake [ from wxShow [ into wy[ is empty or not.zWrap [ into {Unwrap  into [\Make  from String]Show |) default concatination separate by space.}Y type with OverloadedString extension, can be involved same list with string literals. ,selectFoo = [SELECT, "a, b, c", FROM, "foo"]c  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[vxyz{\]Z  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[~2013 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalunknownSafe(* Separate  list with delimiter  and map to w list.^ Concatinate  list like unwords on w list. Concatinate w list into one ._ Separate  list with delimiter  and concatinate into one .`Do _ and enclose by parena4Directly concatinate SQL string without whitespaces.Define binary operator on ? type. Result is not delimited by whitespace like concat on w list.bDefine binary operator on < type. Result is delimited by whitespace like unwords on w list.c0Binary operator to create qualified name on SQL.d0Binary operator to create comma separated words.e8Binary operator for SQL string expression concatination.f&Binary eq operator for SQL expression.g*Binary not eq operator for SQL expression.h&Binary lt operator for SQL expression.i&Binary le operator for SQL expression.j&Binary gt operator for SQL expression.k&Binary ge operator for SQL expression.l#Binary operator for SQL name alias.mBinary N% operator for SQL boolean expression.nBinary O% operator for SQL boolean expression.oKFold operation using binary operator with empty result of zero length case.pDefine unary operator on  type represeted by specified 7. Result is delimited by whitespace like unwords on w list.q$Uni operator to create Parend words.rBinary T operator for SQL.s#Define uni operator of string from  uni operator.t&Define binary operator of string from  binary operator.oBinary operator used in fold List to foldResult^_`abcdefghijklmnopqrst^_`btlcdefhijkgmnraopqs d1e5f4g4h4i4j4k4m3n2r42013 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalunknownSafe+uConcatinate keywords into w like unwords_  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]u_  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]u2013 Kei HibinoBSD3ex8k.hibino@gmail.com experimentalunknownSafe/v  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~`(sql-words-0.1.6.0-5lBMe2FDJH523i0MYUQjdFLanguage.SQL.Keyword.TypeLanguage.SQL.Keyword.Concat"Language.SQL.Keyword.Internal.TypeLanguage.SQL.KeywordKeywordSELECTALLDISTINCTONGROUPCOUNTSUMAVGMAXMINEVERYANYSOMECUBEROLLUPGROUPINGSETSHAVINGFORORDERBYASCDESCNULLSLASTOFFSETLIMITFETCHFIRSTNEXTPERCENTROWROWSONLYTIESUNIONEXCEPT INTERSECTDELETEUSING RETURNINGFROMASWITHJOININNERLEFTRIGHTFULLNATURALOUTERUPDATESETDEFAULTWHEREINSERTINTOVALUESMERGEOVER PARTITION DENSE_RANKRANK ROW_NUMBER PERCENT_RANK CUME_DISTLAGLEAD FIRST_VALUE LAST_VALUECASEENDWHENELSETHENLIKESIMILARANDORNOTEXISTSISNULLINDATETIME TIMESTAMP TIMESTAMPTZINTERVALSequenceDStringwordwordShowunwords'sepBy parenSepBy<++> defineBinOp<.>|*|.||..=..<>..<..<=..>..>=.asandorfold defineUniOpparenin'strUniOpstrBinOp unwordsSQLdStringbaseGHC.BaseString showDStringisEmptyDString fromDString toDString$fMonoidKeyword$fIsStringKeywordsepBy' concatStr defineBinOp'