Explore a diverse collection of articles covering Haskell programming, from tutorials on algebraic data types to insights on the Hindley-Milner type inference algorithm. This repository serves as a valuable resource for both beginners and experienced developers looking to deepen their understanding of Haskell.
Explore a diverse collection of insightful articles crafted by Quchen, designed to illuminate various aspects of Haskell programming and more. This repository serves as a treasure trove for developers, researchers, and enthusiasts seeking to deepen their understanding of Haskell and its intricacies. Below is a summary of the engaging topics covered:
Haskell Related Articles
General Tutorials
- Algebraic Blindness: An exploration of how algebraic data types complicate Boolean blindness.
- The
build
Function Explained: Dive into an essential concept of optimization techniques. - Understanding the
Cont
Monad: A detailed look into the continuation monad. - Lazy IO Pitfalls: Awareness of the potential traps in using lazy I/O.
- The
fix
Function: Discover a fundamental building block for recursion. - Frequently Brought Up Topics: A compilation of common discussions from the Freenode #haskell channel.
- Basic Haskell Functions in Comprehensible Notation: A simplified explanation useful for teaching concepts like
sequence
. - Cool Aspects of Haskell: Reflections on intriguing features of Haskell that deserve an update.
- Equality Table of Haskell Values: A nuanced look at equality across various types in Haskell, complete with a live version here.
- Managing Warnings: Tips on how to avoid or resolve common warnings in Haskell code.
- My Haskell Code Style: A personal perspective on writing clean and maintainable Haskell code.
- Informal Class Instance Descriptions: Non-technical insights into Haskell's class instances.
- Hindley-Damas-Milner Type Inference Algorithm: A comprehensive tutorial on this foundational concept in type systems.
- Lens Infix Operators Cheat Sheet: An overview of the symbols used in the lens library's infix operators.
- Löb/Möb Function: Examination of a simple yet complex recursive function.
- Reader Instance Derived: Learn to write a readable
Reader
monad instance. - Redundancy in Functor Laws: Insights into the second Functor law’s redundancy.
- Tagging Instead of Typing: Advocating for the use of
Data.Tagged
over type synonyms. - Creating Unmaintainable Haskell: A humorous take inspired by the concept of unmaintainable code.
- Useful Techniques: A collection of unique techniques identified over years of Haskell programming experience.
- Your Own Brainfuck Interpreter: A hands-on tutorial to implement a simple Brainfuck interpreter in Haskell.
- Semantic Macros for Readable Compatibility: Discussing the use of readable macro synonyms in backwards compatible libraries.
- My Favorite Function:
zipWith const
: An enthusiastic endorsement of this quintessential Haskell function.
Proposals
- Applicative-Monad Proposal (AMP): The foundational text leading to Applicative becoming a superclass of Monad in GHC 7.10.
- Rules for Typeclass Laws: A proposal discussing the guidelines for typeclass laws.
- MonadFail Proposal: A proposal aimed at removing
fail
from theMonad
typeclass, including an original text and an update after discussions.
This compilation of articles not only enhances your understanding of Haskell but also offers insightful proposals that influence the future of the language. Delve into each article to expand your knowledge and improve your skills as a Haskell developer!