Difference between revisions of "Haskell Platform"

From HaskellWiki
Jump to navigation Jump to search
(Added Category:HaskellPlatform)
(90 intermediate revisions by 18 users not shown)
Line 1: Line 1:
  +
{{HP}}
'''Haskell: Batteries Included'''
 
   
The Haskell Platform (HP) is the name of a new "blessed" library suite on which to build further Haskell libraries and applications, by taking the best libraries from the nearly 800 libraries of [http://hackage.haskell.org haskell.org]. It provides a comprehensive, stable and quality tested base for Haskell projects to work from.
+
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.
   
  +
[http://hackage.haskell.org/platform/contents.html Learn more about the Haskell Platform ⇒]
[[Image:Small-package-bubbles.png|Libraries in the platform, with area based on number of libraries that depend on it]] [[Image:Haskell-graph.png|Graph of library dependencies. The platform is the center of the graph]]
 
   
  +
__TOC__
   
  +
== What's in the platform ==
   
  +
See
== Developers ==
 
  +
* the [http://hackage.haskell.org/platform/changelog.html change log]
  +
* the unofficial [http://sol.github.com/haskell-platform-versions-comparison-chart/ Versions Comparison Chart]
   
Haskell Platform core team:
 
   
  +
== Trouble shooting ==
* Duncan Coutts (Well Typed)
 
* Don Stewart (Galois)
 
   
  +
The Haskell Platform project maintains a bug tracker and wiki site, which you can use to report problems, or request features:
== Resources ==
 
   
* [http://code.haskell.org/haskell-platform Haskell Platform project repository].
+
* [http://trac.haskell.org/haskell-platform/report/1 Known issues]
* [http://trac.haskell.org/haskell-platform/ Project bug tracker]
+
* [http://trac.haskell.org/haskell-platform/newticket?summary=%3CProblem%3E&description=%3CDescribe%20the%20problem%3E&component=Platform Report a bug]
   
== Documentation ==
 
   
  +
=== Developers ===
* [http://cgi.cse.unsw.edu.au/~dons/blog/2008/07/29#batteries The Haskell Platform Proposal] for the 2008 Haskell Symposium
 
   
  +
For developers, there is a wiki page with project details:
* [http://blog.well-typed.com/2008/09/slides-from-the-haskell-platform-talk/ Slides from the Haskell Platform talk]
 
   
  +
* [http://trac.haskell.org/haskell-platform/ Developer's wiki]
* [http://blog.well-typed.com/2008/09/hackage-hacking-and-demo/ Haskell Platform discussion]
 
  +
* [http://trac.haskell.org/haskell-platform/wiki/ReleaseTimetable Release Timetable]
   
* 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
 
   
  +
== Buttons ==
* [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.
 
   
  +
We have some buttons to let your friends know about the Haskell Platform.
* [http://haskell.org/~duncan/ghc/%23ghc-2008-07-16.log More occurred during the #ghc meeting]
 
   
  +
[http://hackage.haskell.org/platform http://hackage.haskell.org/platform/icons/button-100.png]
===Quality Control===
 
   
  +
Use this html in your site:
Inclusion or exclusion in the platform will be drive by metrics, objective measurements we can extract from code. Determining appropriate metrics is a milestone.
 
   
  +
<code>
* cabal-installable libraries with haddocks.
 
  +
<nowiki>
  +
<a href="http://hackage.haskell.org/platform"
  +
><img src="http://hackage.haskell.org/platform/icons/button-100.png"></a>
  +
</nowiki>
  +
</code>
   
  +
[http://hackage.haskell.org/platform http://hackage.haskell.org/platform/icons/button-64.png]
* 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.
 
   
  +
Use this html in your site:
* All packages in a particular HP version must have a consistent install plan.
 
That means only one version of each package and all dependencies on packages must be satisfied by the version in the HP package set.
 
   
  +
<code>
There is code in cabal-install to check the last two requirements.
 
  +
<nowiki>
  +
<a href="http://hackage.haskell.org/platform"
  +
><img src="http://hackage.haskell.org/platform/icons/button-64.png"></a>
  +
</nowiki>
  +
</code>
   
  +
SVG source for the button: http://haskell.org/haskellwiki/Image:Button.svg
Other possible ideas for quality standards we might want to require:
 
   
* 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.
 
   
=== Other heuristics ===
+
=== Icons ===
   
  +
Icons for the platform installer and desktop.
Packages set for inclusion should:
 
   
  +
[[Image:Platform-100.png]]
* Have a maintainer
 
* Have a bug tracker
 
* Use the correct versioning
 
* Build with cabal
 
* Work on all arches.
 
   
  +
[[Image:Platform-64.png]]
Further goals:
 
   
* -Wall clean
 
* 100% coverage
 
* Have real world use.
 
* Answer a notable set of build dependencies.
 
   
== Distribution format ==
+
=== Legal ===
   
  +
* The cherry blossom image used in the 2011 HP release is [http://www.flickr.com/photos/28481088@N00/3291086383/ licensed CC by tanakawho]
* Source distribution
 
* .tar.gz bundle compatible with extra-libs
 
* Windows Installed
 
* Native distro packages
 
   
The HP can be a meta package on hackage.haskell.org, that simply
 
depends on the core set.
 
   
  +
[[Category:HaskellPlatform]]
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]]
 

Revision as of 13:16, 12 May 2013

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


Trouble shooting

The Haskell Platform project maintains a bug tracker and wiki site, which you can use to report problems, or request features:


Developers

For developers, there is a wiki page with project details:


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://hackage.haskell.org/platform" ><img src="http://hackage.haskell.org/platform/icons/button-100.png"></a>

button-64.png

Use this html in your site:

<a href="http://hackage.haskell.org/platform" ><img src="http://hackage.haskell.org/platform/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