Based on a Computerphile video, "Infinite Data Structures: To Infinity & Beyond!".
It works based on the lazyness of Haskell and infinite lists. We calculate all primes with the Sieve of Eratosthenes Algorithm, then loop over the primes for twins.
First install Haskell, and then run the following commands within a terminal.
$ cd twin-primes # Change directory to `twin-primes`
$ cabal run # Compile and run the application.