haskell

You are currently browsing articles tagged haskell.

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.

Tags:

Shippin’ web apps ain’t easy. The Contrast guys lay it out. Garrett Dimon shows what goes into an iteration on Sifter. My experience with Dash matches what these folks are saying: building web apps is exciting, but a lot of the work is below the waterline, per se. A lot of work goes into support and infrastructure, but doesn’t manifest itself as new functionality.

Neat because you can: living frugally, JavaScript pixel art and hand-built microprocessors. Also, C as a functional language is nicer to think about than I’d first thought. If you ever get bored, check out the C output of the Glorious Glasgow Haskell Compiler it doesn’t even look like C. This makes my brain hurt even more.

Finally, for future reference: my mantra for the week was “cut the Gordian knot.”

Tags: , , ,

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.

Tags:

More monads

While we’re talking about monads, 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 a look - I just started reading it, but it’s making a lot of sense.

Tags: ,

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.

Tags: ,

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.

Tags:

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.

Tags:

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.

WhatHasRubyDoneForYouLately.jpg

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!

Tags: , , , ,