Difference between revisions of "Haskell Platform"

From HaskellWiki
Jump to navigation Jump to search
(Start on HLP page)
 
(→‎Criteria: wikify)
Line 22: Line 22:
 
* GHC would build against its own core libraries, but would be generally distributed with the HLP.
 
* GHC would build against its own core libraries, but would be generally distributed with the HLP.
   
* The HLP should provide good coverage for all typical tasks one might
+
* The HLP should provide good coverage for all typical tasks one might want to accomplish with the language, given library availability.
want to accomplish with the language, given library availability.
 
   
 
* No bottlenecks: release of the HLP should be entirely independent from GHC
 
* No bottlenecks: release of the HLP should be entirely independent from GHC

Revision as of 22:35, 9 July 2008

Haskell: Batteries Included

The Haskell Library Platform (HLP) is the name of a proposed library set that would be the minimum standard for Haskell library support on a system.

There are now more than 500 libraries available for Haskell, on hackage. Choosing which libraries to support on a distro is currently done on an ad hoc basis, with significant variation from one distribution to another.

Some, such as Arch Linux, or Gentoo Linux, include as many libraries as possible (typically over 400), while others have the bare minimum required to build ghc and say, darcs and xmonad.

The Haskell community needs to provide direction and blessing to a library set that should be available and adopted, to further encourage Haskell use.

Criteria

  • GHC would build against its own core libraries, but would be generally distributed with the HLP.
  • The HLP should provide good coverage for all typical tasks one might want to accomplish with the language, given library availability.
  • No bottlenecks: release of the HLP should be entirely independent from GHC

Quality Control

  • cabal-installable libraries with haddocks.

Current library set

Core system

This will be on every system, as they're required for GHC to build:

  • array
  • base
  • bytestring
  • Cabal
  • containers
  • directory
  • editline
  • filepath
  • haskell98
  • hpc
  • integer-gmp
  • old-locale
  • old-time
  • packedstring
  • pretty
  • process
  • random
  • template-haskell
  • unix OR Win32

Extra libraries

Current libraries available in the 'extralibs' bundle provided with GHC, a descendent of what used to by fptools, with a few additions.

  • ALUT
  • GLUT
  • HUnit
  • ObjectIO
  • OpenAL
  • OpenGL
  • QuickCheck
  • cgi
  • fgl
  • haskell-src
  • html
  • mtl
  • network
  • parsec
  • parallel
  • regex-base
  • regex-compat
  • regex-posix
  • stm
  • time
  • xhtml

Hackage =

A quick list of key libraries on Hackage, by genre:

  • Codecs
    • base64
    • bzlib
    • zlib
    • dataenc
    • encoding
    • iconv
    • mime
    • utf8-string
    • tar
    • nano-md5/hmac
    • pureMD5
  • Control
    • arrows
    • category-extras
    • logict
    • maybet
    • mtl
    • reactive
    • monad-lib
  • Data
    • array
    • binary
    • binary-strict
    • bloomfilter
    • bytestring
    • carray
    • containers
    • dlist
    • lazyarray
    • numbers
    • ranged-sets
    • stream
    • strict
    • suffixtree
    • avltree
    • bitset
    • bktrees
    • fingertree
    • random-access-list
    • heap
  • Database
    • hdbc
    • takusen
    • sqlite
  • Development
    • alex
    • c2hs
    • cpphs
    • derive
    • haddock
    • happy
    • cabal
    • cabal-install
    • hscolour
  • Graphics
    • Chart
    • gd
    • hgl
    • hpdf
    • opengl
    • x11
  • GUI
    • gtk2hs
    • wxHaskell
  • Languages and parsing
    • haskell-src
    • Language.C
    • parsec
    • polyparse
    • csv
    • feed
    • rss
    • haxml
    • hxt
    • xml
    • html
    • xhtml
    • i18n
    • hssyck
    • pcre-light
    • regex
    • hstemplate
  • Math
    • blas
    • hmatrix
    • cmath
    • fft
    • mersenne-random
  • Network
    • cgi
    • cgi-undecidable
    • curl
    • download-curl
    • fastcgi
    • ftphs
    • hS3
    • http
    • network
    • network-bytestring
  • Sound
    • alut
    • openal
  • System
    • bytestring-mmap
    • directory
    • flepath
    • locale
    • time
    • parsedate
    • process
    • random
    • unix
    • parseargs

Release mechanics

Public "Haskell Compliant" list

To encourage adoption of the HLP, distributions that support the HLP will be publically listed as e.g. "Haskell Compliant"

Management

History

  • fptools
  • extralibs/ core libs

Related