SlideShare a Scribd company logo
Tools for writing
Haskell 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 kit
Dependency manager for Obj-C code
Discovering
Hackage
http://hackage.haskell.org/
Tools for writing Haskell programs
> 2100 packages
@Hackage
#haskell -> hackagebot
Hayoo
• “map”
• “map package:containers”
• “map module:Data.Map”
• “name:map”
Tools for writing Haskell programs
Name search...
HOOGLE
(a -> b) -> [a] -> [b]
Tools for writing Haskell programs
$ 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.

More Related Content

PDF
Docker včera, dnes a zítra
PDF
Hadoop Israel - HBase Browser in Hue
PDF
Journée DevOps : Un outil de monitoring applicatif
PDF
Beeswax Hive editor in Hue
PPTX
Introduction tomongodb
PPTX
AWS Hadoop and PIG and overview
PDF
Business Dashboards using Bonobo ETL, Grafana and Apache Airflow
PDF
Infrastructure as Code with Terraform
Docker včera, dnes a zítra
Hadoop Israel - HBase Browser in Hue
Journée DevOps : Un outil de monitoring applicatif
Beeswax Hive editor in Hue
Introduction tomongodb
AWS Hadoop and PIG and overview
Business Dashboards using Bonobo ETL, Grafana and Apache Airflow
Infrastructure as Code with Terraform

What's hot (19)

PDF
Y! HUG Hue: the Hadoop UI
PDF
H2O World - PySparkling Water - Nidhi Mehta
PDF
Terraforming the Kubernetes Land
PPTX
Apache hadoop hue overview and introduction
PDF
Building a Serverless Computation Environment with Python
PDF
Infrastructure as Code in Google Cloud
PDF
Workshop Infrastructure as Code - Suestra
PDF
Hue: The Hadoop UI - Hadoop Singapore
PDF
Aws dc elastic-mapreduce
PDF
Connecting Pebble to the World
PPT
SharePoint Administration with PowerShell
PPTX
Im flash
PPTX
08 Terraform: Provisioners
PDF
Ansible PyWAW
PPTX
Scala and Hadoop @ eBay
PDF
Managing data workflows with Luigi
ODP
Aws Quick Dirty Hadoop Mapreduce Ec2 S3
PDF
Statsd introduction
PPTX
Developers’ mDay 2019. - Rastko Vasiljević, SuperAdmins – Infrastructure as c...
Y! HUG Hue: the Hadoop UI
H2O World - PySparkling Water - Nidhi Mehta
Terraforming the Kubernetes Land
Apache hadoop hue overview and introduction
Building a Serverless Computation Environment with Python
Infrastructure as Code in Google Cloud
Workshop Infrastructure as Code - Suestra
Hue: The Hadoop UI - Hadoop Singapore
Aws dc elastic-mapreduce
Connecting Pebble to the World
SharePoint Administration with PowerShell
Im flash
08 Terraform: Provisioners
Ansible PyWAW
Scala and Hadoop @ eBay
Managing data workflows with Luigi
Aws Quick Dirty Hadoop Mapreduce Ec2 S3
Statsd introduction
Developers’ mDay 2019. - Rastko Vasiljević, SuperAdmins – Infrastructure as c...
Ad

Viewers also liked (6)

KEY
Taming Errors with FunctionalKit
PDF
Skills
PDF
Ombygning atletik-lille-idræt
KEY
Writing Better Haskell
PDF
Staying Busy
PPT
Source based made simple
Taming Errors with FunctionalKit
Skills
Ombygning atletik-lille-idræt
Writing Better Haskell
Staying Busy
Source based made simple
Ad

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Big Data Technologies - Introduction.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Electronic commerce courselecture one. Pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Cloud computing and distributed systems.
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Encapsulation theory and applications.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
Approach and Philosophy of On baking technology
Review of recent advances in non-invasive hemoglobin estimation
Big Data Technologies - Introduction.pptx
The AUB Centre for AI in Media Proposal.docx
Electronic commerce courselecture one. Pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Cloud computing and distributed systems.
Advanced methodologies resolving dimensionality complications for autism neur...
Per capita expenditure prediction using model stacking based on satellite ima...
NewMind AI Weekly Chronicles - August'25-Week II
Spectral efficient network and resource selection model in 5G networks
sap open course for s4hana steps from ECC to s4
20250228 LYD VKU AI Blended-Learning.pptx
cuic standard and advanced reporting.pdf
Network Security Unit 5.pdf for BCA BBA.
Reach Out and Touch Someone: Haptics and Empathic Computing
Encapsulation theory and applications.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation

Tools for writing Haskell programs

Editor's Notes

  • #2: \n
  • #3: It really is. Talk about 3 groups:\nBuilding & Distributing\nDiscovering \nImproving\n
  • #4: 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
  • #5: \n
  • #6: \n
  • #7: Everything AwesomeApp depends on\n
  • #8: \n
  • #9: \n
  • #10: Time to use a proper build tool\n
  • #11: \n
  • #12: Cabal includes:\n* deps\n* build flags\n* outputs\n
  • #13: \n
  • #14: \n
  • #15: \n
  • #16: \n
  • #17: \n
  • #18: \n
  • #19: \n
  • #20: \n
  • #21: \n
  • #22: \n
  • #23: All caps because it’s really great.\n
  • #24: \n
  • #25: \n
  • #26: \n
  • #27: \n
  • #28: \n
  • #29: \n
  • #30: \n
  • #31: \n
  • #32: \n
  • #33: \n
  • #34: \n
  • #35: \n
  • #36: Great tools for building, finding code, and getting better at writing code. \n