GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - quchen/articles: Miscellaneous articles. The readme is the table of contents.

BranchesTags
Open more actions menu

Latest commit

 

History

452 Commits
452 Commits

Folders and files

NameName
Last commit message
Last commit date
hindley-milner
hindley-milner
 
 
2018-08-21_tricky-haskell-questions.md
2018-08-21_tricky-haskell-questions.md
 
 
2018-11-22_zipWith_const.md
2018-11-22_zipWith_const.md
 
 
2023-06-12 Haddock+Doctest+Cairo.md
2023-06-12 Haddock+Doctest+Cairo.md
 
 
README.md
README.md
 
 
algebraic-blindness.md
algebraic-blindness.md
 
 
applicative_monad.md
applicative_monad.md
 
 
build.md
build.md
 
 
cont_monad.md
cont_monad.md
 
 
crazy_io.md
crazy_io.md
 
 
fbut.md
fbut.md
 
 
fix.md
fix.md
 
 
fixing-warnings.md
fixing-warnings.md
 
 
functions_comprehensible.md
functions_comprehensible.md
 
 
great_things_about_haskell.md
great_things_about_haskell.md
 
 
haskell-cpp-compatibility.md
haskell-cpp-compatibility.md
 
 
haskell-equality-table.html
haskell-equality-table.html
 
 
haskell_style.md
haskell_style.md
 
 
instances.md
instances.md
 
 
law-rules.md
law-rules.md
 
 
lens-infix-operators.md
lens-infix-operators.md
 
 
loeb-moeb.md
loeb-moeb.md
 
 
monad_analogy_counterexamples.md
monad_analogy_counterexamples.md
 
 
monad_fail.md
monad_fail.md
 
 
monad_fail_update1.md
monad_fail_update1.md
 
 
reader_instance_derived.md
reader_instance_derived.md
 
 
second_functor_law.md
second_functor_law.md
 
 
seqm_proposal.md
seqm_proposal.md
 
 
tag-dont-type.md
tag-dont-type.md
 
 
unmaintainable_haskell.md
unmaintainable_haskell.md
 
 
useful_techniques.md
useful_techniques.md
 
 
warning-redesign.md
warning-redesign.md
 
 
write_yourself_a_brainfuck.md
write_yourself_a_brainfuck.md
 
 

Repository files navigation

Quchen's articles

This repository is filled with articles I have written and needed online for various reasons. Below is a short summary of the articles available publically. The repository may contain files not mentioned below, in which case they're probably unfinished or otherwise not worth reading at this point.

Haskell related

General, tutorials

  • Algebraic blindness is about how algebraic data types sometimes make Boolean Blindness even more complex.
  • The build function explained, which is an important piece in a popular optimization technique
  • The Cont monad explained
  • Some lazy IO pitfalls
  • The fix function, one possible fundamental building block of recursion
  • Frequently Brought Up Topics in Freenode's #haskell channel
  • Basic Haskell functions written in easily comprehensible notation. Nice for explaining e.g. sequence.
  • What I thought was cool about Haskell some time ago. I should update this one day.
  • Equality table of Haskell values. (live version) Created in a time where it seemed to be en vogue to create tables for the == operator in various languages. Spoiler, it's terribly boring, because it should be.
  • How to fix, or avoid fixing, certain warnings
  • My Haskell code style and the rationale behind it
  • Informal description of class instances gives non-technical descriptions of various common class instances.
  • An extensive tutorial on the Hindley-Damas-Milner type inference algorithm
  • Lens infix operators cheat sheet provides an overview of what the individual symbols in infix operators of the lens library stand for.
  • Löb/Möb is about an interesting, simple, complicated and quirky recursive function.
  • Reader instance derived shows how to write the usual Reader monad instance starting from something readable and comprehensible.
  • The second Functor law is redundant
  • Tag, don't type is about avoiding type synonyms, and using Data.Tagged instead.
  • How to write unmaintainable Haskell, inspired by How to write unmaintainable code
  • Useful techniques I've found over the years and haven't seen described elsewhere
  • Write yourself a Brainfuck in an hour implements a very simple Brainfuck interpreter in Haskell, with plenty of room to go on afterwards.
  • Make macros mean something – readable backwards compatibility with CPP talks about how to define readable macro synonyms for writing backwards compatible libraries.
  • zipWith const is my favorite Haskell function

Proposals

  • Applicative-Monad proposal (AMP) is the original text of the 2013 Applicative-Monad proposal, which was the starting point for Applicative becoming a superclass of Monad in GHC 7.10.

  • Rules for typeclass laws wasn't proosed yet

  • The MonadFail proposal is a proposal similar to the AMP, with the goal of removing fail from the Monad typeclass.

    • Original text
    • Update after one week of discussion.

About

Miscellaneous articles. The readme is the table of contents.

Topics

articleshaskellhindley-milnertutorials

Resources

Readme
Activity

Stars

1.3k stars

Watchers

75 watching

Forks

89 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.