Hhm. I thought that QuickCheck was the way to go for proving Haskell code. I’m disappointed.
Today I will start another programming course at FutureLearn. The course is named “Functional Programming in Haskell: Supercharge Your Coding” and it looks interesting. Here is a short description of the course:
“On this introductory course, you will discover the power, elegance and simplicity of functional programming in Haskell. By the end, you will be able to:
characterise the differences between imperative and functional programming paradigms;
implement small-scale functional programs in elementary Haskell;
apply standard combinators for operating on lists;
create new algebraic data types and use recursion to define functions that traverse recursive types; and reason in a mathematical manner about data types, functions, recursion and similar functional constructs.”
You can read more about the course here: https://www.futurelearn.com/courses/functional-programming-haskell/
I found this article about Dynamic Dispatch in Haskell.
Dynamic Dispatch in Haskell, or: How Can I Make My Code Extendable?
Not an easy read. Too much for me at this time.
Steven Syrek writes about how he teaches Haskell.
Some Notes on Haskell Pedagogy
I want to try this.
Matt Parsons about type level programming in Haskell.
Basic Type Level Programming in Haskell
If type level programming in Haskell is like template meta programming in C++, then I do not want this.
You might want to have a look at the Intel Haskell Research Compiler (HRC).
The Functional Language Research Compiler
Please note: “We at Intel Labs are no longer actively working on this compiler.”
Brian Steffens wrote a very interesting article about how a mathematical function translates all the way down to machine code.
From math to machine: translating a function to machine code
I like the part with the machine code: 48 bf 01 00 00 … 🙂