Posted on 01.26.14 by Chris |

From Ruby to Haskell, Part 3: Lazy Evaluation

One of the defining characteristics of Haskell— that you often see listed in what sets it apart from other languages— is that it is the only common language that’s lazy. In fact, laziness has been cited as the feature that keeps Haskell functionally pure. This is because if you can’t tell when things are going to be evaluated, you can’t cause side effects (because you don’t know when they’ll happen either).

What is laziness, what does it mean?

Each programming language uses an evaluation strategy to process code. For instance, Ruby is a “pass-by-value strict” language. This means t …continue reading


Posted on 12.06.12 by Chris |

From Ruby to Haskell, Part 1: Testing

You read that right. Or maybe, if you read it as "stop using Ruby and start using Haskell", you read it wrong. I'm going to show you why I find Haskell to be utterly fascinating and eminently practical.

Foremost, I want to collect some bits and pieces from articles that I have read and talks that I have seen. I feel like there are troves of information out there but that it may perhaps be in need of some synthesis. There are lot of meaty topics here, but I haven't seen them collected and prepared quite to my taste yet. If my collecting will help someone else to "think different" then that' …continue reading