# Functional Programming

## Random thoughts on API design

This excellent book by Steve Krug was a real eye opener when I chanced upon it a few years ago. I’m not a UI/UX designer by trade or by training, and as a backend developer my appreciation for UI/UX has very little outlet in my day-to-day job either. But still I find plenty of symmetries …

Hello, it’s been a while since I last wrote, work has kept me busy for a while – we’re making some interesting changes and experimenting with Docker again, so fun fun fun! Anyhow, I thought I drop you a note to tell you about some of the cool conference that are happening around Europe in …

## Project Euler – Problem 68 Solution

Problem Consider the following “magic” 3-gon ring, filled with the numbers 1 to 6, and each line adding to nine. Working clockwise, and starting from the group of three with the numerically lowest external node (4,3,2 in this example), each solution can be described uniquely. For example, the above solution can be described by the …

## Project Euler – Problem 64 Solution

Problem All square roots are periodic when written as continued fractions and can be written in the form: For example, let us consider ?23: If we continue we would get the following expansion: The process can be summarised as follows: It can be seen that the sequence is repeating. For conciseness, we use the notation …

## Project Euler – Problem 80 Solution

Problem It is well known that if the square root of a natural number is not an integer, then it is irrational. The decimal expansion of such square roots is infinite without any repeating pattern at all. The square root of two is 1.41421356237309504880…, and the digital sum of the first one hundred decimal digits …

## Project Euler – Problem 61 Solution

Problem Triangle, square, pentagonal, hexagonal, heptagonal, and octagonal numbers are all figurate (polygonal) numbers and are generated by the following formulae: The ordered set of three 4-digit numbers: 8128, 2882, 8281, has three interesting properties. The set is cyclic, in that the last two digits of each number is the first two digits of the …

## Elm – functional reactive dreams + missile command

I saw this tweet on my timeline the other day.. which reminded me again to look at Elm and I’ve spend the last week or so getting myself immersed with this wonderful little language built around the idea of functional reactive programming. My first impressions of Elm so far have been very positive, there are …

## Contrasting F# and Elm’s record types

Having spent some time this week with Elm I have seen plenty of things to make me like it, a more in-depth review of my experience with Elm so far is in the works but for now I want to talk about Elm’s record type and how it compares with F# record type which us …

## Project Euler – Problem 60 Solution

Problem The primes 3, 7, 109, and 673, are quite remarkable. By taking any two primes and concatenating them in any order the result will always be prime. For example, taking 7 and 109, both 7109 and 1097 are prime. The sum of these four primes, 792, represents the lowest sum for a set of …

## Customizing document styles with FSharp.Markdown.Pdf

Following on from my last post on formatting a Markdown document into PDF using FSharp.Markdown.Pdf, if you don’t like the default styling (which I tried to mimic style Github formats Markdown documents with) you can set your own styling for the different types of Markdown elements by going down a level of abstraction. The FSharp.Markdown.Pdf.MarkdownStyleNames …