
Posted on
Programming Lesson 1  One Variable, One Job
Lesson #1 from the real world
Often it can be tempting to let a single variable have multiple functions. Such as letting the absence (or null value) denote some boolean decision. An exam...

Posted on
The Probability Monad
What are the foundational structures of probabilities? How do we design a language making it easy to model probabilistic problems? Oftentimes the modeling happe...

Posted on
Proving Stuff in Haskell
This article is my give on the relationship between mathematical proofs and programming languages. Many details on specific implementation have been left out with the aim for clarity and concept...

Posted on
100 Days of Fibonacci  Day 11, Fixed Point
In this article, we will look into encoding the Fibonacci function using the
fix
point combinator. This is an interesting function as it can be used to imp... 
Posted on
On Types for the Eager Language Learner
Recently I started writing a book on Leanpub. This was a first and, frankly, I had no real idea about what to write about.<...

Posted on
Probabilistic Programming  An Overview
My current academic endeavors are in the field of probabilistic programming. I will wok this area until roughly June 2017. In the end it should hopefully translate to a thesis.
This docu...

Posted on
A Practical Introduction to Haskell, Part 1
This post series provides an introduction to Haskell through a practical example. It assumes no prior use of the language or functional programming...

Posted on
100 Days of Fibonacci  Day 10, Python
It is yet another time for a post in my 100 days of Fibonacci challenge. Today I am cont...

Posted on
100 Days of Fibonacci  Day 9, Haskell Types
Haskell has a flexible type system. It actually is Turing complete given the right language extensions. This also means that we can do arbitrary computations, which we are going to exploit in th...

Posted on
100 Days of Fibonacci  Day 8, R
I looked at quite some different approaches to the Fibonacci function, and I start to wonder how the Fibonacci number develops with respect to its ...

Posted on
100 Days of Fibonacci  Day 7, Coq
I have been of a couple of days over the Christmas and New Year. But now it is time to start my 100 days of Fibonacci project again.
Today ...

Posted on
100 Days of Fibonacci  An Overview
A couple of weeks ago I started this project. The idea was to program the Fibonacci function in as many languages as possible and explore various concepts of programming. I chose Fibonacci as my...

Posted on
100 Days of Fibonacci  Day 6, JavaScript
This is an article in a series of articles. An overview of the entire project can be found here.
Until now I have focused on Fibonacci as a...

Posted on
100 Days of Fibonacci  Day 5, Spreadsheet
This is an article in a series of articles. An overview of the entire project can be found here.
Over the course of this project, small int...

Posted on
100 Days of Fibonacci  Day 4, Prolog
Updates:
 26 January 2016: Complete rewrite of the section about the Structural Implementation of Fibonacci.
100 Days of Fibonacci  Day 3, Scala
Coming from yesterdays Java, Scala is a naturally the next step. It is a functional language compiled to run on the Java Virtual Mach...

Posted on
100 Days of Fibonacci  Day 2, Java
In my 100 days of Fibonacci project I have now shown three idioms for implementing algorithms: Direct recursion, accumulated recursion, and an iter...

Posted on
100 Days of Fibonacci  Day 1, C
My 100 days of Fibonacci challenge started yesterday where I implemented the function directly recursive and using accumulated recursion in Haskell...

Posted on
100 Days of Fibonacci  Day 0, Haskell
Today I taught my computer architecture class for the last time. My students and I discussed the complexity of the various Fibonacci algorithms. Fibonacci is a function often used to test out ne...

Posted on
The 3 Pillars of Software Development
Test driven development is for many programmers a wellknown concept. Tests are written, and procedures are implemented trying to satisfy the tests providing in a little green mark. When the...
subscribe via RSS