Difference between revisions of "Haskell Platform"

From HaskellWiki
Jump to navigation Jump to search
m (Update link)
(115 intermediate revisions by 21 users not shown)
Line 1: Line 1:
  +
{{HP}}
'''Haskell: Batteries Included'''
 
   
  +
The Haskell Platform is a single, standard [[Haskell]] development environment for everyone. It offers a set of blessed libraries and tools, to save you the task of picking and choosing which core Haskell libraries to use.
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.
 
   
  +
[http://haskell.org/platform/contents.html Learn more about the Haskell Platform ⇒]
More generally, if we want tools as well as libraries, then the simpler name
 
''Haskell Platform'' may be more appropriate.
 
   
  +
__TOC__
There are now more than 500 libraries available for Haskell, on
 
[http://hackage.haskell.org 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.
 
   
  +
== What's in the platform ==
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.
 
   
  +
See the official [http://www.haskell.org/platform/changelog.html Haskell Platform Changelog].
The Haskell community needs to provide direction and blessing to a
 
library set that should be available and adopted, to further encourage
 
Haskell use.
 
   
Ensuring that the chosen set of library versions works well together, and
 
with a particular version of GHC (and other tools), is a major goal.
 
   
== Discussion ==
+
== Trouble shooting ==
   
  +
Report bugs on GitHub:
* [http://thread.gmane.org/gmane.comp.lang.haskell.cvs.ghc/28062/focus=28807 A discussion] took place in June and July 2008 about the direction of the HLP.
 
  +
[https://github.com/haskell/haskell-platform/issues Haskell Platform Issues].
   
==Criteria==
 
   
  +
=== Developers ===
* GHC would build against its own core libraries, but would be generally distributed with the HLP.
 
   
  +
* New [https://github.com/haskell/haskell-platform/wiki/ Haskell Platform Wiki]
* The HLP should provide good coverage for all typical tasks one might want to accomplish with the language, given library availability.
 
  +
* Old [http://trac.haskell.org/haskell-platform/ Trac wiki]
   
  +
== Buttons ==
* No bottlenecks: release of the HLP should be entirely independent from GHC, and also independent of the development cycle of any individual library or tool.
 
   
  +
We have some buttons to let your friends know about the Haskell Platform.
===Quality Control===
 
   
  +
[http://haskell.org/platform http://raw.githubusercontent.com/haskell/haskell-platform/master/website/icons/button-100.png]
* cabal-installable libraries with haddocks.
 
   
  +
Use this html in your site:
== Current library set ==
 
   
  +
<code>
===Core system===
 
  +
<nowiki>
  +
<a href="http://haskell.org/platform">
  +
<img src="http://raw.githubusercontent.com/haskell/haskell-platform/master/website/icons/button-100.png"></a>
  +
</nowiki>
  +
</code>
   
  +
[http://haskell.org/platform http://raw.githubusercontent.com/haskell/haskell-platform/master/website/icons/button-64.png]
This will be on every system, as they're required for GHC to build:
 
   
  +
Use this html in your site:
* 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
 
   
  +
<code>
===Extra libraries===
 
  +
<nowiki>
  +
<a href="http://hackage.haskell.org/platform">
  +
<img src="http://raw.githubusercontent.com/haskell/haskell-platform/master/website/icons/button-64.png"></a>
  +
</nowiki>
  +
</code>
   
  +
SVG source for the button: http://haskell.org/haskellwiki/Image:Button.svg
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 ===
+
=== Icons ===
   
  +
Icons for the platform installer and desktop.
A quick list of key libraries on Hackage, by genre:
 
   
  +
[[Image:Platform-100.png]]
* Codecs
 
**base64
 
**bzlib
 
**zlib
 
**dataenc
 
**encoding
 
**iconv
 
**mime
 
**utf8-string
 
**tar
 
**nano-md5/hmac
 
**pureMD5
 
   
  +
[[Image:Platform-64.png]]
* 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
 
   
  +
=== Legal ===
* Database
 
**hdbc
 
**takusen
 
**sqlite
 
   
  +
* The cherry blossom image used in the 2011 HP release is [http://www.flickr.com/photos/28481088@N00/3291086383/ licensed CC by tanakawho]
* Development
 
**alex
 
**c2hs
 
**cpphs
 
**derive
 
**haddock
 
**happy
 
**cabal
 
**cabal-install
 
**hscolour
 
   
* Graphics
 
** Chart
 
** gd
 
** hgl
 
** hpdf
 
** opengl
 
** x11
 
   
  +
[[Category:HaskellPlatform]]
* 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
 
 
== Tools ==
 
 
Language-processing tools should probably also be considered to be part of the platform. Commonly-needed tools include:
 
 
* ghc
 
* happy
 
* alex
 
* haddock
 
* cpphs
 
* cabal-install (now known simply as cabal?)
 
 
What else might we consider?
 
 
* DrIFT or derive
 
* throw in another compiler - e.g. Hugs?
 
* c2hs
 
* hsc2hs
 
 
==Release mechanics==
 
 
==Public "Haskell Platform Compliant" list==
 
 
To encourage adoption of the HLP, distributions that support the HLP
 
will be publically listed as e.g. "Haskell Platform Compliant"
 
 
==Management==
 
 
== Next Steps==
 
''What are the next steps to move this process forward? Build distribution packages for the distros listed above, containing the haskell packages listed above?''
 
 
==History==
 
 
* fptools
 
* extralibs/ core libs
 
 
== Related ==
 
 
* [http://docs.python.org/lib/lib.html Python libraries]
 
* Gnome's release process.
 
 
[[Category:Community]]
 

Revision as of 14:34, 11 August 2014

Platform.png
The Haskell Platform


The Haskell Platform is a single, standard Haskell development environment for everyone. It offers a set of blessed libraries and tools, to save you the task of picking and choosing which core Haskell libraries to use.

Learn more about the Haskell Platform ⇒

What's in the platform

See the official Haskell Platform Changelog.


Trouble shooting

Report bugs on GitHub: Haskell Platform Issues.


Developers

Buttons

We have some buttons to let your friends know about the Haskell Platform.

button-100.png

Use this html in your site:

<a href="http://haskell.org/platform"> <img src="http://raw.githubusercontent.com/haskell/haskell-platform/master/website/icons/button-100.png"></a>

button-64.png

Use this html in your site:

<a href="http://hackage.haskell.org/platform"> <img src="http://raw.githubusercontent.com/haskell/haskell-platform/master/website/icons/button-64.png"></a>

SVG source for the button: http://haskell.org/haskellwiki/Image:Button.svg


Icons

Icons for the platform installer and desktop.

Platform-100.png

Platform-64.png


Legal