<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE language><language name="Haskell" alternativeNames="HS" version="22" kateversion="5.62" section="Sources" extensions="*.hs;*.chs;*.hs-boot" mimetype="text/x-haskell" author="Nicolas Wu (zenzike@gmail.com)" license="LGPL" indenter="haskell" style="haskell"><highlighting><list name="keywords"><item>case</item><item>class</item><item>data</item><item>deriving</item><item>do</item><item>else</item><item>family</item><item>forall</item><item>if</item><item>in</item><item>infixl</item><item>infixr</item><item>instance</item><item>let</item><item>module</item><item>newtype</item><item>of</item><item>pattern</item><item>primitive</item><item>then</item><item>type</item><item>where</item></list><list name="prelude function"><item>abs</item><item>acos</item><item>acosh</item><item>all</item><item>and</item><item>any</item><item>appendFile</item><item>approxRational</item><item>asTypeOf</item><item>asin</item><item>asinh</item><item>atan</item><item>atan2</item><item>atanh</item><item>basicIORun</item><item>break</item><item>catch</item><item>ceiling</item><item>chr</item><item>compare</item><item>concat</item><item>concatMap</item><item>const</item><item>cos</item><item>cosh</item><item>curry</item><item>cycle</item><item>decodeFloat</item><item>denominator</item><item>digitToInt</item><item>div</item><item>divMod</item><item>drop</item><item>dropWhile</item><item>either</item><item>elem</item><item>encodeFloat</item><item>enumFrom</item><item>enumFromThen</item><item>enumFromThenTo</item><item>enumFromTo</item><item>error</item><item>even</item><item>exp</item><item>exponent</item><item>fail</item><item>filter</item><item>flip</item><item>floatDigits</item><item>floatRadix</item><item>floatRange</item><item>floor</item><item>fmap</item><item>foldMap</item><item>foldl</item><item>foldl1</item><item>foldr</item><item>foldr1</item><item>fromDouble</item><item>fromEnum</item><item>fromInt</item><item>fromInteger</item><item>fromIntegral</item><item>fromRational</item><item>fst</item><item>gcd</item><item>getChar</item><item>getContents</item><item>getLine</item><item>group</item><item>head</item><item>id</item><item>inRange</item><item>index</item><item>init</item><item>intToDigit</item><item>interact</item><item>ioError</item><item>isAlpha</item><item>isAlphaNum</item><item>isAscii</item><item>isControl</item><item>isDenormalized</item><item>isDigit</item><item>isHexDigit</item><item>isIEEE</item><item>isInfinite</item><item>isLower</item><item>isNaN</item><item>isNegativeZero</item><item>isOctDigit</item><item>isPrint</item><item>isSpace</item><item>isUpper</item><item>iterate</item><item>last</item><item>lcm</item><item>length</item><item>lex</item><item>lexDigits</item><item>lexLitChar</item><item>lines</item><item>log</item><item>logBase</item><item>lookup</item><item>map</item><item>mapM</item><item>mapM_</item><item>mappend</item><item>max</item><item>maxBound</item><item>maximum</item><item>maybe</item><item>mconcat</item><item>mempty</item><item>min</item><item>minBound</item><item>minimum</item><item>mod</item><item>negate</item><item>not</item><item>notElem</item><item>null</item><item>numerator</item><item>odd</item><item>or</item><item>ord</item><item>otherwise</item><item>pack</item><item>pi</item><item>pred</item><item>primExitWith</item><item>print</item><item>product</item><item>properFraction</item><item>pure</item><item>putChar</item><item>putStr</item><item>putStrLn</item><item>quot</item><item>quotRem</item><item>range</item><item>rangeSize</item><item>read</item><item>readDec</item><item>readFile</item><item>readFloat</item><item>readHex</item><item>readIO</item><item>readInt</item><item>readList</item><item>readLitChar</item><item>readLn</item><item>readOct</item><item>readParen</item><item>readSigned</item><item>reads</item><item>readsPrec</item><item>realToFrac</item><item>recip</item><item>rem</item><item>repeat</item><item>replicate</item><item>return</item><item>reverse</item><item>round</item><item>scaleFloat</item><item>scanl</item><item>scanl1</item><item>scanr</item><item>scanr1</item><item>seq</item><item>sequence</item><item>sequenceA</item><item>sequence_</item><item>show</item><item>showChar</item><item>showInt</item><item>showList</item><item>showLitChar</item><item>showParen</item><item>showSigned</item><item>showString</item><item>shows</item><item>showsPrec</item><item>significand</item><item>signum</item><item>sin</item><item>sinh</item><item>snd</item><item>sort</item><item>span</item><item>splitAt</item><item>sqrt</item><item>subtract</item><item>succ</item><item>sum</item><item>tail</item><item>take</item><item>takeWhile</item><item>tan</item><item>tanh</item><item>threadToIOResult</item><item>toEnum</item><item>toInt</item><item>toInteger</item><item>toLower</item><item>toRational</item><item>toUpper</item><item>traverse</item><item>truncate</item><item>uncurry</item><item>undefined</item><item>unlines</item><item>until</item><item>unwords</item><item>unzip</item><item>unzip3</item><item>userError</item><item>words</item><item>writeFile</item><item>zip</item><item>zip3</item><item>zipWith</item><item>zipWith3</item></list><list name="prelude class"><item>Applicative</item><item>Bounded</item><item>Enum</item><item>Eq</item><item>Floating</item><item>Foldable</item><item>Fractional</item><item>Functor</item><item>Integral</item><item>Ix</item><item>Monad</item><item>Monoid</item><item>Num</item><item>Ord</item><item>Read</item><item>Real</item><item>RealFloat</item><item>RealFrac</item><item>Show</item><item>Traversable</item></list><list name="prelude type"><item>Bool</item><item>ByteString</item><item>Char</item><item>Double</item><item>Either</item><item>FilePath</item><item>Float</item><item>IO</item><item>IOError</item><item>Int</item><item>Integer</item><item>Maybe</item><item>Ordering</item><item>Ratio</item><item>Rational</item><item>ReadS</item><item>ShowS</item><item>String</item><item>Word</item></list><list name="prelude data"><item>EQ</item><item>False</item><item>GT</item><item>Just</item><item>LT</item><item>Left</item><item>Nothing</item><item>Right</item><item>True</item></list><list name="cpp_keywords"><item>defined</item><item>if</item><item>ifdef</item><item>ifndef</item><item>include</item><item>undef</item></list><list name="c2hs_keywords"><item>as</item><item>call</item><item>foreign</item><item>get</item><item>lib</item><item>nocode</item><item>prefix</item><item>pure</item><item>qualified</item><item>set</item><item>stable</item><item>unsafe</item><item>with</item></list><list name="import_keywords"><item>as</item><item>hiding</item><item>qualified</item></list><list name="language_pragmas"><item>AllowAmbiguousTypes</item><item>ApplicativeDo</item><item>Arrows</item><item>AutoDeriveTypeable</item><item>BangPatterns</item><item>BinaryLiterals</item><item>CApiFFI</item><item>CPP</item><item>ConstrainedClassMethods</item><item>ConstraintKinds</item><item>DataKinds</item><item>DatatypeContexts</item><item>DefaultSignatures</item><item>DeriveAnyClass</item><item>DeriveDataTypeable</item><item>DeriveFoldable</item><item>DeriveFunctor</item><item>DeriveGeneric</item><item>DeriveLift</item><item>DeriveTraversable</item><item>DisambiguateRecordFields</item><item>DoAndIfThenElse</item><item>DoRec</item><item>DuplicateRecordFields</item><item>EmptyCase</item><item>EmptyDataDecls</item><item>ExistentialQuantification</item><item>ExplicitForAll</item><item>ExplicitNamespaces</item><item>ExtendedDefaultRules</item><item>ExtensibleRecords</item><item>FlexibleContexts</item><item>FlexibleInstances</item><item>ForeignFunctionInterface</item><item>FunctionalDependencies</item><item>GADTSyntax</item><item>GADTs</item><item>GHCForeignImportPrim</item><item>GeneralizedNewtypeDeriving</item><item>Generics</item><item>HereDocuments</item><item>ImplicitParams</item><item>ImplicitPrelude</item><item>ImpredicativeTypes</item><item>IncoherentInstances</item><item>InstanceSigs</item><item>InterruptibleFFI</item><item>JavaScriptFFI</item><item>KindSignatures</item><item>LambdaCase</item><item>LiberalTypeSynonyms</item><item>MagicHash</item><item>MonadComprehensions</item><item>MonadFailDesugaring</item><item>MonoLocalBinds</item><item>MonoPatBinds</item><item>MonomorphismRestriction</item><item>MultiParamTypeClasses</item><item>MultiWayIf</item><item>NPlusKPatterns</item><item>NamedFieldPuns</item><item>NamedWildCards</item><item>NegativeLiterals</item><item>NewQualifiedOperators</item><item>NondecreasingIndentation</item><item>NullaryTypeClasses</item><item>NumDecimals</item><item>OverlappingInstances</item><item>OverloadedLabels</item><item>OverloadedLists</item><item>OverloadedStrings</item><item>PackageImports</item><item>ParallelArrays</item><item>ParallelListComp</item><item>PartialTypeSignatures</item><item>PatternGuards</item><item>PatternSignatures</item><item>PatternSynonyms</item><item>PolyKinds</item><item>PolymorphicComponents</item><item>PostfixOperators</item><item>QuasiQuotes</item><item>Rank2Types</item><item>RankNTypes</item><item>RebindableSyntax</item><item>RecordPuns</item><item>RecordWildCards</item><item>RecursiveDo</item><item>RegularPatterns</item><item>RelaxedPolyRec</item><item>RestrictedTypeSynonyms</item><item>RoleAnnotations</item><item>Safe</item><item>SafeImports</item><item>ScopedTypeVariables</item><item>StandaloneDeriving</item><item>StaticPointers</item><item>Strict</item><item>StrictData</item><item>TemplateHaskell</item><item>TemplateHaskellQuotes</item><item>TraditionalRecordSyntax</item><item>TransformListComp</item><item>Trustworthy</item><item>TupleSections</item><item>TypeApplications</item><item>TypeFamilies</item><item>TypeInType</item><item>TypeOperators</item><item>TypeSynonymInstances</item><item>UnboxedTuples</item><item>UndecidableInstances</item><item>UndecidableSuperClasses</item><item>UnicodeSyntax</item><item>UnliftedFFITypes</item><item>Unsafe</item><item>ViewPatterns</item><item>XmlSyntax</item></list><contexts><context name="code" attribute="Normal"><IncludeRules context="FindComment"/><WordDetect String="import" attribute="Keyword" context="import"/><StringDetect String="{#" attribute="C2HS Directive" context="c2hs directive"/><DetectChar char="#" attribute="C Preprocessor" context="C Preprocessor" column="0"/><keyword String="keywords" attribute="Keyword"/><keyword String="prelude function" attribute="Function Prelude"/><keyword String="prelude type" attribute="Type Prelude"/><keyword String="prelude data" attribute="Data Prelude"/><keyword String="prelude class" attribute="Class Prelude"/><RegExpr String="(::|=>|->|&lt;-|=)(?![\-!#\$%&amp;\*\+/&lt;=>\?\\@\^\|~\.:])" attribute="Special"/><RegExpr String="\s*[a-z_][a-zA-Z0-9_']*\s*(?=::([^\-!#\$%&amp;\*\+/&lt;=>\?\\@\^\|~\.:]|$))|\s*(\([\-!#\$%&amp;\*\+/&lt;=>\?\\@\^\|~\.:]*\))*\s*(?=::[^\-!#\$%&amp;\*\+/&lt;=>\?\\@\^\|~\.:])" attribute="Signature"/><RegExpr String="([A-Z][a-zA-Z0-9_']*\.)*[a-z_][a-zA-Z0-9_']*" attribute="Function"/><RegExpr String="([A-Z][a-zA-Z0-9_']*\.)*\\[!#\$%&amp;\*\+/&lt;=>\?\\@\^\|~\.:]+|([A-Z][a-zA-Z0-9_']*\.)*[\-!#\$%&amp;\*\+/&lt;=>\?\\@\^\|~\.:]+" attribute="Operator"/><RegExpr String="([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*|'(?![A-Z]')([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*" attribute="Type"/><RegExpr String="\d+\.\d+([Ee][+-]?\d+)?|\d+[Ee][+-]?\d+" attribute="Float"/><RegExpr String="0[Oo][0-7]+" attribute="Octal"/><RegExpr String="0[Xx][0-9A-Fa-f]+" attribute="Hex"/><Int attribute="Decimal"/><DetectChar char="'" attribute="Char" context="char"/><DetectChar char='"' attribute="String" context="string"/><DetectChar char="`" attribute="Function Infix" context="infix"/><StringDetect String=".." attribute="EnumFromTo"/><DetectChar char="‥" attribute="EnumFromTo"/><RegExpr String="\[[wxs]?hamlet\|" attribute="Normal" context="Hamlet"/><StringDetect String="[julius|" attribute="Normal" context="Julius"/><RegExpr String="\[[a-zA-Z_'](\w|[_'])*\|" attribute="Normal" context="QuasiQuote"/></context><context name="Haddock" attribute="Comment"><RegExpr String="'([A-Z][a-zA-Z0-9_']*\.)*[a-z_][a-zA-Z0-9_']*'" attribute="Haddock Hyperlink"/><RegExpr String="&#34;([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*&#34;" attribute="Haddock Module"/><RangeDetect char1="/" char="/" context="Start Haddock Emphasis" lookAhead="1"/><RegExpr String="__.*?__" attribute="Haddock Bold" context="Start Haddock Bold" lookAhead="1"/></context><context name="QuasiQuote" attribute="Normal"><StringDetect String="|]" attribute="Normal" context="#pop"/></context><context name="FindComment" attribute="Normal" lineEndContext="#pop"><StringDetect String="{-#" attribute="Pragma" context="pragma"/><StringDetect String="{-" attribute="Comment" context="comments" beginRegion="BlockComment"/><RegExpr String="--+(?![\-!#\$%&amp;\*\+/&lt;=>\?\\@\^\|~\.:])" attribute="Comment" context="comment"/></context><context name="c2hs enum" attribute="C2HS Directive"><DetectSpaces attribute="C2HS Directive"/><RegExpr String="([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*" attribute="Type"/><StringDetect String="#}" attribute="C2HS Directive" context="#pop#pop"/><DetectIdentifier attribute="C2HS Directive"/></context><context name="comments" attribute="Comment"><DetectSpaces attribute="Comment"/><StringDetect String="{-" attribute="Comment" context="comments" beginRegion="BlockComment"/><StringDetect String="-}" attribute="Comment" context="#pop" endRegion="BlockComment"/><IncludeRules context="Haddock"/><IncludeRules context="##Comments"/><DetectIdentifier attribute="Comment"/></context><context name="C Preprocessor" attribute="C Preprocessor" lineEndContext="#pop"><keyword String="cpp_keywords" attribute="C Preprocessor Keyword"/><RegExpr String=".*>$"/></context><context name="Haddock Bold" attribute="Haddock Bold" lineEndContext="#pop"><StringDetect String="__" attribute="Haddock Bold" context="#pop#pop"/><IncludeRules context="Haddock"/></context><context name="Haddock Emphasis" attribute="Haddock Emphasis" lineEndContext="#pop"><DetectSpaces attribute="Haddock Emphasis"/><DetectChar char="/" attribute="Haddock Emphasis" context="#pop#pop"/><IncludeRules context="Haddock"/><DetectIdentifier attribute="Haddock Emphasis"/></context><context name="Hamlet" attribute="Normal"><IncludeRules context="QuasiQuote"/><IncludeRules context="##Hamlet"/></context><context name="Julius" attribute="Normal"><IncludeRules context="QuasiQuote"/><IncludeRules context="Normal##JavaScript"/></context><context name="Start Haddock Bold" attribute="Haddock Bold" lineEndContext="#pop"><StringDetect String="__" attribute="Haddock Bold" context="Haddock Bold"/></context><context name="Start Haddock Emphasis" attribute="Haddock Emphasis" lineEndContext="#pop"><DetectChar char="/" attribute="Haddock Emphasis" context="Haddock Emphasis"/></context><context name="c2hs directive" attribute="C2HS Directive"><DetectSpaces attribute="C2HS Directive"/><StringDetect String="#}" attribute="C2HS Directive" context="#pop"/><keyword String="c2hs_keywords" attribute="Keyword"/><StringDetect String="context" attribute="Keyword"/><StringDetect String="call" attribute="Keyword"/><StringDetect String="sizeof" attribute="Keyword"/><StringDetect String="alignof" attribute="Keyword"/><StringDetect String="fun" attribute="Keyword" context="c2hs fun"/><StringDetect String="pointer" attribute="Keyword" context="c2hs pointer"/><StringDetect String="enum" attribute="Keyword" context="c2hs enum"/><StringDetect String="import" attribute="Keyword" context="c2hs enum"/></context><context name="c2hs fun" attribute="C2HS Directive"><DetectSpaces attribute="C2HS Directive"/><keyword String="c2hs_keywords" attribute="Keyword"/><RangeDetect char1="'" char="`" attribute="Type"/><StringDetect String="#}" attribute="C2HS Directive" context="#pop#pop"/><DetectIdentifier attribute="C2HS Directive"/></context><context name="c2hs pointer" attribute="C2HS Directive"><DetectSpaces attribute="C2HS Directive"/><keyword String="c2hs_keywords" attribute="Keyword"/><StringDetect String="newtype" attribute="Keyword"/><RegExpr String="([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*" attribute="Type"/><StringDetect String="#}" attribute="C2HS Directive" context="#pop#pop"/><DetectIdentifier attribute="C2HS Directive"/></context><context name="char" attribute="Char" lineEndContext="#pop"><DetectChar char="'" attribute="Char" context="#pop"/><RegExpr String="\\." attribute="Char"/></context><context name="comment" attribute="Comment" lineEndContext="#pop"><DetectSpaces attribute="Comment"/><IncludeRules context="Haddock"/><IncludeRules context="##Comments"/><DetectIdentifier attribute="Comment"/></context><context name="import" attribute="Normal" lineEndContext="#pop"><DetectSpaces attribute="Normal"/><IncludeRules context="FindComment"/><keyword String="import_keywords" attribute="Keyword"/><RegExpr String="([A-Z][a-zA-Z0-9_']*\.)*[a-z][a-zA-Z0-9_']*" attribute="Function"/><RegExpr String="([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*" attribute="Type"/><RegExpr String="([A-Z][a-zA-Z0-9_']*\.)*\\[!#\$%&amp;\*\+/&lt;=>\?\\@\^\|~\.:]+|([A-Z][a-zA-Z0-9_']*\.)*[\-!#\$%&amp;\*\+/&lt;=>\?\\@\^\|~\.:]+" attribute="Operator"/></context><context name="infix" attribute="Function Infix"><DetectChar char="`" attribute="Function Infix" context="#pop"/><DetectIdentifier attribute="Function Infix"/></context><context name="pragma" attribute="Pragma"><DetectSpaces attribute="Pragma"/><keyword String="language_pragmas" attribute="Pragma"/><DetectIdentifier attribute="Pragma"/><StringDetect String="#-}" attribute="Pragma" context="#pop"/></context><context name="string" attribute="String"><DetectChar char='"' attribute="String" context="#pop"/><RegExpr String="\\." attribute="String"/></context></contexts><itemDatas><itemData name="Normal" defStyleNum="dsNormal" spellChecking="0"/><itemData name="Comment" defStyleNum="dsComment"/><itemData name="Pragma" defStyleNum="dsOthers" spellChecking="0"/><itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="0"/><itemData name="Type Prelude" defStyleNum="dsDataType" spellChecking="0"/><itemData name="Function Prelude" defStyleNum="dsFunction" spellChecking="0"/><itemData name="Data Prelude" defStyleNum="dsDataType" spellChecking="0"/><itemData name="Class Prelude" defStyleNum="dsDataType" spellChecking="0"/><itemData name="Signature" defStyleNum="dsOthers" spellChecking="0"/><itemData name="Function" defStyleNum="dsNormal" spellChecking="0"/><itemData name="Operator" defStyleNum="dsOperator" spellChecking="0"/><itemData name="Type" defStyleNum="dsDataType" spellChecking="0"/><itemData name="Special" defStyleNum="dsOthers" spellChecking="0"/><itemData name="Octal" defStyleNum="dsBaseN" spellChecking="0"/><itemData name="Hex" defStyleNum="dsBaseN" spellChecking="0"/><itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="0"/><itemData name="Float" defStyleNum="dsFloat" spellChecking="0"/><itemData name="Char" defStyleNum="dsChar" spellChecking="0"/><itemData name="String" defStyleNum="dsString"/><itemData name="Function Infix" defStyleNum="dsOthers" spellChecking="0"/><itemData name="EnumFromTo" defStyleNum="dsOthers" spellChecking="0"/><itemData name="C Preprocessor" defStyleNum="dsPreprocessor" spellChecking="0"/><itemData name="C Preprocessor Keyword" defStyleNum="dsPreprocessor" spellChecking="0"/><itemData name="Haddock Hyperlink" defStyleNum="dsComment" spellChecking="0" underline="1"/><itemData name="Haddock Module" defStyleNum="dsComment" spellChecking="0" underline="1"/><itemData name="Haddock Emphasis" defStyleNum="dsComment" italic="1"/><itemData name="Haddock Bold" defStyleNum="dsComment" bold="1"/><itemData name="C2HS Directive" defStyleNum="dsString" spellChecking="0"/></itemDatas></highlighting><general><folding indentationsensitive="1"/><comments><comment name="singleLine" start="--"/><comment name="multiLine" start="{-" end="-}" region="BlockComment"/></comments><keywords casesensitive="1"/></general></language>