@@ -1,3901 +0,0 @@
1−{-# LANGUAGE RecordWildCards #-}
2−
3−module Main ( main ) where
4−
5−import Cabal2Nix.Flags ( configureCabalFlags )
6−import Cabal2Nix.Generate ( cabal2nix' )
7−import Cabal2Nix.HackageGit ( readHackage, Hackage )
8−import Cabal2Nix.Package
9−import Cabal2Nix.Version
10−import Control.Arrow ( second )
11−import Control.Lens
12−import Control.Monad
13−import Control.Monad.Par.Combinator
14−import Control.Monad.Par.IO
15−import Control.Monad.Trans ( liftIO )
16−import Data.Function
17−import Data.List
18−-- import Data.Char
19−import Data.Map.Strict ( Map )
20−import qualified Data.Map.Strict as Map
21−import Data.Maybe
22−import Data.Monoid
23−import Data.Set ( Set )
24−import qualified Data.Set as Set
25−import Distribution.Compiler
26−import Distribution.Nixpkgs.Fetch
27−import Distribution.Nixpkgs.Haskell
28−import Distribution.Nixpkgs.Meta
29−import Distribution.Nixpkgs.PackageMap
30−import Distribution.Nixpkgs.Util.PrettyPrinting hiding ( attr, (<>) )
31−import Distribution.Package
32−import Distribution.PackageDescription hiding ( options, buildDepends, extraLibs, buildTools )
33−import Distribution.PackageDescription.Configuration
34−import Distribution.System
35−import Distribution.Text
36−import Distribution.Version
37−import Language.Nix.Identifier
38−import Options.Applicative
39−-- import qualified Distribution.Compat.ReadP as Parse
40−
41−type Nixpkgs = PackageMap -- Map String (Set [String])
42−type PackageSet = Map String Version
43−type PackageMultiSet = Map String (Set Version)
44−
45−type Constraint = Dependency
46−
47−resolveConstraint :: Constraint -> Hackage -> Version
48−resolveConstraint c = fromMaybe (error ("constraint " ++ display c ++ " cannot be resolved in Hackage")) .
49− resolveConstraint' c
50−
51−resolveConstraint' :: Constraint -> Hackage -> Maybe Version
52−resolveConstraint' (Dependency (PackageName name) vrange) hackage | Set.null vs = Nothing
53− | otherwise = Just (Set.findMax vs)
54− where vs = Set.filter (`withinRange` vrange) (Map.keysSet (hackage Map.! name))
55−
56−data Configuration = Configuration
57− {
58− -- |Target architecture. Used by 'finalizePackageDescription' to
59− -- choose appropriate flags and dependencies.
60− platform :: Platform
61−
62− -- |Target compiler. Used by 'finalizePackageDescription' to choose
63− -- appropriate flags and dependencies.
64− , compilerInfo :: CompilerInfo
65−
66− -- |Core packages found on Hackageg
67− , corePackages :: [PackageIdentifier]
68−
69− -- |Core packages not found on Hackage.
70− , hardCorePackages :: [PackageIdentifier]
71−
72− -- |These packages replace the latest respective version during
73− -- dependency resolution.
74− , defaultPackageOverrides :: [Constraint]
75−
76− -- |These packages are added to the generated set, but the play no
77− -- role during dependency resolution.
78− , extraPackages :: [Constraint]
79−
80− -- |These packages have not succeeded a build yet, so we give them an
81− -- empty meta.hydraPlatforms attribute to avoid cluttering our Hydra
82− -- output with lots of broken builds.
83− , brokenPackages :: Set PackageName
84− }
85− deriving (Read, Show)
86−
87−data Options = Options
88− { hackageRepository :: FilePath
89− , nixpkgsRepository :: FilePath
90− }
91− deriving (Show)
92−
93−options :: Parser Options
94−options = Options
95− <$> strOption (long "hackage" <> help "path to Hackage git repository" <> value "hackage" <> showDefault <> metavar "PATH")
96− <*> strOption (long "nixpkgs" <> help "path to Nixpkgs repository" <> value "<nixpkgs>" <> showDefault <> metavar "PATH")
97−
98−pinfo :: ParserInfo Options
99−pinfo = info
100− ( helper
101− <*> infoOption ("hackage2nix " ++ version) (long "version" <> help "Show version number")
102− <*> options
103− )
104− ( fullDesc
105− <> header "hackage2nix converts a Hackage database into a haskell-packages.nix file."
106− )
107−
108−main :: IO ()
109−main = do
110− Options {..} <- execParser pinfo
111−
112− hackage <- readHackage hackageRepository
113− nixpkgs <- readNixpkgPackageMap nixpkgsRepository
114− let fixup = Map.delete "acme-everything" -- TODO: https://github.com/NixOS/cabal2nix/issues/164
115− . Map.delete "som" -- TODO: https://github.com/NixOS/cabal2nix/issues/164
116− . Map.delete "type" -- TODO: https://github.com/NixOS/cabal2nix/issues/163
117− . Map.delete "dictionary-sharing" -- TODO: https://github.com/NixOS/cabal2nix/issues/175
118− runParIO $ generatePackageSet defaultConfiguration (fixup hackage) nixpkgs
119−
120−generatePackageSet :: Configuration -> Hackage -> Nixpkgs -> ParIO ()
121−generatePackageSet config hackage nixpkgs = do
122− let
123− corePackageSet :: PackageSet
124− corePackageSet = Map.fromList [ (name, v) | PackageIdentifier (PackageName name) v <- corePackages config ++ hardCorePackages config ]
125−
126− latestVersionSet :: PackageSet
127− latestVersionSet = Map.map (Set.findMax . Map.keysSet) hackage
128−
129− defaultPackageOverridesSet :: PackageSet
130− defaultPackageOverridesSet = Map.fromList [ (name, resolveConstraint c hackage) | c@(Dependency (PackageName name) _) <- defaultPackageOverrides config ]
131−
132− generatedDefaultPackageSet :: PackageSet
133− generatedDefaultPackageSet = (defaultPackageOverridesSet `Map.union` latestVersionSet) `Map.difference` corePackageSet
134−
135− latestCorePackageSet :: PackageSet
136− latestCorePackageSet = latestVersionSet `Map.intersection` corePackageSet
137−
138− latestOverridePackageSet :: PackageSet
139− latestOverridePackageSet = latestVersionSet `Map.intersection` defaultPackageOverridesSet
140−
141− extraPackageSet :: PackageMultiSet
142− extraPackageSet = Map.unionsWith Set.union
143− [ Map.singleton name (Set.singleton (resolveConstraint c hackage)) | c@(Dependency (PackageName name) _) <- extraPackages config ]
144−
145− db :: PackageMultiSet
146− db = Map.unionsWith Set.union [ Map.map Set.singleton generatedDefaultPackageSet
147− , Map.map Set.singleton latestCorePackageSet
148− , Map.map Set.singleton latestOverridePackageSet
149− , extraPackageSet
150− ]
151−
152− knownAttributesSet :: Set String
153− knownAttributesSet = Set.union (Map.keysSet hackage) (Map.keysSet corePackageSet)
154−
155− resolver :: Dependency -> Bool
156− resolver (Dependency (PackageName name) vrange)
157− | Just v <- Map.lookup name corePackageSet = v `withinRange` vrange
158− | Just v <- Map.lookup name generatedDefaultPackageSet = v `withinRange` vrange
159− | otherwise = False
160−
161− liftIO $ do putStrLn "/* hackage-packages.nix is an auto-generated file -- DO NOT EDIT! */"
162− putStrLn ""
163− putStrLn "{ pkgs, stdenv, callPackage }:"
164− putStrLn ""
165− putStrLn "self: {"
166− putStrLn ""
167− pkgs <- flip parMapM (Map.toAscList db) $ \(name, vs) -> do
168− defs <- forM (Set.toAscList vs) $ \pkgversion -> do
169− let -- TODO: Include list of broken dependencies in the generated output.
170− descr = hackage Map.! name Map.! pkgversion
171− (missingDeps, _, drv') = cabal2nix resolver descr
172−
173− haskellDependencies :: Set String
174− haskellDependencies = Set.map (view ident) $ mconcat [ drv'^.x.haskell | x <- [libraryDepends,executableDepends,testDepends] ]
175−
176− systemDependencies :: Set String
177− systemDependencies = Set.map (view ident) $ mconcat [ drv'^.x.y | x <- [libraryDepends,executableDepends,testDepends], y <- [system,pkgconfig] ]
178−
179− haskellOrSystemDependencies :: Set String
180− haskellOrSystemDependencies = Set.map (view ident) $ mconcat [ drv'^.x.tool | x <- [libraryDepends,executableDepends,testDepends] ]
181−
182− missing :: Set String
183− missing = Set.filter (`Set.notMember` knownAttributesSet) haskellDependencies
184−
185− buildInputs :: Map Attribute (Maybe Path)
186− buildInputs = Map.unions
187− [ Map.fromList [ (n, Nothing) | n <- Set.toList missing ]
188− , Map.fromList [ (n, resolveNixpkgsAttribute nixpkgs n) | n <- Set.toAscList systemDependencies ]
189− , Map.fromList [ (n, resolveHackageThenNixpkgsAttribute nixpkgs hackage n) | n <- Set.toAscList haskellOrSystemDependencies ]
190− ]
191−
192− systemOverrides :: Doc
193− systemOverrides = fsep (map (uncurry formatOverride) (Map.toAscList buildInputs))
194−
195− formatOverride :: Attribute -> Maybe Path -> Doc
196− formatOverride n Nothing = space <> text n <> text " = null;" -- missing attribute
197− formatOverride n (Just []) -- Haskell package:
198− | n == name = formatOverride n Nothing -- refers to a missing system library
199− | otherwise = mempty -- found by callPackage
200− formatOverride n (Just p) = (text " inherit" <+> parens (text (intercalate "." p)) <+> text n) <> semi
201−
202− overrides :: Doc
203− overrides = systemOverrides
204−
205− attr | Just v <- Map.lookup name generatedDefaultPackageSet, v == pkgversion = name
206− | otherwise = name ++ '_' : [ if c == '.' then '_' else c | c <- display pkgversion ]
207−
208− sha256 :: String
209− sha256 | Just x <- lookup "X-Package-SHA256" (customFieldsPD (packageDescription descr)) = x
210− | otherwise = error $ display (packageId descr) ++ " has no hash"
211−
212− srcSpec <- liftIO $ sourceFromHackage (Certain sha256) (name ++ "-" ++ display pkgversion)
213−
214− let drv = drv' & src .~ srcSpec
215− & jailbreak .~ (not (null missingDeps) && (name /= "jailbreak-cabal")) -- Dependency constraints aren't fulfilled
216− & metaSection . broken .~ not (Set.null missing) -- Missing Haskell dependencies!
217− & metaSection.hydraPlatforms .~ (if PackageName name `Set.member` brokenPackages config
218− then Set.singleton "stdenv.lib.platforms.none"
219− else drv'^.metaSection.hydraPlatforms)
220−
221− return $ nest 2 $ hang (string attr <+> equals <+> text "callPackage") 2 (parens (pPrint drv)) <+> (braces overrides <> semi)
222− return (intercalate "\n\n" (map render defs))
223−
224− liftIO $ mapM_ (\pkg -> putStrLn pkg >> putStrLn "") pkgs
225− liftIO $ putStrLn "}"
226−
227−resolveHackageThenNixpkgsAttribute :: Nixpkgs -> Hackage -> Attribute -> Maybe Path
228−resolveHackageThenNixpkgsAttribute nixpkgs hackage name
229− | Just _ <- Map.lookup name hackage = Just []
230− | p@(Just _) <- resolveNixpkgsAttribute nixpkgs name = p
231− | otherwise = Nothing
232−
233−resolveNixpkgsAttribute :: Nixpkgs -> Attribute -> Maybe Path
234−resolveNixpkgsAttribute nixpkgs name
235− | name `elem` ["clang","lldb","llvm"] = Just ["self","llvmPackages"]
236− | Just paths <- Map.lookup name nixpkgs = getShortestPath (Set.toList (paths `Set.intersection` goodScopes))
237− | otherwise = Nothing
238− where
239− goodScopes :: Set Path
240− goodScopes = Set.fromList [[], ["xlibs"], ["gnome"], ["gnome3"], ["kde4"]]
241−
242− getShortestPath :: [Path] -> Maybe Path
243− getShortestPath [] = Nothing
244− getShortestPath ps = Just ("pkgs" : minimumBy (on compare length) ps)
245−
246−cabal2nix :: (Dependency -> Bool) -> GenericPackageDescription -> ([Dependency], FlagAssignment, Derivation)
247−cabal2nix resolver cabal = (missingDeps, flags, drv)
248− where
249− drv = cabal2nix' descr
250−
251− Right (descr, flags) = finalize (if null missingDeps then resolver else const True) cabal
252−
253− missingDeps :: [Dependency]
254− missingDeps = either id (const []) (finalize resolver cabal')
255−
256− finalize :: (Dependency -> Bool) -> GenericPackageDescription -> Either [Dependency] (PackageDescription, FlagAssignment)
257− finalize resolver' = finalizePackageDescription
258− (configureCabalFlags (package (packageDescription cabal)))
259− resolver'
260− (platform defaultConfiguration)
261− (compilerInfo defaultConfiguration)
262− [] -- no additional constraints
263−
264− -- A variant of the cabal file that has all test suites enabled to ensure
265− -- that their dependencies are recognized by finalizePackageDescription.
266− cabal' :: GenericPackageDescription
267− cabal' = cabal { condTestSuites = flaggedTests }
268−
269− flaggedTests :: [(String, CondTree ConfVar [Dependency] TestSuite)]
270− flaggedTests = map (second (mapTreeData enableTest)) (condTestSuites cabal)
271−
272− enableTest :: TestSuite -> TestSuite
273− enableTest t = t { testEnabled = True }
274−
275−defaultConfiguration :: Configuration
276−defaultConfiguration = Configuration
277− { platform = Platform X86_64 Linux
278− , compilerInfo = unknownCompilerInfo (CompilerId GHC (Version [7,10,2] [])) NoAbiTag
279−
280− , defaultPackageOverrides = map (\s -> fromMaybe (error (show s ++ " is not a valid override selector")) (simpleParse s))
281− [ "errors < 2" -- the update breaks some ~40 important packages
282− , "vector < 0.11" -- breaks lens 4.12
283− ]
284−
285− , corePackages = map (\s -> fromMaybe (error (show s ++ " is not a valid core package")) (simpleParse s))
286− [ "Cabal-1.22.4.0"
287− , "array-0.5.1.0"
288− , "base-4.8.1.0"
289− , "binary-0.7.5.0"
290− , "bytestring-0.10.6.0"
291− , "containers-0.5.6.2"
292− , "deepseq-1.4.1.1"
293− , "directory-1.2.2.0"
294− , "filepath-1.4.0.0"
295− , "ghc-prim-0.4.0.0"
296− , "haskeline-0.7.2.1"
297− , "hoopl-3.10.0.2"
298− , "hpc-0.6.0.2"
299− , "integer-gmp-1.0.0.0"
300− , "pretty-1.1.2.0"
301− , "process-1.2.3.0"
302− , "template-haskell-2.10.0.0"
303− , "terminfo-0.4.0.1"
304− , "time-1.5.0.1"
305− , "transformers-0.4.2.0"
306− , "unix-2.7.1.0"
307− , "xhtml-3000.2.1"
308− ]
309−
310− , hardCorePackages = map (\s -> fromMaybe (error (show s ++ " is not a valid core package")) (simpleParse s))
311− [ "bin-package-db-0.0.0.0"
312− , "ghc-7.10.2"
313− , "rts-1.0"
314− ]
315−
316− , extraPackages = map (\s -> fromMaybe (error (show s ++ " is not a valid extra package selector")) (simpleParse s))
317− [ "aeson < 0.8" -- newer versions don't work with GHC 6.12.3
318− , "Cabal == 1.18.*" -- required for cabal-install et al on old GHC versions
319− , "Cabal == 1.20.*" -- required for cabal-install et al on old GHC versions
320− , "cabal-install == 1.18.*" -- required for ghc-mod on 7.8.x
321− , "conduit < 1.2.4.2" -- newer versions trigger non-deterministic ID bugs in GHC versions prior to 7.10.x
322− , "containers < 0.5" -- required to build alex with GHC 6.12.3
323− , "control-monad-free < 0.6" -- newer versions don't compile with anything but GHC 7.8.x
324− , "deepseq == 1.3.0.1" -- required to build Cabal with GHC 6.12.3
325− , "descriptive < 0.1" -- required for structured-haskell-mode-1.0.8
326− , "gloss < 1.9.3" -- new versions don't compile with GHC 7.8.x
327− , "haddock-api < 2.16" -- required on GHC 7.8.x
328− , "haskell-src-exts < 1.16" -- required for structured-haskell-mode-1.0.8
329− , "mtl < 2.2" -- newer versions require transformers > 0.4.x, which we cannot provide in GHC 7.8.x
330− , "mtl-prelude < 2" -- required for to build postgrest on mtl 2.1.x platforms
331− , "optparse-applicative == 0.10.*" -- required for elm-make 0.1.1 and elm-package 0.4
332− , "parallel == 3.2.0.3" -- newer versions don't work with GHC 6.12.3
333− , "primitive == 0.5.1.*" -- required to build alex with GHC 6.12.3
334− , "QuickCheck < 2" -- required by test-framework-quickcheck and its users
335− , "seqid < 0.2" -- newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x
336− , "seqid-streams < 0.2" -- newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x
337− , "split < 0.2" -- newer versions don't work with GHC 6.12.3
338− , "tar < 0.4.2.0" -- later versions don't work with GHC < 7.6.x
339− , "vector < 0.10.10" -- newer versions don't work with GHC 6.12.3
340− , "zlib < 0.6" -- newer versions break cabal-install
341− ]
342−
343− , brokenPackages = Set.fromList $ map PackageName
344− [ "3dmodels"
345− , "4Blocks"
346− , "abcBridge"
347− , "abstract-par-accelerate"
348− , "abt"
349− , "AC-BuildPlatform"
350− , "accelerate-arithmetic"
351− , "accelerate-fftw"
352− , "accelerate-fourier"
353− , "accelerate-io"
354− , "accelerate-utility"
355− , "accentuateus"
356− , "access-time"
357− , "AC-EasyRaster-GTK"
358− , "AC-HalfInteger"
359− , "ACME"
360− , "acme-hq9plus"
361− , "acme-inator"
362− , "acme-numbersystem"
363− , "acme-schoenfinkel"
364− , "acme-zero"
365− , "AC-MiniTest"
366− , "AC-Terminal"
367− , "ActionKid"
368− , "activehs"
369− , "actor"
370− , "AC-VanillaArray"
371− , "Adaptive"
372− , "Adaptive-Blaisorblade"
373− , "adaptive-containers"
374− , "adaptive-tuple"
375− , "adblock2privoxy"
376− , "adhoc-network"
377− , "adict"
378− , "adobe-swatch-exchange"
379− , "adp-multi"
380− , "adp-multi-monadiccp"
381− , "Advgame"
382− , "AERN-Basics"
383− , "AERN-Net"
384− , "AERN-Real"
385− , "AERN-Real-Double"
386− , "AERN-Real-Interval"
387− , "AERN-RnToRm"
388− , "AERN-RnToRm-Plot"
389− , "aeson-bson"
390− , "AesonBson"
391− , "aeson-native"
392− , "aeson-smart"
393− , "afv"
394− , "Agata"
395− , "agda-server"
396− , "AGI"
397− , "AhoCorasick"
398− , "airbrake"
399− , "aivika-experiment-diagrams"
400− , "aivika-transformers"
401− , "ajhc"
402− , "alea"
403− , "algebraic"
404− , "alms"
405− , "alpha"
406− , "alpino-tools"
407− , "alsa"
408− , "alsa-midi"
409− , "alsa-pcm-tests"
410− , "alsa-seq-tests"
411− , "altfloat"
412− , "alure"
413− , "amazon-emailer"
414− , "amazon-products"
415− , "AMI"
416− , "ampersand"
417− , "anansi-pandoc"
418− , "anatomy"
419− , "android-lint-summary"
420− , "AndroidViewHierarchyImporter"
421− , "angel"
422− , "Animas"
423− , "antfarm"
424− , "anticiv"
425− , "antigate"
426− , "antimirov"
427− , "antlrc"
428− , "anydbm"
429− , "aosd"
430− , "apelsin"
431− , "apiary-helics"
432− , "apiary-purescript"
433− , "apis"
434− , "api-tools"
435− , "apotiki"
436− , "appc"
437− , "app-lens"
438− , "ApplePush"
439− , "AppleScript"
440− , "approx-rand-test"
441− , "arbb-vm"
442− , "arb-fft"
443− , "archiver"
444− , "archlinux"
445− , "archlinux-web"
446− , "arff"
447− , "argparser"
448− , "arguedit"
449− , "ariadne"
450− , "arion"
451− , "armada"
452− , "array-forth"
453− , "ArrayRef"
454− , "arrowapply-utils"
455− , "arrow-improve"
456− , "arrowp"
457− , "ArrowVHDL"
458− , "arx"
459− , "ascii85-conduit"
460− , "asic"
461− , "asil"
462− , "asn1-data"
463− , "AspectAG"
464− , "assimp"
465− , "astrds"
466− , "astview"
467− , "async-extras"
468− , "aterm-utils"
469− , "atlassian-connect-core"
470− , "atlassian-connect-descriptor"
471− , "atom-basic"
472− , "atom-msp430"
473− , "atomo"
474− , "attoparsec-csv"
475− , "attoparsec-iteratee"
476− , "attoparsec-text"
477− , "attoparsec-text-enumerator"
478− , "Attrac"
479− , "atuin"
480− , "augeas"
481− , "augur"
482− , "Aurochs"
483− , "authoring"
484− , "AutoForms"
485− , "autoproc"
486− , "avahi"
487− , "avers"
488− , "AvlTree"
489− , "awesomium"
490− , "awesomium-glut"
491− , "awesomium-raw"
492− , "AWin32Console"
493− , "aws-cloudfront-signer"
494− , "aws-ec2"
495− , "aws-elastic-transcoder"
496− , "aws-kinesis-reshard"
497− , "aws-lambda"
498− , "aws-sdk"
499− , "aws-sdk-text-converter"
500− , "aws-sdk-xml-unordered"
501− , "aws-sign4"
502− , "aws-sns"
503− , "azure-service-api"
504− , "azurify"
505− , "backdropper"
506− , "bag"
507− , "Baggins"
508− , "bamboo"
509− , "bamboo-launcher"
510− , "bamboo-plugin-highlight"
511− , "bamboo-plugin-photo"
512− , "bamboo-theme-blueprint"
513− , "bamboo-theme-mini-html5"
514− , "bamse"
515− , "barcodes-code128"
516− , "barley"
517− , "Barracuda"
518− , "barrie"
519− , "barrier-monad"
520− , "baskell"
521− , "battleships"
522− , "bayes-stack"
523− , "BCMtools"
524− , "beamable"
525− , "beautifHOL"
526− , "bed-and-breakfast"
527− , "Befunge93"
528− , "bein"
529− , "berkeleydb"
530− , "BerkeleyDBXML"
531− , "berp"
532− , "bff"
533− , "bgzf"
534− , "bidirectionalization-combined"
535− , "bidispec"
536− , "billboard-parser"
537− , "billeksah-forms"
538− , "billeksah-main"
539− , "billeksah-pane"
540− , "billeksah-services"
541− , "binary-derive"
542− , "binary-file"
543− , "binary-indexed-tree"
544− , "binary-protocol-zmq"
545− , "binary-streams"
546− , "binary-strict"
547− , "binding-gtk"
548− , "bindings-apr"
549− , "bindings-apr-util"
550− , "bindings-bfd"
551− , "bindings-cctools"
552− , "bindings-codec2"
553− , "bindings-common"
554− , "bindings-dc1394"
555− , "bindings-eskit"
556− , "bindings-EsounD"
557− , "bindings-fann"
558− , "bindings-friso"
559− , "bindings-gts"
560− , "bindings-hdf5"
561− , "bindings-K8055"
562− , "bindings-libftdi"
563− , "bindings-librrd"
564− , "bindings-libstemmer"
565− , "bindings-libv4l2"
566− , "bindings-linux-videodev2"
567− , "bindings-mpdecimal"
568− , "bindings-sc3"
569− , "bindings-sipc"
570− , "bind-marshal"
571− , "bio"
572− , "Biobase"
573− , "BiobaseBlast"
574− , "BiobaseDotP"
575− , "BiobaseFasta"
576− , "BiobaseFR3D"
577− , "BiobaseInfernal"
578− , "BiobaseMAF"
579− , "BiobaseTrainingData"
580− , "BiobaseTurner"
581− , "BiobaseVienna"
582− , "biophd"
583− , "biosff"
584− , "biostockholm"
585− , "bird"
586− , "BirdPP"
587− , "bit-array"
588− , "bitcoin-rpc"
589− , "Bitly"
590− , "bitly-cli"
591− , "bits-conduit"
592− , "bitset"
593− , "bitspeak"
594− , "BitSyntax"
595− , "bittorrent"
596− , "bkr"
597− , "bla"
598− , "black-jewel"
599− , "blakesum"
600− , "blakesum-demo"
601− , "blank-canvas"
602− , "blas"
603− , "blas-hs"
604− , "blaze"
605− , "blaze-html-contrib"
606− , "blaze-html-hexpat"
607− , "blazeMarker"
608− , "blaze-textual-native"
609− , "Blobs"
610− , "blogination"
611− , "BlogLiterately-diagrams"
612− , "Blueprint"
613− , "bluetile"
614− , "board-games"
615− , "bogre-banana"
616− , "Bookshelf"
617− , "boolean-normal-forms"
618− , "bools"
619− , "boolsimplifier"
620− , "boomslang"
621− , "borel"
622− , "bot"
623− , "brainfuck-monad"
624− , "Bravo"
625− , "breakout"
626− , "brians-brain"
627− , "brillig"
628− , "bsd-sysctl"
629− , "bson-generics"
630− , "bson-mapping"
631− , "btree-concurrent"
632− , "buildbox-tools"
633− , "buildwrapper"
634− , "bullet"
635− , "buster"
636− , "Buster"
637− , "buster-gtk"
638− , "buster-network"
639− , "bytable"
640− , "bytestring-class"
641− , "bytestring-csv"
642− , "bytestringparser"
643− , "bytestring-plain"
644− , "bytestringreadp"
645− , "bytestring-rematch"
646− , "bytestring-short"
647− , "cabal2arch"
648− , "cabal2doap"
649− , "cabal2spec"
650− , "cabal-constraints"
651− , "cabal-dev"
652− , "cabal-ghci"
653− , "cabalgraph"
654− , "cabal-graphdeps"
655− , "cabal-install-bundle"
656− , "cabal-install-ghc72"
657− , "cabal-install-ghc74"
658− , "cabalmdvrpm"
659− , "cabal-query"
660− , "cabalrpmdeps"
661− , "cabal-scripts"
662− , "cabal-setup"
663− , "cabal-test"
664− , "cabal-upload"
665− , "cabocha"
666− , "cake3"
667− , "cakyrespa"
668− , "cal3d"
669− , "cal3d-examples"
670− , "cal3d-opengl"
671− , "calc"
672− , "caldims"
673− , "caledon"
674− , "call-haskell-from-anything"
675− , "campfire"
676− , "cantor"
677− , "cao"
678− , "cap"
679− , "Capabilities"
680− , "capri"
681− , "carboncopy"
682− , "carettah"
683− , "casadi-bindings"
684− , "casadi-bindings-control"
685− , "casadi-bindings-core"
686− , "casadi-bindings-internal"
687− , "casadi-bindings-ipopt-interface"
688− , "casadi-bindings-snopt-interface"
689− , "Cascade"
690− , "cascading"
691− , "cash"
692− , "cassandra-thrift"
693− , "cassava-streams"
694− , "cassy"
695− , "casui"
696− , "Catana"
697− , "catch-fd"
698− , "categorical-algebra"
699− , "category-extras"
700− , "CBOR"
701− , "CC-delcont"
702− , "CC-delcont-alt"
703− , "CC-delcont-cxe"
704− , "CC-delcont-exc"
705− , "CC-delcont-ref"
706− , "CC-delcont-ref-tf"
707− , "cci"
708− , "cctools-workqueue"
709− , "cedict"
710− , "ceilometer-common"
711− , "cereal-enumerator"
712− , "cereal-ieee754"
713− , "cereal-plus"
714− , "certificate"
715− , "cf"
716− , "cfipu"
717− , "cflp"
718− , "cfopu"
719− , "cgen"
720− , "cgi-utils"
721− , "chalkboard"
722− , "chalkboard-viewer"
723− , "charade"
724− , "Chart-diagrams"
725− , "chatter"
726− , "checked"
727− , "check-pvp"
728− , "chevalier-common"
729− , "Chitra"
730− , "chp"
731− , "chp-mtl"
732− , "chp-plus"
733− , "chp-spec"
734− , "chp-transformers"
735− , "ChristmasTree"
736− , "chronograph"
737− , "chuchu"
738− , "chunks"
739− , "church-list"
740− , "cil"
741− , "cinvoke"
742− , "c-io"
743− , "cio"
744− , "citation-resolve"
745− , "citeproc-hs"
746− , "citeproc-hs-pandoc-filter"
747− , "cjk"
748− , "clac"
749− , "clafer"
750− , "claferIG"
751− , "claferwiki"
752− , "CLASE"
753− , "clash"
754− , "clash-ghc"
755− , "clash-prelude"
756− , "clash-prelude-quickcheck"
757− , "clash-systemverilog"
758− , "clash-vhdl"
759− , "ClassLaws"
760− , "ClassyPrelude"
761− , "clckwrks"
762− , "clckwrks-cli"
763− , "clckwrks-dot-com"
764− , "clckwrks-plugin-bugs"
765− , "clckwrks-plugin-ircbot"
766− , "clckwrks-plugin-media"
767− , "clckwrks-plugin-page"
768− , "clckwrks-theme-bootstrap"
769− , "clckwrks-theme-clckwrks"
770− , "clckwrks-theme-geo-bootstrap"
771− , "Clean"
772− , "clevercss"
773− , "clifford"
774− , "clipper"
775− , "clippings"
776− , "clocked"
777− , "clogparse"
778− , "clone-all"
779− , "cloudfront-signer"
780− , "cloud-haskell"
781− , "cloudyfs"
782− , "clua"
783− , "cluss"
784− , "clustering"
785− , "clustertools"
786− , "clutterhs"
787− , "cmaes"
788− , "cmath"
789− , "cmathml3"
790− , "CMCompare"
791− , "cmdargs-browser"
792− , "cmdtheline"
793− , "cmonad"
794− , "cnc-spec-compiler"
795− , "cndict"
796− , "Coadjute"
797− , "Codec-Image-DevIL"
798− , "codec-libevent"
799− , "codecov-haskell"
800− , "codemonitor"
801− , "codepad"
802− , "cognimeta-utils"
803− , "coinbase-exchange"
804− , "colada"
805− , "collada-output"
806− , "collada-types"
807− , "collections"
808− , "collections-api"
809− , "collections-base-instances"
810− , "coltrane"
811− , "com"
812− , "combinat"
813− , "combinat-diagrams"
814− , "combinatorial-problems"
815− , "combinator-interactive"
816− , "Combinatorrent"
817− , "Commando"
818− , "commodities"
819− , "commsec"
820− , "commsec-keyexchange"
821− , "comonad-extras"
822− , "comonad-random"
823− , "compact-map"
824− , "compact-string"
825− , "compilation"
826− , "complexity"
827− , "compose-trans"
828− , "compression"
829− , "compstrat"
830− , "comptrans"
831− , "computational-algebra"
832− , "concraft"
833− , "concraft-hr"
834− , "concraft-pl"
835− , "concrete-typerep"
836− , "concurrent-state"
837− , "ConcurrentUtils"
838− , "condor"
839− , "Condor"
840− , "condorcet"
841− , "conductive-clock"
842− , "conductive-hsc3"
843− , "conduit-audio-lame"
844− , "conduit-audio-samplerate"
845− , "conduit-iconv"
846− , "conduit-network-stream"
847− , "conduit-resumablesink"
848− , "Configger"
849− , "config-select"
850− , "conjure"
851− , "consistent"
852− , "const-math-ghc-plugin"
853− , "constrained-categories"
854− , "constructive-algebra"
855− , "consul-haskell"
856− , "Consumer"
857− , "context-stack"
858− , "continue"
859− , "continuum"
860− , "continuum-client"
861− , "Contract"
862− , "control-event"
863− , "control-monad-attempt"
864− , "control-monad-exception-mtl"
865− , "control-monad-failure"
866− , "control-monad-failure-mtl"
867− , "Control-Monad-MultiPass"
868− , "Control-Monad-ST2"
869− , "contstuff-monads-tf"
870− , "contstuff-transformers"
871− , "convertible-ascii"
872− , "convertible-text"
873− , "copilot"
874− , "copilot-c99"
875− , "copilot-cbmc"
876− , "copilot-core"
877− , "copilot-language"
878− , "copilot-libraries"
879− , "copilot-sbv"
880− , "COrdering"
881− , "core"
882− , "corebot-bliki"
883− , "CoreErlang"
884− , "CoreFoundation"
885− , "core-haskell"
886− , "Coroutine"
887− , "coroutine-iteratee"
888− , "CouchDB"
889− , "couchdb-conduit"
890− , "couchdb-enumerator"
891− , "couch-hs"
892− , "court"
893− , "CPBrainfuck"
894− , "cpio-conduit"
895− , "CPL"
896− , "cplusplus-th"
897− , "cpsa"
898− , "cpuperf"
899− , "cpython"
900− , "cqrs"
901− , "cqrs-example"
902− , "cqrs-postgresql"
903− , "cqrs-sqlite3"
904− , "cqrs-test"
905− , "cqrs-types"
906− , "cr"
907− , "crack"
908− , "Craft3e"
909− , "craftwerk"
910− , "craftwerk-cairo"
911− , "craftwerk-gtk"
912− , "crc16"
913− , "crf-chain1"
914− , "crf-chain1-constrained"
915− , "crf-chain2-generic"
916− , "crf-chain2-tiers"
917− , "criterion-plus"
918− , "crocodile"
919− , "crunghc"
920− , "crypto-cipher-benchmarks"
921− , "cryptsy-api"
922− , "crystalfontz"
923− , "cse-ghc-plugin"
924− , "csound-catalog"
925− , "csound-expression"
926− , "csound-expression-opcodes"
927− , "csound-expression-typed"
928− , "csound-sampler"
929− , "csp"
930− , "cspmchecker"
931− , "CSPM-cspm"
932− , "CSPM-FiringRules"
933− , "CSPM-Frontend"
934− , "CSPM-Interpreter"
935− , "CSPM-ToProlog"
936− , "css"
937− , "ctemplate"
938− , "ctkl"
939− , "ctpl"
940− , "cudd"
941− , "curry-base"
942− , "CurryDB"
943− , "curry-frontend"
944− , "cursedcsv"
945− , "curves"
946− , "CV"
947− , "cypher"
948− , "dag"
949− , "DAG-Tournament"
950− , "Dangerous"
951− , "dao"
952− , "Dao"
953− , "dapi"
954− , "darcs2dot"
955− , "darcs-benchmark"
956− , "darcs-beta"
957− , "darcs-buildpackage"
958− , "darcs-cabalized"
959− , "darcsden"
960− , "darcs-graph"
961− , "DarcsHelpers"
962− , "darcs-monitor"
963− , "darcs-scripts"
964− , "darcswatch"
965− , "darkplaces-demo"
966− , "data-cycle"
967− , "data-dispersal"
968− , "data-easy"
969− , "data-extra"
970− , "data-ivar"
971− , "data-lens-ixset"
972− , "datalog"
973− , "data-named"
974− , "data-nat"
975− , "data-object-json"
976− , "data-object-yaml"
977− , "data-quotientref"
978− , "data-rope"
979− , "Data-Rope"
980− , "data-store"
981− , "DataTreeView"
982− , "data-type"
983− , "dbjava"
984− , "d-bus"
985− , "DBus"
986− , "dbus-client"
987− , "dbus-core"
988− , "dclabel"
989− , "ddc-build"
990− , "ddc-core"
991− , "ddc-core-eval"
992− , "ddc-core-flow"
993− , "ddc-core-llvm"
994− , "ddc-core-salt"
995− , "ddc-core-simpl"
996− , "ddc-core-tetra"
997− , "ddc-driver"
998− , "ddci-core"
999− , "ddc-source-tetra"
1000− , "ddc-tools"
1001− , "Deadpan-DDP"
1002− , "dead-simple-json"
1003− , "decepticons"
1004− , "DecisionTree"
1005− , "decoder-conduit"
1006− , "dedukti"
1007− , "deeplearning-hs"
1008− , "deepseq-bounded"
1009− , "deepseq-th"
1010− , "deepzoom"
1011− , "defargs"
1012− , "DefendTheKing"
1013− , "definitive-base"
1014− , "definitive-filesystem"
1015− , "definitive-graphics"
1016− , "definitive-parser"
1017− , "definitive-reactive"
1018− , "definitive-sound"
1019− , "deka"
1020− , "deka-tests"
1021− , "delicious"
1022− , "delta-h"
1023− , "demarcate"
1024− , "denominate"
1025− , "depends"
1026− , "dephd"
1027− , "dequeue"
1028− , "derangement"
1029− , "derivation-trees"
1030− , "derive-gadt"
1031− , "derive-IG"
1032− , "derive-topdown"
1033− , "derive-trie"
1034− , "derp-lib"
1035− , "dewdrop"
1036− , "Dflow"
1037− , "dfsbuild"
1038− , "dgim"
1039− , "dgs"
1040− , "diagrams-builder"
1041− , "diagrams-canvas"
1042− , "diagrams-haddock"
1043− , "diagrams-hsqml"
1044− , "diagrams-pdf"
1045− , "diagrams-pgf"
1046− , "diagrams-qrcode"
1047− , "diagrams-tikz"
1048− , "dice-entropy-conduit"
1049− , "dicom"
1050− , "dictparser"
1051− , "diffcabal"
1052− , "DifferenceLogic"
1053− , "DifferentialEvolution"
1054− , "digestive-functors-hsp"
1055− , "DimensionalHash"
1056− , "dingo-core"
1057− , "dingo-example"
1058− , "dingo-widgets"
1059− , "diophantine"
1060− , "direct-binary-files"
1061− , "directed-cubical"
1062− , "direct-fastcgi"
1063− , "direct-http"
1064− , "direct-plugins"
1065− , "DirectSound"
1066− , "dirfiles"
1067− , "discount"
1068− , "disjoint-set"
1069− , "DisTract"
1070− , "distributed-process-async"
1071− , "distributed-process-azure"
1072− , "distributed-process-client-server"
1073− , "distributed-process-execution"
1074− , "distributed-process-extras"
1075− , "distributed-process-platform"
1076− , "distributed-process-registry"
1077− , "distributed-process-supervisor"
1078− , "distributed-process-task"
1079− , "distributed-process-tests"
1080− , "distributed-process-zookeeper"
1081− , "distribution"
1082− , "distribution-plot"
1083− , "dist-upload"
1084− , "djinn-th"
1085− , "DnaProteinAlignment"
1086− , "dnscache"
1087− , "dnssd"
1088− , "doccheck"
1089− , "docidx"
1090− , "docker"
1091− , "dockercook"
1092− , "doc-review"
1093− , "DocTest"
1094− , "doctest-discover"
1095− , "doctest-discover-configurator"
1096− , "DOM"
1097− , "download"
1098− , "download-media-content"
1099− , "DP"
1100− , "dph-examples"
1101− , "dph-lifted-base"
1102− , "dph-lifted-copy"
1103− , "dph-lifted-vseg"
1104− , "dph-par"
1105− , "dph-prim-par"
1106− , "dph-seq"
1107− , "DPM"
1108− , "drClickOn"
1109− , "DrHylo"
1110− , "DrIFT"
1111− , "DrIFT-cabalized"
1112− , "dropbox-sdk"
1113− , "dropsolve"
1114− , "ds-kanren"
1115− , "dsmc"
1116− , "dsmc-tools"
1117− , "dsp"
1118− , "DSTM"
1119− , "dstring"
1120− , "dtab"
1121− , "DTC"
1122− , "dtd"
1123− , "dtd-text"
1124− , "dtd-types"
1125− , "dtw"
1126− , "duplo"
1127− , "Dust"
1128− , "Dust-crypto"
1129− , "Dust-tools"
1130− , "Dust-tools-pcap"
1131− , "dvda"
1132− , "dvdread"
1133− , "dx9base"
1134− , "dx9d3d"
1135− , "dx9d3dx"
1136− , "dynamic-object"
1137− , "dynamic-plot"
1138− , "dynamic-pp"
1139− , "DynamicTimeWarp"
1140− , "dynobud"
1141− , "DysFRP-Cairo"
1142− , "DysFRP-Craftwerk"
1143− , "easy-api"
1144− , "easyjson"
1145− , "easyplot"
1146− , "easyrender"
1147− , "ecdsa"
1148− , "ecu"
1149− , "ed25519"
1150− , "edenmodules"
1151− , "edenskel"
1152− , "edentv"
1153− , "edge"
1154− , "EdisonCore"
1155− , "editable"
1156− , "edit-lenses"
1157− , "editline"
1158− , "EditTimeReport"
1159− , "EEConfig"
1160− , "effective-aspects"
1161− , "effective-aspects-mzv"
1162− , "effect-monad"
1163− , "egison-quote"
1164− , "ehaskell"
1165− , "ehs"
1166− , "eibd-client-simple"
1167− , "eithers"
1168− , "EitherT"
1169− , "Elm"
1170− , "elm-build-lib"
1171− , "elm-compiler"
1172− , "elm-get"
1173− , "elm-make"
1174− , "elm-package"
1175− , "elm-reactor"
1176− , "elm-repl"
1177− , "elm-server"
1178− , "elm-yesod"
1179− , "email"
1180− , "email-header"
1181− , "email-postmark"
1182− , "embeddock"
1183− , "embeddock-example"
1184− , "embroidery"
1185− , "emgm"
1186− , "Emping"
1187− , "empty"
1188− , "Encode"
1189− , "enumfun"
1190− , "EnumMap"
1191− , "enummapmap"
1192− , "env-parser"
1193− , "epoll"
1194− , "epubname"
1195− , "Eq"
1196− , "equational-reasoning"
1197− , "erlang"
1198− , "eros-client"
1199− , "error-message"
1200− , "ersatz"
1201− , "ersatz-toysat"
1202− , "esotericbot"
1203− , "EsounD"
1204− , "estimators"
1205− , "estreps"
1206− , "Etage"
1207− , "Etage-Graph"
1208− , "EtaMOO"
1209− , "eternal"
1210− , "Eternal10Seconds"
1211− , "Etherbunny"
1212− , "ethereum-client-haskell"
1213− , "ethereum-merkle-patricia-db"
1214− , "euphoria"
1215− , "eurofxref"
1216− , "Euterpea"
1217− , "event-driven"
1218− , "event-monad"
1219− , "EventSocket"
1220− , "every-bit-counts"
1221− , "ewe"
1222− , "exif"
1223− , "exists"
1224− , "expand"
1225− , "expat-enumerator"
1226− , "explain"
1227− , "explicit-sharing"
1228− , "explore"
1229− , "exposed-containers"
1230− , "exp-pairs"
1231− , "extcore"
1232− , "extemp"
1233− , "extended-categories"
1234− , "external-sort"
1235− , "ez-couch"
1236− , "faceted"
1237− , "factual-api"
1238− , "FailureT"
1239− , "fallingblocks"
1240− , "falling-turnip"
1241− , "fastirc"
1242− , "fast-tags"
1243− , "fault-tree"
1244− , "fay-hsx"
1245− , "fcd"
1246− , "fckeditor"
1247− , "FComp"
1248− , "fdo-trash"
1249− , "feed2lj"
1250− , "feed2twitter"
1251− , "feed-cli"
1252− , "feldspar-compiler"
1253− , "feldspar-language"
1254− , "fences"
1255− , "fenfire"
1256− , "FermatsLastMargin"
1257− , "FerryCore"
1258− , "ffeed"
1259− , "ffmpeg-tutorials"
1260− , "fibon"
1261− , "fields"
1262− , "FieldTrip"
1263− , "fieldwise"
1264− , "FileManip"
1265− , "FileManipCompat"
1266− , "FileSystem"
1267− , "filesystem-conduit"
1268− , "filesystem-enumerator"
1269− , "Finance-Quote-Yahoo"
1270− , "Finance-Treasury"
1271− , "find-conduit"
1272− , "FiniteMap"
1273− , "firstify"
1274− , "FirstOrderTheory"
1275− , "fit"
1276− , "fitsio"
1277− , "fixed-point"
1278− , "fixed-point-vector"
1279− , "fixed-point-vector-space"
1280− , "fixed-precision"
1281− , "fixed-storable-array"
1282− , "fix-parser-simple"
1283− , "fixplate"
1284− , "fix-symbols-gitit"
1285− , "flexiwrap"
1286− , "flexiwrap-smallcheck"
1287− , "flickr"
1288− , "Flippi"
1289− , "flite"
1290− , "flo"
1291− , "floating-bits"
1292− , "flow2dot"
1293− , "flowdock-api"
1294− , "flower"
1295− , "flowlocks-framework"
1296− , "flowsim"
1297− , "FModExRaw"
1298− , "FM-SBLEX"
1299− , "foldl-incremental"
1300− , "folds"
1301− , "folds-common"
1302− , "follower"
1303− , "Folly"
1304− , "foma"
1305− , "font-opengl-basic4x6"
1306− , "foo"
1307− , "forbidden-fruit"
1308− , "fordo"
1309− , "for-free"
1310− , "formal"
1311− , "format"
1312− , "format-status"
1313− , "forml"
1314− , "formlets"
1315− , "formlets-hsp"
1316− , "ForSyDe"
1317− , "forth-hll"
1318− , "Foster"
1319− , "fpco-api"
1320− , "fpnla-examples"
1321− , "FPretty"
1322− , "frag"
1323− , "franchise"
1324− , "Frank"
1325− , "free-game"
1326− , "freekick2"
1327− , "freenect"
1328− , "free-operational"
1329− , "freesect"
1330− , "freesound"
1331− , "free-theorems"
1332− , "free-theorems-counterexamples"
1333− , "free-theorems-seq"
1334− , "free-theorems-seq-webui"
1335− , "free-theorems-webui"
1336− , "FreeTypeGL"
1337− , "frp-arduino"
1338− , "fs-events"
1339− , "fsmActions"
1340− , "fswatcher"
1341− , "ftdi"
1342− , "ftp-conduit"
1343− , "ftshell"
1344− , "full-sessions"
1345− , "fullstop"
1346− , "functional-arrow"
1347− , "function-combine"
1348− , "functor-apply"
1349− , "functorm"
1350− , "funion"
1351− , "funsat"
1352− , "future"
1353− , "fuzzytime"
1354− , "gact"
1355− , "gameclock"
1356− , "game-of-life"
1357− , "Ganymede"
1358− , "gc-monitoring-wai"
1359− , "gdiff-ig"
1360− , "gdiff-th"
1361− , "geek"
1362− , "geek-server"
1363− , "gemstone"
1364− , "gencheck"
1365− , "gender"
1366− , "genders"
1367− , "general-prelude"
1368− , "GeneralTicTacToe"
1369− , "generators"
1370− , "generic-church"
1371− , "genericserialize"
1372− , "generic-storable"
1373− , "generic-xml"
1374− , "genetics"
1375− , "GenI"
1376− , "geniconvert"
1377− , "geni-gui"
1378− , "geniserver"
1379− , "geni-util"
1380− , "GenSmsPdu"
1381− , "geodetics"
1382− , "GeoIp"
1383− , "GeomPredicates-SSE"
1384− , "getemx"
1385− , "getflag"
1386− , "ggtsTC"
1387− , "ghc-dup"
1388− , "ghc-events-analyze"
1389− , "ghc-events-parallel"
1390− , "ghc-exactprint"
1391− , "ghci-haskeline"
1392− , "ghci-ng"
1393− , "ghclive"
1394− , "ghc-parmake"
1395− , "ghc-pkg-autofix"
1396− , "ghc-pkg-lib"
1397− , "ghc-server"
1398− , "ghc-syb"
1399− , "GHood"
1400− , "ght"
1401− , "ginsu"
1402− , "gipeda"
1403− , "gist"
1404− , "git-all"
1405− , "git-checklist"
1406− , "git-date"
1407− , "gitdo"
1408− , "git-gpush"
1409− , "gitlib-cross"
1410− , "gitlib-libgit2"
1411− , "gitlib-s3"
1412− , "gitlib-utils"
1413− , "git-monitor"
1414− , "git-repair"
1415− , "gitson"
1416− , "glade"
1417− , "gladexml-accessor"
1418− , "GLFW-OGL"
1419− , "glider-nlp"
1420− , "global"
1421− , "glome-hs"
1422− , "GlomeTrace"
1423− , "GlomeView"
1424− , "gloss-devil"
1425− , "gmap"
1426− , "gmndl"
1427− , "gnome-desktop"
1428− , "gnome-keyring"
1429− , "gnomevfs"
1430− , "g-npm"
1431− , "goa"
1432− , "goatee"
1433− , "goatee-gtk"
1434− , "gofer-prelude"
1435− , "google-drive"
1436− , "google-html5-slide"
1437− , "google-mail-filters"
1438− , "googleplus"
1439− , "GoogleSB"
1440− , "google-search"
1441− , "gopherbot"
1442− , "gpah"
1443− , "GPipe"
1444− , "GPipe-Collada"
1445− , "GPipe-Examples"
1446− , "GPipe-TextureLoad"
1447− , "gps"
1448− , "gps2htmlReport"
1449− , "GPX"
1450− , "gpx-conduit"
1451− , "grapefruit-examples"
1452− , "grapefruit-frp"
1453− , "grapefruit-records"
1454− , "grapefruit-ui"
1455− , "grapefruit-ui-gtk"
1456− , "Graph500"
1457− , "graphbuilder"
1458− , "GraphHammer"
1459− , "GraphHammer-examples"
1460− , "graphicsFormats"
1461− , "graphics-formats-collada"
1462− , "graphicstools"
1463− , "graph-rewriting"
1464− , "graph-rewriting-cl"
1465− , "graph-rewriting-gl"
1466− , "graph-rewriting-lambdascope"
1467− , "graph-rewriting-layout"
1468− , "graph-rewriting-ski"
1469− , "graph-rewriting-strategies"
1470− , "graph-rewriting-trs"
1471− , "graph-rewriting-ww"
1472− , "graphtype"
1473− , "graph-utils"
1474− , "greencard"
1475− , "greencard-lib"
1476− , "greg-client"
1477− , "Grempa"
1478− , "gridland"
1479− , "grm"
1480− , "Grow"
1481− , "GrowlNotify"
1482− , "gruff"
1483− , "gruff-examples"
1484− , "gsl-random"
1485− , "gsl-random-fu"
1486− , "gsmenu"
1487− , "gstreamer"
1488− , "GTALib"
1489− , "gtfs"
1490− , "gtk2hs-cast-glade"
1491− , "gtk2hs-cast-gnomevfs"
1492− , "gtk2hs-cast-gtk"
1493− , "gtk2hs-cast-gtkglext"
1494− , "Gtk2hsGenerics"
1495− , "gtk2hs-rpn"
1496− , "gtk3-mac-integration"
1497− , "gtkglext"
1498− , "GtkGLTV"
1499− , "gtkimageview"
1500− , "gtk-mac-integration"
1501− , "gtkrsync"
1502− , "gtk-serialized-event"
1503− , "gtk-toy"
1504− , "guess-combinator"
1505− , "GuiHaskell"
1506− , "GuiTV"
1507− , "h2048"
1508− , "haar"
1509− , "Hach"
1510− , "hack2-handler-happstack-server"
1511− , "hack2-handler-mongrel2-http"
1512− , "hack2-handler-warp"
1513− , "hack2-interface-wai"
1514− , "hackage2hwn"
1515− , "hackage2twitter"
1516− , "hackage-mirror"
1517− , "hackage-proxy"
1518− , "hackage-server"
1519− , "hackage-sparks"
1520− , "hack-contrib"
1521− , "hack-contrib-press"
1522− , "hackernews"
1523− , "hack-frontend-happstack"
1524− , "hack-handler-epoll"
1525− , "hack-handler-evhttp"
1526− , "hack-handler-fastcgi"
1527− , "hack-handler-happstack"
1528− , "hack-handler-hyena"
1529− , "hack-handler-kibro"
1530− , "hack-handler-simpleserver"
1531− , "HackMail"
1532− , "hack-middleware-cleanpath"
1533− , "hack-middleware-clientsession"
1534− , "hack-middleware-jsonp"
1535− , "hackport"
1536− , "hactor"
1537− , "haddock-leksah"
1538− , "haddocset"
1539− , "haggis"
1540− , "Haggressive"
1541− , "hairy"
1542− , "hakaru"
1543− , "hakismet"
1544− , "hakyll-blaze-templates"
1545− , "hakyll-contrib"
1546− , "hakyll-contrib-links"
1547− , "hakyll-convert"
1548− , "hakyll-elm"
1549− , "hakyll-R"
1550− , "halberd"
1551− , "HaLeX"
1552− , "halfs"
1553− , "halipeto"
1554− , "halive"
1555− , "hampp"
1556− , "hamtmap"
1557− , "hamusic"
1558− , "handle-like"
1559− , "hans"
1560− , "hans-pcap"
1561− , "happindicator"
1562− , "happindicator3"
1563− , "happraise"
1564− , "HAppS-Data"
1565− , "HAppSHelpers"
1566− , "happs-hsp"
1567− , "happs-hsp-template"
1568− , "HAppS-IxSet"
1569− , "HAppS-Server"
1570− , "HAppS-State"
1571− , "happstack-auth"
1572− , "happstack-contrib"
1573− , "happstack-data"
1574− , "happstack-dlg"
1575− , "happstack-facebook"
1576− , "happstack-fay"
1577− , "happstack-foundation"
1578− , "happstack-heist"
1579− , "happstack-helpers"
1580− , "happstack-hsp"
1581− , "happstack-ixset"
1582− , "happstack-monad-peel"
1583− , "happstack-plugins"
1584− , "happstack-state"
1585− , "happstack-util"
1586− , "happstack-yui"
1587− , "happs-tutorial"
1588− , "HAppS-Util"
1589− , "happybara"
1590− , "happybara-webkit"
1591− , "happybara-webkit-server"
1592− , "harchive"
1593− , "hark"
1594− , "HARM"
1595− , "HarmTrace"
1596− , "HarmTrace-Base"
1597− , "has"
1598− , "hascal"
1599− , "hascat"
1600− , "hascat-lib"
1601− , "hascat-setup"
1602− , "hascat-system"
1603− , "Haschoo"
1604− , "HasGP"
1605− , "hash"
1606− , "hashable-generics"
1607− , "hashed-storage"
1608− , "Hashell"
1609− , "hasim"
1610− , "hask"
1611− , "haskanoid"
1612− , "haskarrow"
1613− , "haskeem"
1614− , "haskeline-class"
1615− , "haskell2010"
1616− , "haskell98"
1617− , "haskell-aliyun"
1618− , "haskell-awk"
1619− , "haskell-bcrypt"
1620− , "haskell-brainfuck"
1621− , "haskell-cnc"
1622− , "haskell-course-preludes"
1623− , "haskelldb-connect-hdbc"
1624− , "haskelldb-connect-hdbc-catchio-mtl"
1625− , "haskelldb-connect-hdbc-catchio-tf"
1626− , "haskelldb-connect-hdbc-catchio-transformers"
1627− , "haskelldb-connect-hdbc-lifted"
1628− , "haskelldb-dynamic"
1629− , "haskelldb-hdbc"
1630− , "haskelldb-hdbc-mysql"
1631− , "haskelldb-hdbc-odbc"
1632− , "haskelldb-hdbc-postgresql"
1633− , "haskelldb-hdbc-sqlite3"
1634− , "haskelldb-hsql"
1635− , "haskelldb-hsql-mysql"
1636− , "haskelldb-hsql-odbc"
1637− , "haskelldb-hsql-postgresql"
1638− , "haskelldb-hsql-sqlite3"
1639− , "haskelldb-wx"
1640− , "haskell-docs"
1641− , "haskell-formatter"
1642− , "haskell-ftp"
1643− , "haskell-in-space"
1644− , "haskell-neo4j-client"
1645− , "HaskellNN"
1646− , "Haskelloids"
1647− , "haskell-openflow"
1648− , "haskell-pdf-presenter"
1649− , "haskell-platform-test"
1650− , "haskell-plot"
1651− , "haskell-reflect"
1652− , "haskell-rules"
1653− , "haskellscrabble"
1654− , "haskell-src-meta-mwotton"
1655− , "HaskellTorrent"
1656− , "haskell-type-exts"
1657− , "haskell-tyrant"
1658− , "haskell-xmpp"
1659− , "haskelm"
1660− , "haskgame"
1661− , "haskheap"
1662− , "haskhol-core"
1663− , "hask-home"
1664− , "haskmon"
1665− , "haskoin"
1666− , "haskoin-crypto"
1667− , "haskoin-protocol"
1668− , "haskoin-script"
1669− , "haskoin-util"
1670− , "haskoin-wallet"
1671− , "haskoon"
1672− , "haskoon-httpspec"
1673− , "haskoon-salvia"
1674− , "haskore"
1675− , "haskore-realtime"
1676− , "haskore-supercollider"
1677− , "haskore-synthesizer"
1678− , "haskore-vintage"
1679− , "haslo"
1680− , "hasloGUI"
1681− , "hasparql-client"
1682− , "hastache-aeson"
1683− , "haste-compiler"
1684− , "haste-perch"
1685− , "has-th"
1686− , "hatex-guide"
1687− , "HaTeX-meta"
1688− , "haverer"
1689− , "HaVSA"
1690− , "hawitter"
1691− , "Hawk"
1692− , "haxparse"
1693− , "hayland"
1694− , "Hayoo"
1695− , "hayoo-cli"
1696− , "hback"
1697− , "hbayes"
1698− , "hBDD-CMUBDD"
1699− , "hBDD-CUDD"
1700− , "hbeat"
1701− , "hblas"
1702− , "hblock"
1703− , "h-booru"
1704− , "hburg"
1705− , "HCard"
1706− , "hcheat"
1707− , "hchesslib"
1708− , "HCL"
1709− , "hcron"
1710− , "hCsound"
1711− , "hcube"
1712− , "hcwiid"
1713− , "hdaemonize-buildfix"
1714− , "HDBC-mysql"
1715− , "hdbi"
1716− , "hdbi-conduit"
1717− , "hdbi-postgresql"
1718− , "hdbi-sqlite"
1719− , "hdbi-tests"
1720− , "hDFA"
1721− , "hdigest"
1722− , "hdirect"
1723− , "hdis86"
1724− , "hdiscount"
1725− , "hdm"
1726− , "hdph"
1727− , "hdph-closure"
1728− , "HDRUtils"
1729− , "hecc"
1730− , "Hedi"
1731− , "hedn"
1732− , "heist-aeson"
1733− , "helics"
1734− , "helics-wai"
1735− , "helium"
1736− , "hell"
1737− , "hellage"
1738− , "hellnet"
1739− , "helm"
1740− , "hemkay"
1741− , "hemokit"
1742− , "hen"
1743− , "henet"
1744− , "hepevt"
1745− , "HERA"
1746− , "herbalizer"
1747− , "her-lexer"
1748− , "her-lexer-parsec"
1749− , "Hermes"
1750− , "hermit"
1751− , "hermit-syb"
1752− , "herringbone"
1753− , "herringbone-embed"
1754− , "herringbone-wai"
1755− , "hesql"
1756− , "hetris"
1757− , "heukarya"
1758− , "hevolisa"
1759− , "hevolisa-dph"
1760− , "hexpat-iteratee"
1761− , "hexpat-pickle-generic"
1762− , "hexquote"
1763− , "hF2"
1764− , "hfann"
1765− , "hfd"
1766− , "hfiar"
1767− , "hfractal"
1768− , "hfsevents"
1769− , "hfusion"
1770− , "hgalib"
1771− , "HGamer3D"
1772− , "HGamer3D-API"
1773− , "HGamer3D-Audio"
1774− , "HGamer3D-CAudio-Binding"
1775− , "HGamer3D-CEGUI-Binding"
1776− , "HGamer3D-Enet-Binding"
1777− , "HGamer3D-Graphics3D"
1778− , "HGamer3D-GUI"
1779− , "HGamer3D-InputSystem"
1780− , "HGamer3D-Network"
1781− , "HGamer3D-Ogre-Binding"
1782− , "HGamer3D-OIS-Binding"
1783− , "HGamer3D-SDL2-Binding"
1784− , "HGamer3D-SFML-Binding"
1785− , "HGamer3D-WinEvent"
1786− , "HGamer3D-Wire"
1787− , "hg-buildpackage"
1788− , "hgen"
1789− , "hgeometric"
1790− , "hgithub"
1791− , "HGL"
1792− , "hgom"
1793− , "h-gpgme"
1794− , "HGraphStorage"
1795− , "hharp"
1796− , "HHDL"
1797− , "hiccup"
1798− , "hichi"
1799− , "hieraclus"
1800− , "hierarchical-clustering-diagrams"
1801− , "hiernotify"
1802− , "Hieroglyph"
1803− , "HiggsSet"
1804− , "higherorder"
1805− , "highWaterMark"
1806− , "himg"
1807− , "himpy"
1808− , "hinduce-classifier"
1809− , "hinduce-classifier-decisiontree"
1810− , "hinduce-examples"
1811− , "hinvaders"
1812− , "hinze-streams"
1813− , "hipbot"
1814− , "hircules"
1815− , "hirt"
1816− , "hissmetrics"
1817− , "historian"
1818− , "hist-pl"
1819− , "hist-pl-fusion"
1820− , "hist-pl-lmf"
1821− , "hjs"
1822− , "HJVM"
1823− , "hlatex"
1824− , "hlbfgsb"
1825− , "hlcm"
1826− , "HLearn-algebra"
1827− , "HLearn-datastructures"
1828− , "hledger-chart"
1829− , "hledger-vty"
1830− , "hlibev"
1831− , "hlibfam"
1832− , "HListPP"
1833− , "hlogger"
1834− , "HLogger"
1835− , "hly"
1836− , "HMap"
1837− , "hmark"
1838− , "hmarkup"
1839− , "hmatrix-banded"
1840− , "hmatrix-gsl-stats"
1841− , "hmatrix-quadprogpp"
1842− , "hmatrix-static"
1843− , "hmatrix-syntax"
1844− , "hmatrix-tests"
1845− , "hmeap"
1846− , "hmeap-utils"
1847− , "hmenu"
1848− , "hmk"
1849− , "HMM"
1850− , "hmm-hmatrix"
1851− , "hMollom"
1852− , "hmp3"
1853− , "Hmpf"
1854− , "hmpfr"
1855− , "hmumps"
1856− , "HNM"
1857− , "hnn"
1858− , "hoauth"
1859− , "hob"
1860− , "hobbes"
1861− , "hobbits"
1862− , "HODE"
1863− , "hofix-mtl"
1864− , "hog"
1865− , "hogg"
1866− , "hogre"
1867− , "hogre-examples"
1868− , "hois"
1869− , "hole"
1870− , "holey-format"
1871− , "Holumbus-Distribution"
1872− , "Holumbus-MapReduce"
1873− , "Holumbus-Searchengine"
1874− , "Holumbus-Storage"
1875− , "homeomorphic"
1876− , "hommage"
1877− , "hommage-ds"
1878− , "HongoDB"
1879− , "honi"
1880− , "hoodie"
1881− , "hoodle"
1882− , "hoodle-builder"
1883− , "hoodle-core"
1884− , "hoodle-extra"
1885− , "hoodle-parser"
1886− , "hoodle-publish"
1887− , "hoodle-render"
1888− , "hoodle-types"
1889− , "hood-off"
1890− , "hoovie"
1891− , "hopencc"
1892− , "hopencl"
1893− , "hOpenPGP"
1894− , "hopfield"
1895− , "hoq"
1896− , "hosts-server"
1897− , "hotswap"
1898− , "hp2any-core"
1899− , "hp2any-graph"
1900− , "hp2any-manager"
1901− , "hpage"
1902− , "hpapi"
1903− , "hpaste"
1904− , "hpasteit"
1905− , "HPath"
1906− , "hpc-coveralls"
1907− , "hpc-tracer"
1908− , "hPDB-examples"
1909− , "HPDF"
1910− , "hplayground"
1911− , "hplaylist"
1912− , "HPlot"
1913− , "hpodder"
1914− , "HPong"
1915− , "hprotoc-fork"
1916− , "hps-cairo"
1917− , "hpygments"
1918− , "hpylos"
1919− , "hR"
1920− , "hranker"
1921− , "HRay"
1922− , "Hricket"
1923− , "HROOT"
1924− , "HROOT-core"
1925− , "HROOT-graf"
1926− , "HROOT-hist"
1927− , "HROOT-io"
1928− , "HROOT-math"
1929− , "hs2bf"
1930− , "hs2dot"
1931− , "Hs2lib"
1932− , "hsbackup"
1933− , "hsc2hs"
1934− , "hsc3-cairo"
1935− , "hsc3-data"
1936− , "hsc3-forth"
1937− , "hsc3-graphs"
1938− , "hsc3-lang"
1939− , "hsc3-lisp"
1940− , "hsc3-plot"
1941− , "hsc3-rec"
1942− , "hsc3-server"
1943− , "hsc3-unsafe"
1944− , "hscamwire"
1945− , "hs-carbon-examples"
1946− , "hscassandra"
1947− , "hs-cdb"
1948− , "hsclock"
1949− , "hscurses-fish-ex"
1950− , "hsdip"
1951− , "hsdns-cache"
1952− , "hs-dotnet"
1953− , "Hsed"
1954− , "hsfacter"
1955− , "HSFFIG"
1956− , "hs-ffmpeg"
1957− , "hs-fltk"
1958− , "hs-gchart"
1959− , "hs-GeoIP"
1960− , "HSGEP"
1961− , "hsgnutls"
1962− , "hsgnutls-yj"
1963− , "hsgsom"
1964− , "HsHaruPDF"
1965− , "HSHHelpers"
1966− , "HsHyperEstraier"
1967− , "hsignal"
1968− , "hSimpleDB"
1969− , "hs-java"
1970− , "hs-json-rpc"
1971− , "HsJudy"
1972− , "hskeleton"
1973− , "hslackbuilder"
1974− , "hslibsvm"
1975− , "hslogger4j"
1976− , "hs-logo"
1977− , "hslogstash"
1978− , "hsmagick"
1979− , "HSmarty"
1980− , "hs-mesos"
1981− , "Hsmtlib"
1982− , "hsmtpclient"
1983− , "hsndfile-storablevector"
1984− , "hsnock"
1985− , "hs-nombre-generator"
1986− , "hsns"
1987− , "hsntp"
1988− , "hsoptions"
1989− , "HSoundFile"
1990− , "hsparql"
1991− , "HsParrot"
1992− , "hsp-cgi"
1993− , "hspear"
1994− , "hspec-experimental"
1995− , "hspec-shouldbe"
1996− , "HsPerl5"
1997− , "hs-pgms"
1998− , "hs-pkpass"
1999− , "hspread"
2000− , "hspresent"
2001− , "hsprocess"
2002− , "hsql-mysql"
2003− , "hsqml-datamodel"
2004− , "hsqml-demo-morris"
2005− , "hsqml-demo-samples"
2006− , "hsqml-morris"
2007− , "hsSqlite3"
2008− , "HsSVN"
2009− , "hstatistics"
2010− , "hstats"
2011− , "hstest"
2012− , "hstidy"
2013− , "hstorchat"
2014− , "hstradeking"
2015− , "HStringTemplateHelpers"
2016− , "hs-twitter"
2017− , "hs-twitterarchiver"
2018− , "hstyle"
2019− , "hstzaar"
2020− , "hsubconvert"
2021− , "hs-vcard"
2022− , "HSvm"
2023− , "hswip"
2024− , "hsx"
2025− , "hsXenCtrl"
2026− , "hsx-jmacro"
2027− , "hsx-xhtml"
2028− , "hsyscall"
2029− , "hszephyr"
2030− , "HTab"
2031− , "hTalos"
2032− , "hTensor"
2033− , "HTicTacToe"
2034− , "html-entities"
2035− , "htoml"
2036− , "htsn-import"
2037− , "http-client-request-modifiers"
2038− , "http-conduit-browser"
2039− , "http-conduit-downloader"
2040− , "http-enumerator"
2041− , "http-monad"
2042− , "http-proxy"
2043− , "https-everywhere-rules"
2044− , "http-shed"
2045− , "HTTP-Simple"
2046− , "httpspec"
2047− , "http-test"
2048− , "htune"
2049− , "hubris"
2050− , "hugs2yc"
2051− , "hulk"
2052− , "hums"
2053− , "HUnit-Diff"
2054− , "hunit-gui"
2055− , "HUnit-Plus"
2056− , "hunit-rematch"
2057− , "hunt-searchengine"
2058− , "hurdle"
2059− , "husk-scheme"
2060− , "husk-scheme-libs"
2061− , "husky"
2062− , "hutton"
2063− , "huzzy"
2064− , "hVOIDP"
2065− , "hws"
2066− , "HXMPP"
2067− , "hxmppc"
2068− , "hxournal"
2069− , "HXQ"
2070− , "hxt-binary"
2071− , "hxt-filter"
2072− , "hxthelper"
2073− , "hxweb"
2074− , "hybrid"
2075− , "hydra-hs"
2076− , "hydrogen-cli-args"
2077− , "hydrogen-data"
2078− , "hydrogen-parsing"
2079− , "hydrogen-prelude"
2080− , "hydrogen-prelude-parsec"
2081− , "hydrogen-util"
2082− , "hyena"
2083− , "hylolib"
2084− , "hylotab"
2085− , "hyloutils"
2086− , "hyperdrive"
2087− , "hyperpublic"
2088− , "hypher"
2089− , "i18n"
2090− , "iban"
2091− , "ideas"
2092− , "ideas-math"
2093− , "ide-backend-server"
2094− , "idiii"
2095− , "idna2008"
2096− , "IDynamic"
2097− , "ieee-utils"
2098− , "iException"
2099− , "IFS"
2100− , "ige-mac-integration"
2101− , "igraph"
2102− , "ihaskell"
2103− , "ihaskell-aeson"
2104− , "ihaskell-basic"
2105− , "ihaskell-blaze"
2106− , "ihaskell-charts"
2107− , "ihaskell-display"
2108− , "ihaskell-hatex"
2109− , "ihaskell-juicypixels"
2110− , "ihaskell-magic"
2111− , "ihaskell-parsec"
2112− , "ihaskell-plot"
2113− , "ihaskell-rlangqq"
2114− , "ihttp"
2115− , "illuminate"
2116− , "imagepaste"
2117− , "imbib"
2118− , "imgurder"
2119− , "imm"
2120− , "imparse"
2121− , "ImperativeHaskell"
2122− , "implicit"
2123− , "improve"
2124− , "INblobs"
2125− , "inch"
2126− , "include-file"
2127− , "incremental-computing"
2128− , "incremental-sat-solver"
2129− , "increments"
2130− , "index-core"
2131− , "indices"
2132− , "infer-upstream"
2133− , "infinity"
2134− , "infix"
2135− , "InfixApplicative"
2136− , "inflist"
2137− , "informative"
2138− , "inilist"
2139− , "instant-zipper"
2140− , "integer-pure"
2141− , "intel-aes"
2142− , "interleavableGen"
2143− , "interleavableIO"
2144− , "internetmarke"
2145− , "interpolatedstring-qq"
2146− , "interpolatedstring-qq-mwotton"
2147− , "intricacy"
2148− , "intset"
2149− , "IOR"
2150− , "io-reactive"
2151− , "IORefCAS"
2152− , "iotransaction"
2153− , "ipatch"
2154− , "ipc"
2155− , "ipopt-hs"
2156− , "iptables-helpers"
2157− , "iptadmin"
2158− , "Irc"
2159− , "ircbouncer"
2160− , "ireal"
2161− , "IrrHaskell"
2162− , "isevaluated"
2163− , "ismtp"
2164− , "iteratee"
2165− , "iteratee-compress"
2166− , "iteratee-parsec"
2167− , "iteratee-stm"
2168− , "iterIO"
2169− , "iterio-server"
2170− , "iter-stats"
2171− , "ivor"
2172− , "ivory"
2173− , "ivory-opts"
2174− , "ivory-quickcheck"
2175− , "ivory-stdlib"
2176− , "ivy-web"
2177− , "ixdopp"
2178− , "ixset-typed"
2179− , "iyql"
2180− , "j2hs"
2181− , "jack-bindings"
2182− , "jackminimix"
2183− , "JackMiniMix"
2184− , "jalla"
2185− , "jammittools"
2186− , "jarfind"
2187− , "java-bridge"
2188− , "java-bridge-extras"
2189− , "java-reflect"
2190− , "javasf"
2191− , "Javasf"
2192− , "javav"
2193− , "Javav"
2194− , "jespresso"
2195− , "jobqueue"
2196− , "join"
2197− , "joinlist"
2198− , "jonathanscard"
2199− , "jort"
2200− , "jsc"
2201− , "JsContracts"
2202− , "js-good-parts"
2203− , "jsmw"
2204− , "json2"
2205− , "json2-hdbc"
2206− , "json-b"
2207− , "JSONb"
2208− , "JSON-Combinator"
2209− , "JSON-Combinator-Examples"
2210− , "json-enumerator"
2211− , "JsonGrammar"
2212− , "json-qq"
2213− , "jsonresume"
2214− , "json-rpc"
2215− , "json-tools"
2216− , "jspath"
2217− , "judy"
2218− , "JuicyPixels-repa"
2219− , "JunkDB-driver-gdbm"
2220− , "JYU-Utils"
2221− , "kangaroo"
2222− , "kansas-comet"
2223− , "kansas-lava"
2224− , "kansas-lava-cores"
2225− , "kansas-lava-papilio"
2226− , "kansas-lava-shake"
2227− , "katt"
2228− , "keera-hails-mvc-model-lightmodel"
2229− , "keera-hails-reactive-fs"
2230− , "keera-posture"
2231− , "keiretsu"
2232− , "Ketchup"
2233− , "kevin"
2234− , "keyring"
2235− , "keystore"
2236− , "kibro"
2237− , "kicad-data"
2238− , "kickass-torrents-dump-parser"
2239− , "KiCS"
2240− , "KiCS-debugger"
2241− , "KiCS-prophecy"
2242− , "kif-parser"
2243− , "kit"
2244− , "kmeans-par"
2245− , "koellner-phonetic"
2246− , "Konf"
2247− , "korfu"
2248− , "kqueue"
2249− , "kure-your-boilerplate"
2250− , "KyotoCabinet"
2251− , "labeled-graph"
2252− , "labyrinth"
2253− , "labyrinth-server"
2254− , "laika"
2255− , "lambda2js"
2256− , "lambdaBase"
2257− , "lambdabot-utils"
2258− , "lambda-bridge"
2259− , "LambdaCalculator"
2260− , "lambdacat"
2261− , "lambdacube"
2262− , "lambdacube-bullet"
2263− , "lambdacube-engine"
2264− , "lambdacube-examples"
2265− , "lambdacube-samples"
2266− , "lambda-devs"
2267− , "lambdaFeed"
2268− , "LambdaINet"
2269− , "lambdaLit"
2270− , "LambdaPrettyQuote"
2271− , "LambdaShell"
2272− , "lambda-toolbox"
2273− , "lambdatwit"
2274− , "lambdiff"
2275− , "lame-tester"
2276− , "language-bash"
2277− , "language-boogie"
2278− , "language-c-comments"
2279− , "language-c-inline"
2280− , "language-eiffel"
2281− , "language-go"
2282− , "language-java-classfile"
2283− , "language-mixal"
2284− , "language-objc"
2285− , "language-puppet"
2286− , "language-python-colour"
2287− , "language-sh"
2288− , "language-spelling"
2289− , "language-sqlite"
2290− , "language-thrift"
2291− , "Lastik"
2292− , "lat"
2293− , "latest-npm-version"
2294− , "Lattices"
2295− , "layers"
2296− , "layout"
2297− , "layout-bootstrap"
2298− , "lazyarray"
2299− , "lazysplines"
2300− , "l-bfgs-b"
2301− , "lcs"
2302− , "ldap-client"
2303− , "ldif"
2304− , "leaf"
2305− , "leaky"
2306− , "learn-physics"
2307− , "learn-physics-examples"
2308− , "leksah"
2309− , "Level0"
2310− , "leveldb-haskell-fork"
2311− , "levmar-chart"
2312− , "lgtk"
2313− , "lha"
2314− , "lhae"
2315− , "lhe"
2316− , "LibClang"
2317− , "libcspm"
2318− , "libexpect"
2319− , "libGenI"
2320− , "libhbb"
2321− , "libjenkins"
2322− , "libltdl"
2323− , "liboleg"
2324− , "libpafe"
2325− , "libpq"
2326− , "libssh2-conduit"
2327− , "libsystemd-daemon"
2328− , "libvirt-hs"
2329− , "libxml"
2330− , "libxslt"
2331− , "lifter"
2332− , "lighttpd-conf"
2333− , "lighttpd-conf-qq"
2334− , "lilypond"
2335− , "Limit"
2336− , "limp-cbc"
2337− , "lin-alg"
2338− , "linear-algebra-cblas"
2339− , "linear-maps"
2340− , "linearscan"
2341− , "linearscan-hoopl"
2342− , "LinearSplit"
2343− , "LinkChecker"
2344− , "linkchk"
2345− , "linkcore"
2346− , "linux-blkid"
2347− , "linux-kmod"
2348− , "linux-perf"
2349− , "linux-ptrace"
2350− , "lio-eci11"
2351− , "lio-simple"
2352− , "liquid-fixpoint"
2353− , "liquidhaskell"
2354− , "listlike-instances"
2355− , "list-t-html-parser"
2356− , "ListTree"
2357− , "literals"
2358− , "live-sequencer"
2359− , "ll-picosat"
2360− , "llsd"
2361− , "llvm-ffi"
2362− , "llvm-general-quote"
2363− , "llvm-ht"
2364− , "local-search"
2365− , "loch"
2366− , "log2json"
2367− , "log-effect"
2368− , "logic-classes"
2369− , "LogicGrowsOnTrees"
2370− , "LogicGrowsOnTrees-MPI"
2371− , "LogicGrowsOnTrees-network"
2372− , "LogicGrowsOnTrees-processes"
2373− , "lojban"
2374− , "lojbanParser"
2375− , "lojbanXiragan"
2376− , "lojysamban"
2377− , "loli"
2378− , "loop-effin"
2379− , "loopy"
2380− , "lord"
2381− , "loris"
2382− , "lostcities"
2383− , "lscabal"
2384− , "L-seed"
2385− , "LslPlus"
2386− , "ls-usb"
2387− , "lsystem"
2388− , "luachunk"
2389− , "luautils"
2390− , "lucienne"
2391− , "Lucu"
2392− , "lui"
2393− , "luka"
2394− , "luthor"
2395− , "lvish"
2396− , "lvmlib"
2397− , "lye"
2398− , "maam"
2399− , "mage"
2400− , "magic"
2401− , "MagicHaskeller"
2402− , "magma"
2403− , "mahoro"
2404− , "majordomo"
2405− , "majority"
2406− , "manatee"
2407− , "manatee-anything"
2408− , "manatee-browser"
2409− , "manatee-core"
2410− , "manatee-curl"
2411− , "manatee-editor"
2412− , "manatee-filemanager"
2413− , "manatee-imageviewer"
2414− , "manatee-mplayer"
2415− , "manatee-pdfviewer"
2416− , "manatee-processmanager"
2417− , "manatee-reader"
2418− , "manatee-template"
2419− , "manatee-terminal"
2420− , "manatee-welcome"
2421− , "mandulia"
2422− , "mangopay"
2423− , "manifolds"
2424− , "marionetta"
2425− , "markdown2svg"
2426− , "markdown-kate"
2427− , "markdown-pap"
2428− , "markov-processes"
2429− , "markup-preview"
2430− , "marmalade-upload"
2431− , "marquise"
2432− , "marxup"
2433− , "masakazu-bot"
2434− , "matchers"
2435− , "mathblog"
2436− , "mathgenealogy"
2437− , "mathlink"
2438− , "matlab"
2439− , "matsuri"
2440− , "maude"
2441− , "maxent"
2442− , "maxsharing"
2443− , "maybench"
2444− , "MaybeT-monads-tf"
2445− , "MaybeT-transformers"
2446− , "MazesOfMonad"
2447− , "mbox-tools"
2448− , "MC-Fold-DP"
2449− , "mcmc-samplers"
2450− , "mdcat"
2451− , "Measure"
2452− , "mecab"
2453− , "mediawiki"
2454− , "mediawiki2latex"
2455− , "mega-sdist"
2456− , "melody"
2457− , "memo-sqlite"
2458− , "MetaObject"
2459− , "meta-par-accelerate"
2460− , "metaplug"
2461− , "metric"
2462− , "Metrics"
2463− , "metronome"
2464− , "MFlow"
2465− , "Mhailist"
2466− , "MHask"
2467− , "microformats2-parser"
2468− , "mida"
2469− , "midisurface"
2470− , "mighttpd"
2471− , "milena"
2472− , "mime-directory"
2473− , "mime-string"
2474− , "minesweeper"
2475− , "MiniAgda"
2476− , "miniball"
2477− , "miniforth"
2478− , "minimung"
2479− , "minioperational"
2480− , "miniplex"
2481− , "minirotate"
2482− , "ministg"
2483− , "mirror-tweet"
2484− , "MissingPy"
2485− , "missing-py2"
2486− , "mix-arrows"
2487− , "mkbndl"
2488− , "mlist"
2489− , "ml-w"
2490− , "mmtl"
2491− , "mmtl-base"
2492− , "moan"
2493− , "modelicaparser"
2494− , "modsplit"
2495− , "modular-prelude"
2496− , "modular-prelude-classy"
2497− , "module-management"
2498− , "mohws"
2499− , "monad-abort-fd"
2500− , "monadacme"
2501− , "monad-atom"
2502− , "monad-atom-simple"
2503− , "monad-bool"
2504− , "MonadCatchIO-mtl-foreign"
2505− , "MonadCatchIO-transformers-foreign"
2506− , "monad-exception"
2507− , "monadiccp"
2508− , "monadiccp-gecode"
2509− , "monad-interleave"
2510− , "MonadLab"
2511− , "monad-levels"
2512− , "monad-lrs"
2513− , "monad-memo"
2514− , "monad-mersenne-random"
2515− , "monad-ran"
2516− , "MonadRandomLazy"
2517− , "monad-stlike-io"
2518− , "monad-stlike-stm"
2519− , "monad-tx"
2520− , "monad-unify"
2521− , "monarch"
2522− , "Monaris"
2523− , "Monatron"
2524− , "Monatron-IO"
2525− , "mongodb-queue"
2526− , "mongrel2-handler"
2527− , "Monocle"
2528− , "mono-foldable"
2529− , "monoid-owns"
2530− , "monoidplus"
2531− , "monoids"
2532− , "monte-carlo"
2533− , "moo"
2534− , "morfette"
2535− , "morfeusz"
2536− , "mosaico-lib"
2537− , "mount"
2538− , "mp3decoder"
2539− , "mpdmate"
2540− , "mpppc"
2541− , "mpretty"
2542− , "mprover"
2543− , "mps"
2544− , "mpvguihs"
2545− , "mqtt-hs"
2546− , "msgpack-idl"
2547− , "mtgoxapi"
2548− , "mtl-tf"
2549− , "mtlx"
2550− , "mtp"
2551− , "mudbath"
2552− , "multifocal"
2553− , "multipass"
2554− , "multiplate-simplified"
2555− , "multirec-alt-deriver"
2556− , "multirec-binary"
2557− , "multisetrewrite"
2558− , "murder"
2559− , "murmurhash3"
2560− , "musicbrainz-email"
2561− , "music-graphics"
2562− , "music-parts"
2563− , "music-preludes"
2564− , "music-score"
2565− , "music-sibelius"
2566− , "music-suite"
2567− , "music-util"
2568− , "musicxml"
2569− , "mustache2hs"
2570− , "mutable-iter"
2571− , "mvclient"
2572− , "mvc-updates"
2573− , "myo"
2574− , "mysnapsession"
2575− , "mysnapsession-example"
2576− , "mysql-simple-quasi"
2577− , "mysql-simple-typed"
2578− , "myTestlll"
2579− , "mzv"
2580− , "nagios-plugin-ekg"
2581− , "named-lock"
2582− , "nanoAgda"
2583− , "nano-cryptr"
2584− , "nanocurses"
2585− , "nano-hmac"
2586− , "nano-md5"
2587− , "nanomsg-haskell"
2588− , "narc"
2589− , "nats-queue"
2590− , "natural-number"
2591− , "neat"
2592− , "needle"
2593− , "nerf"
2594− , "nero"
2595− , "nero-wai"
2596− , "nero-warp"
2597− , "netcore"
2598− , "netlines"
2599− , "NetSNMP"
2600− , "netspec"
2601− , "nettle"
2602− , "nettle-frp"
2603− , "nettle-netkit"
2604− , "nettle-openflow"
2605− , "network-address"
2606− , "network-anonymous-i2p"
2607− , "network-builder"
2608− , "network-bytestring"
2609− , "network-connection"
2610− , "network-house"
2611− , "network-minihttp"
2612− , "network-rpca"
2613− , "network-server"
2614− , "network-simple-tls"
2615− , "network-topic-models"
2616− , "network-transport-amqp"
2617− , "network-websocket"
2618− , "newports"
2619− , "newsynth"
2620− , "newt"
2621− , "newtype-th"
2622− , "NGrams"
2623− , "nibblestring"
2624− , "nikepub"
2625− , "Ninjas"
2626− , "nitro"
2627− , "nixos-types"
2628− , "nkjp"
2629− , "nm"
2630− , "nme"
2631− , "nntp"
2632− , "noise"
2633− , "Nomyx"
2634− , "Nomyx-Core"
2635− , "Nomyx-Language"
2636− , "Nomyx-Rules"
2637− , "Nomyx-Web"
2638− , "nondeterminism"
2639− , "NonEmptyList"
2640− , "noodle"
2641− , "NoSlow"
2642− , "not-gloss-examples"
2643− , "notmuch-haskell"
2644− , "notmuch-web"
2645− , "np-linear"
2646− , "nptools"
2647− , "nthable"
2648− , "null-canvas"
2649− , "NumberSieves"
2650− , "numerals"
2651− , "numerals-base"
2652− , "numeric-qq"
2653− , "nums"
2654− , "Nussinov78"
2655− , "nvim-hs"
2656− , "NXT"
2657− , "NXTDSL"
2658− , "nymphaea"
2659− , "oberon0"
2660− , "obj"
2661− , "Object"
2662− , "ObjectIO"
2663− , "octopus"
2664− , "oculus"
2665− , "ofx"
2666− , "OGL"
2667− , "ohloh-hs"
2668− , "oi"
2669− , "ois-input-manager"
2670− , "omaketex"
2671− , "omega"
2672− , "Omega"
2673− , "omnicodec"
2674− , "on-a-horse"
2675− , "one-liner"
2676− , "oneormore"
2677− , "onu-course"
2678− , "OpenAFP"
2679− , "OpenAFP-Utils"
2680− , "OpenCL"
2681− , "OpenCLRaw"
2682− , "opencv-raw"
2683− , "openexchangerates"
2684− , "openflow"
2685− , "OpenGLCheck"
2686− , "opengles"
2687− , "openid"
2688− , "open-pandoc"
2689− , "openpgp-Crypto"
2690− , "openpgp-crypto-api"
2691− , "OpenSCAD"
2692− , "openssh-github-keys"
2693− , "opentheory-char"
2694− , "open-union"
2695− , "OpenVG"
2696− , "OpenVGRaw"
2697− , "open-witness"
2698− , "Operads"
2699− , "optimusprime"
2700− , "OrchestrateDB"
2701− , "orchid"
2702− , "orchid-demo"
2703− , "order-maintenance"
2704− , "orgmode-parse"
2705− , "origami"
2706− , "OSM"
2707− , "osm-download"
2708− , "ot"
2709− , "package-vt"
2710− , "packedstring"
2711− , "PageIO"
2712− , "panda"
2713− , "PandocAgda"
2714− , "pandoc-unlit"
2715− , "papillon"
2716− , "pappy"
2717− , "paragon"
2718− , "Paraiso"
2719− , "parallel-tasks"
2720− , "parameterized-data"
2721− , "parco"
2722− , "parco-attoparsec"
2723− , "parconc-examples"
2724− , "parco-parsec"
2725− , "Parry"
2726− , "parsec2"
2727− , "parse-help"
2728− , "parsely"
2729− , "parser-helper"
2730− , "parsestar"
2731− , "partial-lens"
2732− , "partly"
2733− , "passage"
2734− , "pastis"
2735− , "pasty"
2736− , "Pathfinder"
2737− , "pathfindingcore"
2738− , "patterns"
2739− , "paypal-api"
2740− , "pb"
2741− , "PCLT"
2742− , "PCLT-DB"
2743− , "pdynload"
2744− , "peakachu"
2745− , "pec"
2746− , "peg"
2747− , "penny"
2748− , "penny-bin"
2749− , "penny-lib"
2750− , "peparser"
2751− , "perdure"
2752− , "PerfectHash"
2753− , "perm"
2754− , "permute"
2755− , "PermuteEffects"
2756− , "persistent-hssqlppp"
2757− , "persistent-map"
2758− , "persistent-protobuf"
2759− , "pesca"
2760− , "peyotls"
2761− , "pez"
2762− , "pgdl"
2763− , "pg-harness"
2764− , "pg-harness-server"
2765− , "pgsql-simple"
2766− , "pgstream"
2767− , "phasechange"
2768− , "phash"
2769− , "phone-push"
2770− , "phooey"
2771− , "photoname"
2772− , "phraskell"
2773− , "Phsu"
2774− , "phybin"
2775− , "pianola"
2776− , "pi-calculus"
2777− , "picologic"
2778− , "piet"
2779− , "piki"
2780− , "Pipe"
2781− , "pipes-cereal-plus"
2782− , "pipes-conduit"
2783− , "pipes-network-tls"
2784− , "pipes-p2p-examples"
2785− , "pisigma"
2786− , "pit"
2787− , "pkggraph"
2788− , "planar-graph"
2789− , "plat"
2790− , "plivo"
2791− , "PlslTools"
2792− , "plugins"
2793− , "plugins-auto"
2794− , "plugins-multistage"
2795− , "plumbers"
2796− , "png-file"
2797− , "pngload"
2798− , "pngload-fixed"
2799− , "pocket-dns"
2800− , "pointless-haskell"
2801− , "pointless-lenses"
2802− , "pointless-rewrite"
2803− , "polh-lexicon"
2804− , "polyseq"
2805− , "polytypeable"
2806− , "polytypeable-utils"
2807− , "pontarius-mediaserver"
2808− , "pontarius-xmpp"
2809− , "pontarius-xpmn"
2810− , "pool"
2811− , "pool-conduit"
2812− , "popenhs"
2813− , "poppler"
2814− , "porte"
2815− , "porter"
2816− , "ports"
2817− , "posix-acl"
2818− , "posix-waitpid"
2819− , "PostgreSQL"
2820− , "postgresql-orm"
2821− , "postgresql-schema"
2822− , "postgresql-simple-typed"
2823− , "postgresql-typed"
2824− , "postgrest"
2825− , "postie"
2826− , "postmaster"
2827− , "powermate"
2828− , "powerpc"
2829− , "pqc"
2830− , "pqueue-mtl"
2831− , "practice-room"
2832− , "precis"
2833− , "prefork"
2834− , "pregame"
2835− , "prelude-generalize"
2836− , "prelude-plus"
2837− , "preprocess-haskell"
2838− , "press"
2839− , "primula-board"
2840− , "primula-bot"
2841− , "printf-mauke"
2842− , "Printf-TH"
2843− , "PriorityChansConverger"
2844− , "priority-queue"
2845− , "ProbabilityMonads"
2846− , "proc"
2847− , "processing"
2848− , "process-iterio"
2849− , "process-leksah"
2850− , "process-listlike"
2851− , "process-progress"
2852− , "process-qq"
2853− , "procrastinating-structure"
2854− , "procrastinating-variable"
2855− , "procstat"
2856− , "prof2dot"
2857− , "profunctor-extras"
2858− , "progress"
2859− , "progressbar"
2860− , "progression"
2861− , "progressive"
2862− , "proj4-hs-bindings"
2863− , "prolog"
2864− , "prolog-graph"
2865− , "prolog-graph-lib"
2866− , "propane"
2867− , "Proper"
2868− , "proplang"
2869− , "protobuf-native"
2870− , "protocol-buffers-descriptor-fork"
2871− , "protocol-buffers-fork"
2872− , "prove-everywhere-server"
2873− , "proxy-kindness"
2874− , "pub"
2875− , "publicsuffixlistcreate"
2876− , "pubnub"
2877− , "pubsub"
2878− , "puffytools"
2879− , "Pugs"
2880− , "pugs-compat"
2881− , "pugs-DrIFT"
2882− , "pugs-hsregex"
2883− , "pugs-HsSyck"
2884− , "punkt"
2885− , "Pup-Events"
2886− , "Pup-Events-Demo"
2887− , "puppetresources"
2888− , "purescript"
2889− , "pushme"
2890− , "push-notify"
2891− , "push-notify-ccs"
2892− , "push-notify-general"
2893− , "putlenses"
2894− , "puzzle-draw"
2895− , "puzzle-draw-cmdline"
2896− , "pvd"
2897− , "python-pickle"
2898− , "qd"
2899− , "qd-vec"
2900− , "qhull-simple"
2901− , "QIO"
2902− , "quantum-arrow"
2903− , "qudb"
2904− , "quenya-verb"
2905− , "querystring-pickle"
2906− , "queuelike"
2907− , "QuickAnnotate"
2908− , "QuickCheck-GenT"
2909− , "quickcheck-poly"
2910− , "quickcheck-regex"
2911− , "quickcheck-relaxng"
2912− , "quickcheck-rematch"
2913− , "quickpull"
2914− , "quickset"
2915− , "Quickson"
2916− , "quicktest"
2917− , "quoridor-hs"
2918− , "rabocsv2qif"
2919− , "rad"
2920− , "radium"
2921− , "radium-formula-parser"
2922− , "rados-haskell"
2923− , "rail-compiler-editor"
2924− , "rainbow-tests"
2925− , "Raincat"
2926− , "rakhana"
2927− , "ralist"
2928− , "rallod"
2929− , "random-access-list"
2930− , "RandomDotOrg"
2931− , "random-eff"
2932− , "random-effin"
2933− , "random-hypergeometric"
2934− , "random-stream"
2935− , "rand-vars"
2936− , "rangemin"
2937− , "range-space"
2938− , "Ranka"
2939− , "raven-haskell"
2940− , "raven-haskell-scotty"
2941− , "rbr"
2942− , "rdf4h"
2943− , "rdioh"
2944− , "reaction-logic"
2945− , "reactive"
2946− , "reactive-bacon"
2947− , "reactive-balsa"
2948− , "reactive-banana-sdl"
2949− , "reactive-banana-threepenny"
2950− , "reactive-fieldtrip"
2951− , "reactive-glut"
2952− , "reactive-thread"
2953− , "reactor"
2954− , "really-simple-xml-parser"
2955− , "reasonable-lens"
2956− , "record-aeson"
2957− , "record-gl"
2958− , "record-preprocessor"
2959− , "records"
2960− , "records-th"
2961− , "redHandlers"
2962− , "ref"
2963− , "Ref"
2964− , "Referees"
2965− , "refh"
2966− , "reflection-extras"
2967− , "regex-deriv"
2968− , "regex-dfa"
2969− , "regex-genex"
2970− , "regex-parsec"
2971− , "regex-pderiv"
2972− , "regexp-tries"
2973− , "regexqq"
2974− , "regex-tdfa-utf8"
2975− , "regex-tre"
2976− , "regex-xmlschema"
2977− , "regional-pointers"
2978− , "regions"
2979− , "regions-monadsfd"
2980− , "regions-monadstf"
2981− , "regions-mtl"
2982− , "regular-extras"
2983− , "regular-web"
2984− , "reheat"
2985− , "rei"
2986− , "reified-records"
2987− , "reify"
2988− , "remote"
2989− , "remote-debugger"
2990− , "remotion"
2991− , "reorderable"
2992− , "repa-array"
2993− , "repa-bytestring"
2994− , "repa-flow"
2995− , "repa-plugin"
2996− , "repa-series"
2997− , "repa-v4l2"
2998− , "repl"
2999− , "RepLib"
3000− , "repo-based-blog"
3001− , "repr"
3002− , "representable-functors"
3003− , "representable-profunctors"
3004− , "representable-tries"
3005− , "resource-embed"
3006− , "resource-simple"
3007− , "respond"
3008− , "restful-snap"
3009− , "RESTng"
3010− , "restricted-workers"
3011− , "restyle"
3012− , "resumable-exceptions"
3013− , "rethinkdb-client-driver"
3014− , "rethinkdb-model"
3015− , "ReviewBoard"
3016− , "rewrite"
3017− , "rewriting"
3018− , "rezoom"
3019− , "rfc3339"
3020− , "riak"
3021− , "riak-protobuf"
3022− , "riot"
3023− , "ripple"
3024− , "ripple-federation"
3025− , "risc386"
3026− , "rivers"
3027− , "RJson"
3028− , "rmonad"
3029− , "RMP"
3030− , "RNAdesign"
3031− , "RNAdraw"
3032− , "RNAFold"
3033− , "RNAFoldProgs"
3034− , "RNAwolf"
3035− , "roguestar"
3036− , "roguestar-engine"
3037− , "roguestar-gl"
3038− , "roguestar-glut"
3039− , "RollingDirectory"
3040− , "rope"
3041− , "rosa"
3042− , "roshask"
3043− , "rosso"
3044− , "rotating-log"
3045− , "rounding"
3046− , "roundtrip"
3047− , "roundtrip-aeson"
3048− , "roundtrip-string"
3049− , "roundtrip-xml"
3050− , "route-generator"
3051− , "route-planning"
3052− , "rowrecord"
3053− , "rpc"
3054− , "rpc-framework"
3055− , "rpm"
3056− , "rsagl"
3057− , "rsagl-frp"
3058− , "rsagl-math"
3059− , "rss2irc"
3060− , "rubberband"
3061− , "ruff"
3062− , "ruler-core"
3063− , "rungekutta"
3064− , "RxHaskell"
3065− , "safe-freeze"
3066− , "safe-globals"
3067− , "safeint"
3068− , "safe-lazy-io"
3069− , "safe-plugins"
3070− , "safer-file-handles"
3071− , "safer-file-handles-bytestring"
3072− , "safer-file-handles-text"
3073− , "sai-shape-syb"
3074− , "Salsa"
3075− , "salvia"
3076− , "salvia-demo"
3077− , "salvia-extras"
3078− , "salvia-protocol"
3079− , "salvia-sessions"
3080− , "salvia-websocket"
3081− , "samtools-iteratee"
3082− , "sasl"
3083− , "sat"
3084− , "satchmo-backends"
3085− , "satchmo-examples"
3086− , "satchmo-funsat"
3087− , "satchmo-minisat"
3088− , "sat-micro-hs"
3089− , "SBench"
3090− , "scaleimage"
3091− , "scan-vector-machine"
3092− , "scat"
3093− , "scenegraph"
3094− , "schedevr"
3095− , "scholdoc"
3096− , "scholdoc-citeproc"
3097− , "scion"
3098− , "scion-browser"
3099− , "scope"
3100− , "scope-cairo"
3101− , "scottish"
3102− , "scotty-blaze"
3103− , "scotty-fay"
3104− , "scotty-hastache"
3105− , "scotty-session"
3106− , "scrabble-bot"
3107− , "ScratchFs"
3108− , "scrobble"
3109− , "scroll"
3110− , "scrz"
3111− , "Scurry"
3112− , "SDL-gfx"
3113− , "SDL-image"
3114− , "SDL-mixer"
3115− , "SDL-mpeg"
3116− , "SDL-ttf"
3117− , "seacat"
3118− , "search"
3119− , "secdh"
3120− , "second-transfer"
3121− , "secret-santa"
3122− , "secret-sharing"
3123− , "secrm"
3124− , "sednaDBXML"
3125− , "selectors"
3126− , "selenium"
3127− , "selenium-server"
3128− , "selinux"
3129− , "Semantique"
3130− , "semigroups-actions"
3131− , "semi-iso"
3132− , "semiring"
3133− , "sensenet"
3134− , "sentry"
3135− , "senza"
3136− , "seqaid"
3137− , "SeqAlign"
3138− , "seqloc-datafiles"
3139− , "sequent-core"
3140− , "sequor"
3141− , "servant-pool"
3142− , "servant-postgresql"
3143− , "servant-scotty"
3144− , "servius"
3145− , "ses-html-snaplet"
3146− , "SessionLogger"
3147− , "sessions"
3148− , "set-with"
3149− , "sexp"
3150− , "sexpr"
3151− , "sext"
3152− , "SFML"
3153− , "SFML-control"
3154− , "SFont"
3155− , "SG"
3156− , "SGdemo"
3157− , "sgrep"
3158− , "shadower"
3159− , "shady-gen"
3160− , "shady-graphics"
3161− , "shake-extras"
3162− , "shaker"
3163− , "shakespeare-css"
3164− , "shakespeare-i18n"
3165− , "shapely-data"
3166− , "shared-buffer"
3167− , "she"
3168− , "Shellac"
3169− , "Shellac-compatline"
3170− , "Shellac-editline"
3171− , "Shellac-haskeline"
3172− , "Shellac-readline"
3173− , "shellish"
3174− , "shell-pipe"
3175− , "shivers-cfg"
3176− , "showdown"
3177− , "shpider"
3178− , "sifflet"
3179− , "sifflet-lib"
3180− , "signals"
3181− , "simd"
3182− , "simgi"
3183− , "simple"
3184− , "simple-bluetooth"
3185− , "simple-css"
3186− , "simple-c-value"
3187− , "simple-firewire"
3188− , "simple-form"
3189− , "SimpleGL"
3190− , "SimpleH"
3191− , "simpleirc"
3192− , "simpleirc-lens"
3193− , "SimpleLog"
3194− , "simple-log-syslog"
3195− , "simplenote"
3196− , "simple-pascal"
3197− , "simple-postgresql-orm"
3198− , "simpleprelude"
3199− , "simple-session"
3200− , "simplessh"
3201− , "simple-templates"
3202− , "simple-vec3"
3203− , "simseq"
3204− , "sindre"
3205− , "sirkel"
3206− , "sized"
3207− , "sized-types"
3208− , "sized-vector"
3209− , "skeleton"
3210− , "skype4hs"
3211− , "slack"
3212− , "slidemews"
3213− , "sloth"
3214− , "smallarray"
3215− , "smallpt-hs"
3216− , "smallstring"
3217− , "smartcheck"
3218− , "smartGroup"
3219− , "smartword"
3220− , "sme"
3221− , "Smooth"
3222− , "smt-lib"
3223− , "smtlib2"
3224− , "smtp2mta"
3225− , "smtp-mail-ng"
3226− , "smtps-gmail"
3227− , "snake-game"
3228− , "snap-accept"
3229− , "snap-app"
3230− , "snap-elm"
3231− , "snap-extras"
3232− , "snaplet-actionlog"
3233− , "snaplet-css-min"
3234− , "snaplet-environments"
3235− , "snaplet-haxl"
3236− , "snaplet-hdbc"
3237− , "snaplet-i18n"
3238− , "snaplet-mongoDB"
3239− , "snaplet-mongodb-minimalistic"
3240− , "snaplet-mysql-simple"
3241− , "snaplet-oauth"
3242− , "snaplet-redson"
3243− , "snaplet-rest"
3244− , "snaplet-riak"
3245− , "snaplet-sedna"
3246− , "snaplet-tasks"
3247− , "snaplet-typed-sessions"
3248− , "snaplet-wordpress"
3249− , "snap-predicates"
3250− , "snappy-iteratee"
3251− , "snap-testing"
3252− , "snap-utils"
3253− , "sndfile-enumerators"
3254− , "sneathlane-haste"
3255− , "SNet"
3256− , "snm"
3257− , "snow-white"
3258− , "Snusmumrik"
3259− , "SoccerFun"
3260− , "SoccerFunGL"
3261− , "sock2stream"
3262− , "socketio"
3263− , "socket-sctp"
3264− , "sonic-visualiser"
3265− , "SoOSiM"
3266− , "sorted"
3267− , "sound-collage"
3268− , "source-code-server"
3269− , "sousit"
3270− , "soxlib"
3271− , "soyuz"
3272− , "SpaceInvaders"
3273− , "SpacePrivateers"
3274− , "spanout"
3275− , "sparse"
3276− , "sparsebit"
3277− , "sparsecheck"
3278− , "spata"
3279− , "special-functors"
3280− , "specialize-th"
3281− , "speculation-transformers"
3282− , "sphero"
3283− , "sphinx-cli"
3284− , "spice"
3285− , "spike"
3286− , "splaytree"
3287− , "splines"
3288− , "split-record"
3289− , "splot"
3290− , "Spock-auth"
3291− , "spoonutil"
3292− , "spoty"
3293− , "Sprig"
3294− , "spy"
3295− , "sqlite-simple-typed"
3296− , "sql-simple"
3297− , "sql-simple-mysql"
3298− , "sql-simple-pool"
3299− , "sql-simple-postgresql"
3300− , "sql-simple-sqlite"
3301− , "srcinst"
3302− , "sscgi"
3303− , "ssh"
3304− , "sssp"
3305− , "sstable"
3306− , "stackage-curator"
3307− , "stack-prism"
3308− , "starrover2"
3309− , "stateful-mtl"
3310− , "statgrab"
3311− , "statistics-dirichlet"
3312− , "statistics-fusion"
3313− , "stb-truetype"
3314− , "steeloverseer"
3315− , "step-function"
3316− , "stepwise"
3317− , "stm-chunked-queues"
3318− , "stmcontrol"
3319− , "stm-firehose"
3320− , "Stomp"
3321− , "storable-static-array"
3322− , "storablevector"
3323− , "storablevector-carray"
3324− , "storablevector-streamfusion"
3325− , "Strafunski-Sdf2Haskell"
3326− , "streamed"
3327− , "stream-fusion"
3328− , "StrictBench"
3329− , "strict-concurrency"
3330− , "string"
3331− , "stringlike"
3332− , "structured-mongoDB"
3333− , "structures"
3334− , "stunts"
3335− , "subhask"
3336− , "suitable"
3337− , "sunlight"
3338− , "sunroof-compiler"
3339− , "sunroof-examples"
3340− , "sunroof-server"
3341− , "supercollider-midi"
3342− , "superdoc"
3343− , "supero"
3344− , "supervisor"
3345− , "svg2q"
3346− , "SVG2Q"
3347− , "svm-simple"
3348− , "svndump"
3349− , "swapper"
3350− , "swearjure"
3351− , "swf"
3352− , "swift-lda"
3353− , "sws"
3354− , "syb-extras"
3355− , "sylvia"
3356− , "sym-plot"
3357− , "sync"
3358− , "sync-mht"
3359− , "syntax"
3360− , "syntax-attoparsec"
3361− , "syntax-example"
3362− , "syntax-example-json"
3363− , "SyntaxMacros"
3364− , "syntax-pretty"
3365− , "syntax-printer"
3366− , "syntax-trees"
3367− , "syntax-trees-fork-bairyn"
3368− , "synthesizer"
3369− , "synthesizer-alsa"
3370− , "synthesizer-core"
3371− , "synthesizer-dimensional"
3372− , "synthesizer-midi"
3373− , "Sysmon"
3374− , "system-canonicalpath"
3375− , "system-lifted"
3376− , "system-random-effect"
3377− , "ta"
3378− , "Tables"
3379− , "tablestorage"
3380− , "tabloid"
3381− , "tagged-list"
3382− , "tagged-th"
3383− , "tagsoup-ht"
3384− , "tagsoup-parsec"
3385− , "Takusen"
3386− , "takusen-oracle"
3387− , "tamarin-prover"
3388− , "tamarin-prover-term"
3389− , "tamarin-prover-theory"
3390− , "tamarin-prover-utils"
3391− , "tamper"
3392− , "target"
3393− , "task"
3394− , "tasty-integrate"
3395− , "TBC"
3396− , "tbox"
3397− , "tccli"
3398− , "tcp"
3399− , "tdd-util"
3400− , "TeaHS"
3401− , "teams"
3402− , "telegram"
3403− , "template-default"
3404− , "template-haskell-util"
3405− , "template-hsml"
3406− , "templatepg"
3407− , "tempodb"
3408− , "temporal-csound"
3409− , "tempus"
3410− , "tensor"
3411− , "termbox-bindings"
3412− , "term-rewriting"
3413− , "terrahs"
3414− , "tersmu"
3415− , "test-framework-doctest"
3416− , "test-framework-quickcheck"
3417− , "testloop"
3418− , "testpattern"
3419− , "testPkg"
3420− , "testrunner"
3421− , "tetris"
3422− , "tex2txt"
3423− , "texrunner"
3424− , "text-json-qq"
3425− , "textmatetags"
3426− , "text-normal"
3427− , "textPlot"
3428− , "text-register-machine"
3429− , "texts"
3430− , "text-xml-generic"
3431− , "text-xml-qq"
3432− , "tfp-th"
3433− , "themplate"
3434− , "Theora"
3435− , "theoremquest-client"
3436− , "thih"
3437− , "thimk"
3438− , "Thingie"
3439− , "th-instances"
3440− , "th-kinds"
3441− , "thrift"
3442− , "Thrift"
3443− , "throttle"
3444− , "tianbar"
3445− , "tic-tac-toe"
3446− , "TicTacToe"
3447− , "tiger"
3448− , "tighttp"
3449− , "timberc"
3450− , "timecalc"
3451− , "time-extras"
3452− , "time-http"
3453− , "timeout"
3454− , "timeout-control"
3455− , "timeparsers"
3456− , "time-patterns"
3457− , "TimePiece"
3458− , "timeplot"
3459− , "time-recurrence"
3460− , "time-series"
3461− , "timestamp-subprocess-lines"
3462− , "time-w3c"
3463− , "TinyLaunchbury"
3464− , "TinyURL"
3465− , "Titim"
3466− , "tkhs"
3467− , "tkyprof"
3468− , "tls-extra"
3469− , "todos"
3470− , "to-haskell"
3471− , "toilet"
3472− , "toktok"
3473− , "tokyocabinet-haskell"
3474− , "toml"
3475− , "Top"
3476− , "topkata"
3477− , "torch"
3478− , "to-string-class"
3479− , "to-string-instances"
3480− , "Tournament"
3481− , "tracker"
3482− , "trajectory"
3483− , "transactional-events"
3484− , "transformers-convert"
3485− , "transformers-runnable"
3486− , "translate"
3487− , "traypoweroff"
3488− , "treemap-html-tools"
3489− , "treeviz"
3490− , "tremulous-query"
3491− , "TrendGraph"
3492− , "trhsx"
3493− , "triangulation"
3494− , "TrieMap"
3495− , "trimpolya"
3496− , "true-name"
3497− , "tsession"
3498− , "tsession-happstack"
3499− , "tskiplist"
3500− , "tsp-viz"
3501− , "tuntap"
3502− , "tup-functor"
3503− , "tuple-gen"
3504− , "tupleinstances"
3505− , "tuple-morph"
3506− , "twentefp-rosetree"
3507− , "twhs"
3508− , "twidge"
3509− , "twilight-stm"
3510− , "twilio"
3511− , "twill"
3512− , "twiml"
3513− , "twine"
3514− , "twisty"
3515− , "twitch"
3516− , "twitter"
3517− , "twitter-conduit"
3518− , "twitter-enumerator"
3519− , "twitter-types"
3520− , "twitter-types-lens"
3521− , "tx"
3522− , "TYB"
3523− , "typalyze"
3524− , "typeable-th"
3525− , "type-cereal"
3526− , "TypeClass"
3527− , "type-digits"
3528− , "typedquery"
3529− , "type-equality-check"
3530− , "typehash"
3531− , "TypeIlluminator"
3532− , "type-int"
3533− , "type-level"
3534− , "type-level-bst"
3535− , "type-level-sets"
3536− , "typelevel-tensor"
3537− , "type-list"
3538− , "TypeNat"
3539− , "type-natural"
3540− , "type-ord"
3541− , "type-ord-spine-cereal"
3542− , "typeparams"
3543− , "type-prelude"
3544− , "typescript-docs"
3545− , "type-settheory"
3546− , "type-spine"
3547− , "type-structure"
3548− , "type-sub-th"
3549− , "typography-geometry"
3550− , "uAgda"
3551− , "uberlast"
3552− , "uconv"
3553− , "udbus"
3554− , "udbus-model"
3555− , "udev"
3556− , "ui-command"
3557− , "UMM"
3558− , "unamb-custom"
3559− , "unbound"
3560− , "unbounded-delays-units"
3561− , "unboxed-containers"
3562− , "unicode-normalization"
3563− , "unicoder"
3564− , "uniform-io"
3565− , "union-map"
3566− , "uniqueid"
3567− , "unique-logic-tf"
3568− , "units"
3569− , "units-defs"
3570− , "unittyped"
3571− , "universe-th"
3572− , "unix-process-conduit"
3573− , "unlit"
3574− , "unordered-containers-rematch"
3575− , "unpack-funcs"
3576− , "unscramble"
3577− , "up"
3578− , "uploadcare"
3579− , "upskirt"
3580− , "ureader"
3581− , "urembed"
3582− , "uri-conduit"
3583− , "uri-enumerator"
3584− , "uri-enumerator-file"
3585− , "urlcheck"
3586− , "urldecode"
3587− , "UrlDisp"
3588− , "urldisp-happstack"
3589− , "url-generic"
3590− , "URLT"
3591− , "urxml"
3592− , "usb-enumerator"
3593− , "usb-iteratee"
3594− , "usb-safe"
3595− , "uuagc-diagrams"
3596− , "uu-tc"
3597− , "uvector"
3598− , "uvector-algorithms"
3599− , "v4l2"
3600− , "v4l2-examples"
3601− , "vacuum"
3602− , "vacuum-cairo"
3603− , "vacuum-graphviz"
3604− , "vacuum-opengl"
3605− , "vacuum-ubigraph"
3606− , "validate"
3607− , "vampire"
3608− , "var"
3609− , "vaultaire-common"
3610− , "vcard"
3611− , "Vec-Boolean"
3612− , "Vec-OpenGLRaw"
3613− , "vector-bytestring"
3614− , "vector-clock"
3615− , "vector-conduit"
3616− , "vector-fftw"
3617− , "vector-functorlazy"
3618− , "vector-instances-collections"
3619− , "vector-random"
3620− , "vector-read-instances"
3621− , "vector-space-opengl"
3622− , "vector-static"
3623− , "Vec-Transform"
3624− , "verilog"
3625− , "vigilance"
3626− , "vintage-basic"
3627− , "vinyl"
3628− , "vinyl-gl"
3629− , "vinyl-json"
3630− , "vinyl-utils"
3631− , "virthualenv"
3632− , "vision"
3633− , "visual-graphrewrite"
3634− , "visual-prof"
3635− , "vk-aws-route53"
3636− , "VKHS"
3637− , "vorbiscomment"
3638− , "vowpal-utils"
3639− , "voyeur"
3640− , "vtegtk3"
3641− , "vty-examples"
3642− , "vty-menu"
3643− , "vty-ui"
3644− , "vty-ui-extras"
3645− , "wai-cors"
3646− , "wai-eventsource"
3647− , "wai-graceful"
3648− , "wai-handler-devel"
3649− , "wai-handler-snap"
3650− , "wai-handler-webkit"
3651− , "wai-hastache"
3652− , "wai-lite"
3653− , "wai-logger-prefork"
3654− , "wai-middleware-cache"
3655− , "wai-middleware-cache-redis"
3656− , "wai-middleware-catch"
3657− , "wai-middleware-consul"
3658− , "wai-middleware-etag"
3659− , "wai-middleware-headers"
3660− , "wai-middleware-hmac-client"
3661− , "wai-middleware-preprocessor"
3662− , "wai-middleware-route"
3663− , "wai-middleware-static-caching"
3664− , "wai-predicates"
3665− , "wai-routing"
3666− , "wai-session-tokyocabinet"
3667− , "wai-static-cache"
3668− , "wai-throttler"
3669− , "waitra"
3670− , "warp-dynamic"
3671− , "warp-static"
3672− , "warp-tls-uid"
3673− , "WashNGo"
3674− , "watchdog"
3675− , "watcher"
3676− , "watchit"
3677− , "wavesurfer"
3678− , "weather-api"
3679− , "WebBits-Html"
3680− , "WebBits-multiplate"
3681− , "web-browser-in-haskell"
3682− , "WebCont"
3683− , "webcrank-dispatch"
3684− , "webcrank-wai"
3685− , "webdriver-snoy"
3686− , "web-encodings"
3687− , "webify"
3688− , "webkit-javascriptcore"
3689− , "web-mongrel2"
3690− , "Webrexp"
3691− , "web-routes-quasi"
3692− , "web-routes-transformers"
3693− , "webserver"
3694− , "websnap"
3695− , "webwire"
3696− , "wedged"
3697− , "weighted-regexp"
3698− , "welshy"
3699− , "Wheb"
3700− , "wheb-mongo"
3701− , "wheb-redis"
3702− , "wheb-strapped"
3703− , "whim"
3704− , "whitespace"
3705− , "WikimediaParser"
3706− , "wikipedia4epub"
3707− , "Win32-dhcp-server"
3708− , "Win32-errors"
3709− , "Win32-extras"
3710− , "Win32-junction-point"
3711− , "Win32-notify"
3712− , "Win32-security"
3713− , "Win32-services"
3714− , "Win32-services-wrapper"
3715− , "windowslive"
3716− , "winerror"
3717− , "winio"
3718− , "WL500gPControl"
3719− , "wlc-hs"
3720− , "wobsurv"
3721− , "woffex"
3722− , "wolf"
3723− , "word24"
3724− , "wordcloud"
3725− , "Wordlint"
3726− , "WordNet"
3727− , "WordNet-ghc74"
3728− , "wordsearch"
3729− , "wp-archivebot"
3730− , "wraxml"
3731− , "wright"
3732− , "wtk"
3733− , "wtk-gtk"
3734− , "wumpus-basic"
3735− , "wumpus-core"
3736− , "wumpus-drawing"
3737− , "wumpus-microprint"
3738− , "wumpus-tree"
3739− , "WURFL"
3740− , "wxAsteroids"
3741− , "WXDiffCtrl"
3742− , "wxFruit"
3743− , "wxhnotepad"
3744− , "wxturtle"
3745− , "wyvern"
3746− , "X11-extras"
3747− , "X11-rm"
3748− , "X11-xdamage"
3749− , "X11-xfixes"
3750− , "x11-xinput"
3751− , "x509-util"
3752− , "xchat-plugin"
3753− , "x-dsp"
3754− , "Xec"
3755− , "xfconf"
3756− , "xhaskell-library"
3757− , "xhb-ewmh"
3758− , "xine"
3759− , "xing-api"
3760− , "XInput"
3761− , "xkcd"
3762− , "xlsior"
3763− , "xlsx-templater"
3764− , "xml2json"
3765− , "xml2x"
3766− , "xml-catalog"
3767− , "xml-enumerator"
3768− , "xml-enumerator-combinators"
3769− , "XmlHtmlWriter"
3770− , "xml-parsec"
3771− , "xml-pipe"
3772− , "xml-prettify"
3773− , "xml-push"
3774− , "xmltv"
3775− , "XMMS"
3776− , "xmms2-client"
3777− , "xmms2-client-glib"
3778− , "xmonad-bluetilebranch"
3779− , "xmonad-contrib-bluetilebranch"
3780− , "xmonad-eval"
3781− , "xmpipe"
3782− , "XMPP"
3783− , "xournal-builder"
3784− , "xournal-convert"
3785− , "xournal-parser"
3786− , "xournal-render"
3787− , "xournal-types"
3788− , "xsact"
3789− , "XSaiga"
3790− , "xslt"
3791− , "y0l0bot"
3792− , "Yablog"
3793− , "yackage"
3794− , "YACPong"
3795− , "yahoo-web-search"
3796− , "yajl"
3797− , "yajl-enumerator"
3798− , "yaml2owl"
3799− , "YamlReference"
3800− , "yaml-rpc"
3801− , "yaml-rpc-scotty"
3802− , "yaml-rpc-snap"
3803− , "yampa-canvas"
3804− , "yampa-glfw"
3805− , "yampa-glut"
3806− , "yaop"
3807− , "yarr"
3808− , "yarr-image-io"
3809− , "yavie"
3810− , "ycextra"
3811− , "yesod-angular-ui"
3812− , "yesod-auth-account-fork"
3813− , "yesod-auth-kerberos"
3814− , "yesod-auth-ldap"
3815− , "yesod-auth-pam"
3816− , "yesod-auth-smbclient"
3817− , "yesod-bootstrap"
3818− , "yesod-comments"
3819− , "yesod-continuations"
3820− , "yesod-datatables"
3821− , "yesod-dsl"
3822− , "yesod-eventsource"
3823− , "yesod-examples"
3824− , "yesod-goodies"
3825− , "yesod-links"
3826− , "yesod-mangopay"
3827− , "yesod-paginate"
3828− , "yesod-pagination"
3829− , "yesod-paginator"
3830− , "yesod-platform"
3831− , "yesod-pure"
3832− , "yesod-purescript"
3833− , "yesod-raml"
3834− , "yesod-routes-flow"
3835− , "yesod-routes-typescript"
3836− , "yesod-rst"
3837− , "yesod-s3"
3838− , "yesod-session-redis"
3839− , "yesod-tableview"
3840− , "yesod-test-json"
3841− , "yesod-tls"
3842− , "yesod-vend"
3843− , "yesod-worker"
3844− , "YFrob"
3845− , "yhccore"
3846− , "yi-contrib"
3847− , "yi-fuzzy-open"
3848− , "yi-gtk"
3849− , "yi-vty"
3850− , "yjftp"
3851− , "Yogurt"
3852− , "Yogurt-Standalone"
3853− , "yoko"
3854− , "york-lava"
3855− , "yql"
3856− , "yuiGrid"
3857− , "yuuko"
3858− , "zampolit"
3859− , "zasni-gerna"
3860− , "zendesk-api"
3861− , "zeno"
3862− , "zeromq3-conduit"
3863− , "zeromq3-haskell"
3864− , "zeromq-haskell"
3865− , "zeroth"
3866− , "ZFS"
3867− , "zipedit"
3868− , "ZMachine"
3869− , "zmcat"
3870− , "zmqat"
3871− , "zoneinfo"
3872− , "zoom"
3873− , "zoom-cache"
3874− , "zoom-cache-pcm"
3875− , "zoom-cache-sndfile"
3876− , "zot"
3877− , "zsh-battery"
3878− , "ztail"
3879− , "Zwaluw"
3880− ]
3881−
3882−}
3883−
3884−-- instance Text Configuration where
3885−-- parse = do platform <- token (Parse.string "platform") >> token (Parse.char '=') >> parse
3886−-- return $ Configuration
3887−-- { platform = platform
3888−-- }
3889−
3890−-- token :: Parse.ReadP r a -> Parse.ReadP r a
3891−-- -- token p = p >>= \r -> Parse.skipSpaces >> return r
3892−-- token p = Parse.skipSpaces >> p
3893−
3894−-- listOf :: Parse.ReadP r a -> Parse.ReadP r [a]
3895−-- listOf p = Parse.between (token (Parse.char '[')) (token (Parse.char ']'))
3896−-- (Parse.sepBy (token p) (token (Parse.char ',')))
3897−
3898−-- run :: Parse.ReadP a a -> String -> Maybe a
3899−-- run p str = case [ r' | (r', s) <- Parse.readP_to_S (Parse.skipSpaces >> p) str, all isSpace s ] of
3900−-- [] -> Nothing
3901−-- (r:_) -> Just r