Amazing but True
At this point, I would say I’ve learnt haskell. I know the syntax. I’m comfortable with the tools and standard libraries. Monads are still iffy. Not the using part but more the building brand new ones part. According to YAHT, that is “super haskell guru” territory.
At this point, I should go forth and produce haskell code. That is the one true way to master a language.
What’s the Matter With Kansas?
Link: What’s The Matter With Kansas? | MetaFilter.
This past week, the residents of the small town of Atwood, Kansas voted 984 to 113 to deny gay couples any rights for their relationships (including hospital visitation). Now, the man who set up the town’s newspaper website has not only left Atwood, but taken down the website and posted a (mostly) measured response to the town in place of it. Will putting a human face on those being discriminated against ever change the minds of some people, or is one passage in the bible enough for some people to keep justifying their bigoted ways?
The MeFi link doesn’t appear to work. Here’s the google cache of the article.
Pugs 1st Major Milestone
Link: Journal of autrijus (1505).
I am delighted to report that the first major milestone of Pugs, version 6.2.0, has been released to CPAN:
I’ve been tracking Pugs for the last month and they’ve made incredible progress. I’m downloading and playing with it again this weekend (it counts towards my Haskell education interestingly enough).
A Cautionary Tale
A very close personal friend told me a cautionary tale about the company. I won’t be repeating that mistake. What happened seem a little excessive, but it doesn’t surprise me. That’s what happens when companies grow beyond a certain size and become a bureaucracy.
In the Spirit of Supes vs Bats

Not That There’s Anything Wrong With That…
Link: Not That There’s Anything Wrong With That… | MetaFilter.
I thought it was called “hanging out”.
Monad Along Now
At the highest level, Monads are used to sequence operations and simulate side effects. This allows an imperative programming style to be used. However this only takes place within the context of a Monad. Monads are useful for more than this but I’ve not gotten that far yet.
These were some of the material I worked through (though not all completed except for the 1st one):
- Monads for Functional Programming
- All about Monads
- Tackling the awkward squad
- StateMonad
- Monads for the Working Haskell Programmer
In addition to IO, working through the Parsec parser module documentation is also useful. It’s a real application of Monads and helps you connect the theory with the practicalities of working with Monads.
The Perl Review Interviews Mark Jason Dominus
Link: The Perl Review interviews Mark Jason Dominus.
That said, I do think that all programmers should learn as many different languages as they can, and I’m puzzled when they don’t want to. It’s like being a carpenter and saying that the hammer and the chisel are good enough for you, you don’t need to learn to use a saw or a screwdriver.
The best thing about going to learn something new is that you never know what you’re going to find out.
My copy of his book arrived yesterday. Yay!