Date post: | 08-Apr-2015 |
Category: |
Documents |
Upload: | don-stewart |
View: | 28,170 times |
Download: | 2 times |
Hackage, Cabaland
The Haskell Platform
The Second Year
Don Stewart Duncan CouttsGalois Well-Typed
Goals of the Haskell Platform● Standardized list of compilers, libraries and
tools● Comprehensive: Haskell: Batteries Included● One level of quality control for Hackage● Makes it easier to get your work distributed,
with free marketing support● Move stabilization work from GHC team to
libraries team● One click installers for Windows, Mac, Unix
http://haskell.org/platform
The Haskell Platform
What we did in 2010● First full year of the HP project
● Time-based releases:– 2010.1.x March– 2010.2.x July
● Package Addition Process– http://trac.haskell.org/haskell-platform/wiki/AddingPackages
● Proposals:
– + text– mtl → mtl2 with transformers
HP Results: 2010● 703k total downloads● 138k unique IP addresses downloaded Haskell● ~125k downloads per HP release● Windows dominates the installs, and is 50% of
traffic to the HP site.
● Total world's population of Haskell
programmers would fit on 1155 Boeing 747s...
● Global Village● 154 countries● US . DE . UK . JP . RU . CA . CH . AU . FR . BR● SE . NL . PL . IN . IT . ES . UA . AR . KR . FI
“Try http://hackage.haskell.org/platform/ It's made this sort of stuff a lot easier!”
“Drooling over the Haskell Platform”
“I'm glad to see such an easy way to get up and running with Haskell finally!”
“MSYSGit + MingW + Emacs + HaskellPlatform on Windows is so nice. It's almost like I'm using a real OS.”
“The #Haskell Platform installed beautifully on my machine. I wish that all of my research tools were so nicely packaged”
“it is easier to install the new #haskell #Platform in a mac than the JDK #win
“Cannot believe I still can't apt-get install haskell-platform in Ubuntu 10.04...”
“Haha! Haskell, I hate you! Someone knows why, after installing Haskell Platform on Mac, I can't use cabal?”
“Installing Haskell Platform 2010.2.0.0 using the official DMG. MacPorts sucks!”
“Why is haskell-platform 138MB? Does it include monad of the entire world?”
“Installing Haskell Platform on Linux is a royal pain in the ass.”
“So, you can't compile & install Haskell unless you already have a working version of Haskell...”
Avoiding avoiding success hurts
Haskell Platform and GHC 7
● The new GHC 7 comes out soon● No more base 3● -XMonoBinds with GADTs● -XHaskell2010 by default (e.g. FFI available)● 3 months until HP 2011● Inliner, LLVM, type checker, IO manager new
● So: 3 month “beta testing” for GHC 7 series● Then it is in the standard distribution
Hackage
Hackage Results: growing growth
● Total Hackage downloads :● 1.26 million downloads in Q1-Q3 2010.● 2.92 million downloads total● 160K downloads in August
– Compare with 80 K last August
● Total Packages on Hackage : 2445– (+1000 over last year)
● Total Contributors : 628 developers– (+128 over last year)
Top 20 Haskell Apps on Hackage
cabal-install, xmonad, haddock, cpphs, happy, alex, hscolour, darcs,
pandoc, texmath, hlint, leksah, xmobar, yi, agda, cabal2arch,
uuagc, hoogle, gitit, c2hs
Top 20 Haskell Libs on Hackage
parsec, HTTP, zlib, binary, network, utf8-string, QuickCheck, mtl, Cabal,
haskell-src-exts, regex-base, hslogger, transformers, text,
uniplate, parallel, xml, json, HaXml, stm
Cabal and cabal-install
● cabal test – see the talk● hackage 2 – see the talk● Libraries and build-tools in same package● Support for more compilers
cabal install –uhc
● License checking, clean-room builds, hudson support, build reporting
Future work for Cabal
● NixOS-style persistent package management● New constraint solver for dependencies● cabal benchmark?● Parallel builds● Hackage docs as wikis
New Hackage Visual Design
Work still to do● Ubuntu “Haskell Platform” .deb
● Coming downstream from Debian
● More comprehensive “native” Mac tools● Don't use MacPorts● Need new Mac maintainer team
● “Enterprise” Haskell installers: SunOS/ CentOS● Easy regression testing of Hackage
● Nightly smoke tests, “cabal install –chroot”● Hudson build farm integration...● Source analysis interface to Hackage package code
Questions!