Difference between revisions of "Haskell Platform"

From HaskellWiki
Jump to navigation Jump to search
m (Changed link to haskell platform documentation - original link returned 404)
 
(102 intermediate revisions by 19 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 Platform (HP) 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 ⇒]
[[Image:Small-package-bubbles.png]]
 
   
  +
__TOC__
More generally, if we want tools as well as libraries, then the simpler name
 
''Haskell Platform'' may be more appropriate than the original name ''Haskell Library Platform''.
 
   
  +
== What's in the platform ==
There are now around 800 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.
 
   
  +
See the [https://www.haskell.org/downloads/#platform Haskell Platform documentation] on [https://www.haskell.org haskell.org].
The goal of the Haskell Platform is to provide a comprehensive, reliable base of libraries on which Haskell programmers can build anything they may wish. It should supply a significant percent of the dependencies required to build everything on hackage.haskell.org, and have a clear process for moving forward.
 
   
== Developers ==
 
   
  +
== Trouble shooting ==
Haskell Platform core team:
 
   
  +
Report bugs on GitHub:
* Duncan Coutts (Well Typed)
 
  +
[https://github.com/haskell/haskell-platform/issues Haskell Platform Issues].
* Don Stewart (Galois)
 
   
== Resources ==
 
   
  +
=== Developers ===
* [http://code.haskell.org/haskell-platform Haskell Platform project repository].
 
* [http://trac.haskell.org/haskell-platform/ Project bug tracker]
 
   
  +
* New [https://github.com/haskell/haskell-platform/wiki/ Haskell Platform Wiki]
== Documentation ==
 
  +
* Old [http://trac.haskell.org/haskell-platform/ Trac wiki]
   
  +
== Buttons ==
* [http://cgi.cse.unsw.edu.au/~dons/blog/2008/07/29#batteries The Haskell Platform Proposal] for the 2008 Haskell Symposium
 
   
  +
We have some buttons to let your friends know about the Haskell Platform.
* Bryan O'Sullivan's [http://www.serpentine.com/blog/2008/09/26/some-notes-on-the-future-of-haskell-and-fp/ writeup] of the future of Haskell discussion
 
   
  +
[http://haskell.org/platform http://raw.githubusercontent.com/haskell/haskell-platform/master/website/icons/button-100.png]
* [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.
 
   
  +
Use this html in your site:
* [http://haskell.org/~duncan/ghc/%23ghc-2008-07-16.log More occurred during the #ghc meeting]
 
   
  +
<code>
===Quality Control===
 
  +
<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]
* cabal-installable libraries with haddocks.
 
   
  +
Use this html in your site:
* The set of HP packages + core libs must be closed. That is all haskell dependencies must be from within the HP packages or core libs. Dependencies on C libs can be external.
 
   
  +
<code>
* All packages in a particular HP version must have a consistent install plan.
 
  +
<nowiki>
That means only one version of each package and all dependencies on packages must be satisfied by the version in the HP package set.
 
  +
<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
There is code in cabal-install to check the last two requirements.
 
   
Other possible ideas for quality standards we might want to require:
 
   
  +
=== Icons ===
* exposed module names must follow the hierarchical module name convention, meaning they must be in an appropriate place in the module namespace. In particular, no clash of module names should occur within the HP.
 
   
  +
Icons for the platform installer and desktop.
=== Other heuristics ===
 
   
  +
[[Image:Platform-100.png]]
Packages set for inclusion should:
 
   
  +
[[Image:Platform-64.png]]
* Have a maintainer
 
* Have a bug tracker
 
* Use the correct versioning
 
* Build with cabal
 
* Work on all arches.
 
   
Further goals:
 
   
  +
=== Legal ===
* -Wall clean
 
* 100% coverage
 
* Have real world use.
 
* Answer a notable set of build dependencies.
 
   
  +
* The cherry blossom image used in the 2011 HP release is [http://www.flickr.com/photos/28481088@N00/3291086383/ licensed CC by tanakawho]
== Distribution format ==
 
   
* Source distribution
 
* .tar.gz bundle compatible with extra-libs
 
* Windows Installed
 
* Native distro packages
 
   
  +
[[Category:HaskellPlatform]]
The HP can be a meta package on hackage.haskell.org, that simply
 
depends on the core set.
 
 
cabal install haskell-platform
 
 
should work, for example.
 
 
Beyond this, we'll need a why to provide single tarballs of the set,
 
windows installers et al. Will GHC need cabal-install?
 
 
== HLP: Batteries Included==
 
 
[[/Batteries_Included]]
 
 
== 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
 
 
== Related ==
 
 
* [http://docs.python.org/lib/lib.html Python libraries]
 
* [http://live.gnome.org/ReleasePlanning Gnome's release process]
 
* [http://live.gnome.org/ReleasePlanning/ModuleProposing How to propose modules for GNOME]
 
* [http://dutherenverseauborddelatable.wordpress.com/2008/08/29/ocaml-batteries-included-release-0-where-it-should-all-have-begun/ OCaml Batteries]
 
 
[[Category:Community]]
 

Latest revision as of 13:28, 21 January 2020

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 Haskell Platform documentation on haskell.org.


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