2jacobtan / Haskell

Everything haskell - snippets, notes and exercises

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Things to learn

The list has evolved into a collection of topics that are not limited only to Haskell, but to other functional languages and mathematics as well. It's also used as a list of articles/posts I want to read.

Topic Familiar with? Resources
ReaderT ✔️ 1, 2
StateT ✔️ 1, 2, 3
Tagless Final ✔️ 1
Monad transformers ✔️ 1, 2, 3, 4, 5
ReaderT design pattern ✔️ 1
Data.Functor.Compose 1, 2
Parser combinators ✔️ 1, 2, 3
Free 1, 2, 3, 4, 5, 6, 7
Freer
Comonad
Coalgebra (F-Algebras) 1
Recursion schemes 1, 2
Functor family (Strong, Choice etc) 1, 2
Functional Dependencies
Epi- and monomorphism 1
GADTs
Type families
Algebraic effects
Typeable/Typerep 1
Transducer 1, 2, 3
DerivingVia 1
Trampolines 1, 2, 3
Profunctor Optics 1, 2, 3, 4, 5, 6
Classy Prisms 1
Indexed Monads
Codensity
EffCategories 1
Yoneda
What's the problem? 1

Quotes

"If everything is an expression, everything has a type" - Clément Delafargue - TDD as in Type-Driven Development

"It takes a lot of programming to get back from a little programming that deviates from mathematical logic." - Xavier Leroy

"The way I think about this is that as programming languages evolve things that used to be side effects become implementation details of the language. One example of this is manual memory management which evolved into garbage collection" - Gabriel Gonzalez

"When people say "but most business logic bugs aren't type errors" i just want to show them how to make bugs into type errors" - Matt Parsons

"If your code feels complicated to write, it's more often than not that your types are not fit representation of your data" - Michel Belleville

"The design of the data structures is the central decision in the creation of a program. Once the data structures are laid out, the algorithms tend to fall into place, and the coding is comparatively easy." - Brian W. Kernighan and Rob Pike - "The Practice of Programming"

"Making illegal states unrepresentable is all about statically proving that all runtime values (without exception) correspond to valid objects in the business domain." - John A De Goes

"GOTO was evil because we asked, 'how did I get to this point of execution?' Mutability leaves us with, 'how did I get to this state?'" - Jessica Kerr

About

Everything haskell - snippets, notes and exercises


Languages

Language:Haskell 100.0%