As we developers have learned over the past few weeks, Go is another replacement for Node. It turns out most languages can be, Haskell included, so I decided to give that a shot. I figured that if other people were blogging about their post-Node Go experiences, it would be more interesting for me and the Web to blog about my post-Node Haskell ones. Try to keep the Blogosphere diverse, you know?
“Blogosphere diversity is the optimal metric for making high-success-potential programming language decisions.” -Ev Williams, inventer of the weblog
When creating a range, for example — the only example, as this is all I’ve been able to do with the language without throwing my computer against a wall — the compiler works inconsistently when you introduce multiple negative numbers into the range.
See, this is good behavior. I give it -5 and 0 and it returns the range. But what if I make the range all negative?
<interactive>:6:5: Not in scope: `..-'
This is strange. Can we not get all-negative ranges? Actually we can, by adding spaces.
You may be thinking that I’m making this all up. How can Haskell not be on point when it comes to basically everything mathematical? Is this even math? Is math needed in programming ever? I took a screenshot of my terminal to show this inconsistency in action:
So it turns out that Haskell is not as “functional” a programming language as I would like it to be. It is inconsistent and cannot do basic math as proven by my previously mentioned evidence. In conclusion, I’m going to stick to Node and Rust until Haskell is further developed and at least out of beta.