-- Language definition generated by lang2to3

Description="Haskell"

Keywords={
  { Id=1,
    List={"absolute", "value", "addition", "and", "array", "boolean", "ceiling", "character", "concatenate", "concatenation", "constant", "continuation", "passing", "style", "cosine", "cosine", "hyperbolic", "cosine", "hyperbolic", "inverse", "cosine", "inverse", "division", "empty", "equality", "even", "floor", "function", "composition", "index", "lazy", "evaluation", "length", "list", "list", "calculation", "list", "construction", "list", "insertion", "list", "item", "modulo", "monad", "multiplication", "nint", "odd", "or", "order", "power", "round", "sine", "sine", "hyperbolic", "sine", "hyperbolic", "inverse", "sine", "inverse", "split", "string", "subtraction", "sum", "tangent", "tangent", "hyperbolic", "tangent", "hyperbolic", "inverse", "tangent", "inverse", "trigonometry", "truncation", "tuple", "True", "False"},
  },
  { Id=2,
    List={"Array", "Bool", "BufferMode", "CalendarTime", "Char", "ClockTime", "Complex", "Complex", "Day", "Double", "Either", "ExitCode", "FilePath", "Float", "Handle", "HandlePosn", "Int", "Integer", "IO", "IOError", "IOMode", "Maybe", "Month", "Ordering", "Permissions", "Ratio", "Rational", "Rational", "Read", "ReadS", "SeekMode", "Show", "ShowS", "StdGen", "String", "TimeDiff", "", "TimeLocale"},
  },
  { Id=3,
    List={"abs", "accum", "accumArray", "acos", "acosh", "addToClockTime", "all", "and", "any", "ap", "appendFile", "approxRational", "array", "asin", "asinh", "assocs", "asTypeOf", "atan", "atan2", "atanh", "bounds", "bracket", "bracket_", "break", "calendarTimeToString", "catch", "catMaybes", "ceiling", "chr", "cis", "compare", "concat", "concatMap", "conjugate", "const", "cos", "cosh", "cpuTimePrecision", "createDirectory", "curry", "cycle", "decodeFloat", "defaultTimeLocale", "delete", "deleteBy", "denominator", "diffClockTimes", "digitToInt", "div", "divMod", "doesDirectoryExist", "doesFileExist", "drop", "dropWhile", "either", "elem", "elemIndex", "elemIndices", "elems", "encodeFloat", "enumFrom", "enumFromThen", "enumFromThenTo", "enumFromTo", "error", "even", "executable", "exitFailure", "exitWith", "exp", "exponent", "fail", "filter", "filterM", "find", "findIndex", "findIndices", "flip", "floatDigits", "floatRadix", "floatRange", "floatToDigits", "floor", "fmap", "foldl", "foldl1", "foldM", "foldr", "foldr1", "formatCalendarTime", "fromEnum", "fromInteger", "fromIntegral", "fromJust", "fromMaybe", "fromRat", "fromRational", "fst", "gcd", "genericDrop", "genericIndex", "genericLength", "genericReplicate", "genericSplitAt", "genericTake", "getArgs", "getChar", "getClockTime", "getContents", "getCPUTime", "getCurrentDirectory", "getDirectoryContents", "getEnv", "getLine", "getModificationTime", "getPermissions", "getProgName", "getStdGen", "getStdRandom", "group", "groupBy", "guard", "hClose", "head", "hFileSize", "hFlush", "hGetBuffering", "hGetChar", "hGetContents", "hGetLine", "hGetPosn", "hIsClosed", "hIsEOF", "hIsOpen", "hIsReadable", "hIsSeekable", "hIsWritable", "hLookAhead", "hPrint", "hPutChar", "hPutStr", "hPutStrLn", "hReady", "hSeek", "hSetBuffering", "hSetPosn", "hWaitForInput", "id", "imagPart", "index", "indices", "init", "inits", "inRange", "insert", "insertBy", "interact", "intersect", "intersectBy", "intersperse", "intToDigit", "ioeGetErrorString", "ioeGetFileName", "ioeGetHandle", "ioError", "isAlpha", "isAlphaNum", "isAlreadyExistsError", "isAlreadyInUseError", "isAscii", "isControl", "isDenormalized", "isDigit", "isDoesNotExistError", "isEOF", "isEOFError", "isFullError", "isHexDigit", "isIEEE", "isIllegalOperation", "isInfinite", "isJust", "isLatin1", "isLower", "isNaN", "isNegativeZero", "isNothing", "isOctDigit", "isPermissionError", "isPrefixOf", "isPrint", "isSpace", "isSuffixOf", "isUpper", "isUserError", "iterate", "ixmap", "join", "last", "lcm", "length", "lex", "lexDigits", "lexLitChar", "liftM", "liftM2", "liftM3", "liftM4", "liftM5", "lines", "listArray", "listToMaybe", "log", "logBase", "lookup", "magnitude", "map", "mapAccumL", "mapAccumR", "mapAndUnzipM", "mapM", "mapM_", "mapMaybe", "max", "maxBound", "maximum", "maximumBy", "maybe", "maybeToList", "min", "minBound", "minimum", "minimumBy", "mkPolar", "mkStdGen", "mod", "msum", "negate", "newStdGen", "next", "not", "notElem", "nub", "nubBy", "null", "numerator", "odd", "openFile", "or", "ord", "otherwise", "partition", "phase", "pi", "polar", "pred", "print", "product", "properFraction", "putChar", "putStr", "putStrLn", "quot", "quotRem", "random", "randomIO", "randomR", "randomRIO", "randomRs", "randoms", "range", "rangeSize", "read", "readable", "readDec", "readFile", "readFloat", "readHex", "readInt", "readIO", "readList", "readLitChar", "readLn", "readOct", "readParen", "reads", "readSigned", "readsPrec", "realPart", "realToFrac", "recip", "rem", "removeDirectory", "removeFile", "renameDirectory", "renameFile", "repeat", "replicate", "return", "reverse", "round", "scaleFloat", "scanl", "scanl1", "scanr", "scanr1", "searchable", "seq", "sequence", "sequence_", "setCurrentDirectory", "setPermissions", "setStdGen", "show", "showChar", "showEFloat", "showFFloat", "showFloat", "showGFloat", "showInt", "showList", "showLitChar", "showParen", "shows", "showSigned", "showsPrec", "showString", "significand", "signum", "sin", "sinh", "snd", "sort", "sortBy", "split", "splitAt", "sqrt", "stderr", "stdin", "stdout", "subtract", "succ", "sum", "system", "tail", "tails", "take", "takeWhile", "tan", "tanh", "toCalendarTime", "toClockTime", "toEnum", "toInteger", "toLower", "toRational", "toUpper", "toUTCTime", "transpose", "truncate", "try", "uncurry", "undefined", "unfoldr", "union", "unionBy", "unless", "unlines", "until", "unwords", "unzip", "unzip3", "unzip4", "unzip5", "unzip6", "unzip7", "userError", "when", "words", "writable", "writeFile", "zip", "zip3", "zip4", "zip5", "zip6", "zip7", "zipWith", "zipWith3", "zipWith4", "zipWith5", "zipWith6", "zipWith7", "zipWithM", "zipWithM_"},
  },
  { Id=4,
    List={"as", "case", "of", "class", "data", "default", "deriving", "do", "forall", "foreign", "hiding", "if", "then", "else", "import", "infix", "infixl", "infixr", "instance", "let", "in", "mdo", "module", "newtype", "qualified", "type", "where"},
  },
}

Strings={
  Delimiter=[["]],
}

IgnoreCase=false

Comments={
  { Block=false,
    Delimiter= { [[--]] },
  },
  { Block=true,
    Nested=false,
    Delimiter= { [[\{\-]],[[\-\}]],}
  }
}

Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\:|\&|\<|\>|\!|\=|\/|\*|\%|\+|\-|\.|\'|\#|\@|\$|\\]]

