Why Haskell
- Why Haskell is beyond ready for Prime Time
- Intro talk on Haskell by SPJ
- Weaknesses of Haskell
- Jocellyn’s Blog - Why do I love Haskell more than Ruby?
- What Makes Haskell Unique, Part 1 - DZone Web Dev
Why Not Haskell
- A twitter thread in response to Leaving Haskell behind; Aug 2023.
Learning Haskell
-
2020-06-10: Haskell for imperative programmers is a series of short videos (10-15 mins) that are very good!
-
albohlabs/awesome-haskell — A curated list of amazingly awesome Haskell articles and talks for beginners.
-
soupi/haskel-study-plan: An opinionated list of resources for learning Haskell; “This is great.” — Stephen Diehl
-
Learn Haskell from Mark Karpov.
-
Beginning Haskell tutorial by Stephen Diehl.
-
What I Wish I Knew When Learning Haskell by Stephen Diehl.
-
Things software engineers trip up on when learning Haskell | William Yao
-
Haskell reading list by Stephen Diehl.
-
Another Haskell reading list on haskell.org.
-
2014/11/17 How I start - Haskell
-
2014/11/17 Holy Haskell project starter — an automatic project starter with sandbox, tests and all the fixins.
-
2014/11/18 Intro to haskell
-
Teaching Haskell For Understanding - Google Slides by Julie Moronuki (author of Haskell Programming from first principles).
-
2018/2/20 Haskell by Example — one-to-one corresponding examples to “Go by Example”
-
2018/6/5 Codeworld: Haskell as a First Programming Language — Monday Morning Haskell
-
My Haskell Journey from C#
- 2020/1/23 For Beginners by Julie Moronuki (aka
argumatronic
); The post date says Jan 1, 1970… sure… reddit thread has good discussion. - 2020/3/19 Notes for ‘Thinking with Types: Type-level Programming in Haskell’, Chapters 1–5 | abhinavsarkar.net for https://thinkingwithtypes.com/
Liquid Haskell
Write Simple Haskell
Read Haskell code
- Peter Siebel attempts a Sudoku solver in Haskell. [Sep 2015]
- bravit/hid-examples: Examples to accompany the book “Haskell in Depth”
Video lectures and talks
- Interview with Graham Hutton on Haskell Foundation Podcast; 2021-08
- [Zürich Friends of Haskell]https://www.youtube.com/channel/UC2zfPMH_srjxUN5EYrfIhCw) including ZuriHac 2018 Beginner Session Saturday (uncut version) - YouTube
- Erik Meijer teaches functional programming fundamentals. Video series on MSDN’s channel9.
- Haskell tutorial by Derek Banas (recommended by Gabriel Gonzalez); related code for the video.
- Michael O’Church’s Summer Haskell Class slides:
Courses
- Functional Programming an introductory course on functional programming in Haskell by Graham Hutton.
- Introduction to Haskell at UPenn by Brent Yorgey, Joachim Breitner et al. This in my experience is the best introduction to Haskell in a classroom format you can find. The lecture notes are self-explantory and written in a conversational, easy to follow manner.
- CMSC498V — “Advanced Functional Programming Languages (Fall 2017)” taught by Dr Niki Vazou at UMD.
Developing with Haksell
- Haskforce — Haskell plugin for IntelliJ IDEA Community Edition [2014/10]
- A detailed guide to using Haskell-emacs mode (2011).
- Haskell Development on Emacs by Tim Dysinger (2014).
- Haskell Best Practices for Avoiding “Cabal Hell” -Experience report developing in Haskell by CTO of Capital Match; Nov 2015.
- An opinionated guide to Haskell in 2018 [Feb 2018]
- Infinite Negative Utility: Some Notes About How I Write Haskell [Dec 2017] — Good section on how to use list comprehensions.
- The Haskell User experience [Aug 2015]
- Introducing Haskell to a company
- I Released A Haskell Product!
- Development Tools for Haskell; Nov 2019.
Resources
- TechBookHunter/Free-Haskell-Books: A curated collection of free eBooks about Haskell
- Code World — an online playground for writing and executing Haskell code.
- Phil Wadler’s video lectures at University of Edinburgh
- Magazine
- Bob Ippolito’s “Haskell for Erlangers”; 2014. Good code examples of IO monads, and monads.
Blogs
- quchen/articles
- Randomhacks/haskell
- Building Monad Transformers - Part 1 - Jakub Arnold Blog
- Haskell for OCaml programmers
- ocharles.org.uk— [24 days of Hackage 2012/2013]
- tel.github.io — [types of data, mutable algos in immutable langs]
- Justin Le
- Haskell for all
- Blank.Denum
- Liam O’Connor
- Kwang’s Haskell Blog - Home
Blog posts / articles
- A bt client in Haskell
- using stack for haskell dev, from Sean Hess (Practical Haskell series).
- PROGRAMMING WITH EFFECTS by Graham Hutton, January 2015
- Using Mondads by Sean Hess is a good one on Monads.
- quchen/articles
- Distributed Systems in Haskell :: Will Yager
- Monads to Machine Code
- Rest API in Haskell | maciek.io
- Haskell Success Stories - Michael Snoyman’s blog
Meta lists
Editors
- Haskell idea plugin
- Haskell for Mac
- Code.world
- Haskell-tools A GHC based toolset for Haskell programming. Currently featuring Haskell-tools Refact, a refactoring framework.
- HyperHaskell — is a graphical Haskell interpreter (REPL), not unlike GHCi, but hopefully more awesome. You use worksheets to enter expressions and evaluate them. Results are displayed using HTML.
Papers
- Practical type inference for arbitrary-rank types
- Best monad tutorial? Tackling the Awkward Squad
My Notes
What are some of the low-friction ways of using Haskell?
- Pandoc — add custom elements, extract metadata from documents.
- Hakyll — build custom site renderers.
- Shake — build system where Make isn’t sufficient.
If you get can't load .so/.DLL for
when installing cabal package:
put shared: True
in ~/.cabal/config
Cabal
Sandbox:
cabal sandbox init
cabal init #to init a new proj.
remember to
export HASKELL_PACKAGE_SANDBOX=.cabal-sandbox/x86_64-osx-ghc-7.6.3-packages.conf.d
inside the cabal sandbox.
- How to write a Haskell program
- How to develop packages with Cabal
jupyter notebook
See www.btbytes.com/stack.yaml
for dependencies.
stack new myproj
cd myproj
stack init
brew install zmq
stack exec ipython -- notebook
Note: iHaskell binary is installed in ~/.local/bin
:
Copied executables to /Users/pgowda/.local/bin/:
- ihaskell
(not sure if the above two lines are actually important …)
Libraries and tools
Haskell Reference
- Real World Haskell. Free online version.
- Beginning Haskell: A Project-Based Approach Read Haskell Tutorial and Cookbook | Leanpub
Misc
Links
Projects in haskell
- Glot.io — an open source pastebin with runnable snippets and API. Source code