Tools for writing Haskell programs
Upcoming SlideShare
Loading in...5
×
 

Tools for writing Haskell programs

on

  • 993 views

 

Statistics

Views

Total Views
993
Views on SlideShare
993
Embed Views
0

Actions

Likes
1
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • It really is. Talk about 3 groups:\nBuilding & Distributing\nDiscovering \nImproving\n
  • Prerequisite for any Haskell dev these days.\n“Batteries include” - Tools (compiler), Base libraries\nOn Windows/Mac - Just works.\nUbuntu Meerkat - works, kind of (lack of profiling libs).\n
  • \n
  • \n
  • Everything AwesomeApp depends on\n
  • \n
  • \n
  • Time to use a proper build tool\n
  • \n
  • Cabal includes:\n* deps\n* build flags\n* outputs\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • All caps because it’s really great.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Great tools for building, finding code, and getting better at writing code. \n

Tools for writing Haskell programs Tools for writing Haskell programs Presentation Transcript

  • Tools for writingHaskell Programs
  • TL;DR: Haskell has excellent tooling.
  • The Haskell Platform
  • Building &Distributing
  • ghc AwesomeApp.hs
  • ghc --make AwesomeApp.hs
  • ls *.hi *.o
  • ghc --make blah --hi- dir=Urgh
  • Cabal
  • Cabal$ mkdir my_project && cd my_project$ cabal init # Create your new project!$ cabal configure$ cabal build # Outputs are in ./dist
  • Share It - Hackage! $ cabal upload dist/kit-0.1.tar.gz
  • $ cabal install kitDependency manager for Obj-C code
  • Discovering
  • Hackagehttp://hackage.haskell.org/
  • > 2100 packages
  • @Hackage#haskell -> hackagebot
  • Hayoo
  • • “map”• “map package:containers”• “map module:Data.Map”• “name:map”
  • Name search...
  • HOOGLE
  • (a -> b) -> [a] -> [b]
  • $ cabal install hoogle$ hoogle “[a] -> Int”
  • Improving
  • HLint
  • • f = do blah -- f = blah• f = (x) + 3 -- f = x + 3• Bracket reduction. Do-Notation help.
  • #haskell -> lambdabot
  • ~= ghci + goodies
  • @pl/@unpl
  • @pl (a -> a + x) (+x)
  • @unpl (++x) . show(d -> (show d) ++ x)
  • $ cabal install pointfree$ cabal install pointful
  • La Fin.