haskell
Haskell modulo excess theory
My journey through Haskell is on something of a lull, but John Wiegley’s got you covered. He’s documented his own journey learning Haskell, and it’s very accessible.
John starts with simple stuff like Fibonacci sequences and splitting strings, then jumps straight into modeling Schroedinger’s cat using a monad. Next he gets pretty practical, for Haskell at least: doing text manipulation ala scripting languages to drop command-line arguments and then to MacPorts packages. Finally, he reflects on thinking lazily and using infinite streams.
If you’ve been wondering what this lazy, pure, strongly typed functional thing is all about but keep falling asleep through the intense theoretical bits (there’s a lot of it!), these are a great starting point.
Using Haskell for awesome
I’ve joked that Haskell is all about reading other people’s theses, but you can do practical things with it too. His quick explanation of monads is pretty good too.
More monads
“While we’re talking about monads”:therealadam.com/archive/2… you should read into the compelling argument that jQuery is, in fact, a DOM monad. It’ll set your mind straight. Also, give “All About Monads”:http://www.haskell.org/all_about_monads/html/index.html a look - I just started reading it, but it’s making a lot of sense.
Monads + Ruby = crazy
Guaranteed to boil your brain: do notation in Ruby. You got your monads in my Ruby! He uses ParseTree and Ruby2Ruby to rewrite your code. In other words: heavy.
I’d love to point you to a good monads tutorial, but the monad fallacy prevents me from doing that. I’ll try again once I fully grok them.
Learn You a Haskell
Learn You a Haskell for Great Good! - if you learned Ruby via The Poignant Guide, you’ll like this. Plus, Haskell does cool stuff to your brain.
Launch the missiles!
The A-Z of Programming Languages: Haskell - a great interview with the awesome Simon Peyton-Jones on Haskell. I love his use of the “launch the missiles!” metaphor for thinking about side-effects and IO in programs. Via projectionist.
What Has Ruby Done For You Lately?
When I go to speak about Ruby at non-Ruby groups, my go-to schtick is only mildly subversive. Sure, I tell them that Ruby is a fantastic language that will make them a better programmer. But, I don’t expect them to switch to Ruby right away. Instead, I lead them down the path of borrowing ideas from Ruby and using them in their day-to-day coding, no matter what language they use.
This week at OSCON 2008, I applied the same tact, but I did it on Ruby programmers. See, there are tons of great ideas in languages like Haskell, Io and Erlang. Some translate really well to Ruby and some don’t. But they’ll all twist your brain around in interesting ways.
That’s the idea. Here are the goods: just the slides, the code and the slides. Enjoy!