Elegant, instructive examples of functional programming. Supposed to be fun, and teach important programming techniques and fundamental design principles. Traditionally appear in Journal of Functional Programming, and at ICFP and affiliated workshops.
I’ve written this article series, to help you get a good sense of how production Haskell is written at a company like Klarna and what to avoid along the road.
Learn more about how the Rust programming language shares many of the advantages offered by Haskell such as a strong type system, great tooling, polymorphism, immutability, concurrency, and great software testing methodologies. Rust is a good choice when you need to squeeze in extra performance.
Hoogle is a Haskell API search engine, which allows you to search many standard Haskell libraries by either function name, or by approximate type signature.
A double pack: - Jasper talks about Getting things done in Haskell (adapted from his 2017 Haskell eXchange talk ) - Simon and Jasper talk about organizing th...
We would like to use the Coq proof assistant to mechanically verify properties of Haskell programs. To that end,we present a tool, named hs-to-coq, that translates total Haskell programs into Coq programs via a shallow embedding.
Hackage is the Haskell community's central package archive of open source software. Package authors use it to publish their libraries and programs while other Haskell programmers use tools like cabal-install to download and install packages (or people get the packages via their distro).
A grammar for Haskell, close to the specification in the Haskell report is given. This is especially interesting, as many rules given in the report are hard to implement.
Formerly Dr Haskell HLint can only be compiled by GHC 6.10.1 or above (it makes use of view patterns), but does not require any copy of GHC to run. HLint should be able to give hints for any Haskell code, including most GHC extensions
This is Learn You a Haskell, the funkiest way to learn Haskell, which is the best functional programming language around. You may have heard of it. This guide is meant for people who have programmed already, but have yet to try functional programming.
The 2018 Haskell User Survey shows very high satisfaction with Haskell’s security, quality, reliability, maintainability, and advanced capabilities, writes FP Complete’s CEO Aaron Contorer. InfoQ has taken the chance to speak with him about Haskell’s current and future landscape.
This guide will use JavaScript instead of a pure functional programming language (e.g. Haskell) to make things more approachable for developers accustomed to imperative languages. It will, however, assume you have basic knowledge of functional programming, including currying and lambdas.
Learning Haskell is a free Haskell tutorial that integrates text and screencasts to combine in-depth explanations with the hands-on experience of live coding. It is aimed at people who are new to Haskell and functional programming. Learning Haskell does not assume previous programming expertise, but it is structured such that an experienced programmer who is new to functional programming will also find it engaging. Learning Haskell uses graphics programming to create an engaging experience.
This site will show how to write the concurrency section of A Tour of Go in Haskell. A Tour of Go is a famous tutorial of Go. Haskell has concurrency features similar to Go: lightweight thread, channel, etc.. So it should be interesting to compare equivalent concurrent programs in Haskell and Go.
Reflex FRP is a composable, cross-platform functional reactive programming framework for Haskell. It allows you to build interactive components in pure functional style, working in harmony with established Haskell techniques and improving the quality and elegance of your applications.
Screencast of a talk given by Simon Meier at the HaskellerZ Meetup in Zürich on 28 Aug 2014. The blaze-react library uses Facebook's ReactJS library to do ...
I sat in a coffee shop reflecting on my journey in Haskell today. It was spurred on by briefly seeing the whole “monads are pipes” thing and some responses to it. I don’t involve myself in these…
My Functional Programming journey was filled with dead ends, false starts, failed attempts and frustration. And I suspect that I’m not alone in this struggle. So why is this a common problem…
D. Brown, A. Garmendia-Doval, and J. McCall. Selected papers from the 2nd Scottish Functional
Programming Workshop (SFP00), page 27--38. Exeter, UK, UK, Intellect Books, (2000)