Archive for the ‘Haskell’ Category

(Almost)Weekly Update

Thursday, June 12th, 2008

Sorry for the extreme lateness of this update, but like I’ve said before, I’m boring.

Have you seen the music video for ‘Pork and Beans’ by Weezer? No? Well here then:
Pork and Beans

Sorry I can’t embed it into my post here, but they (Weezer) have requested that embedding be disabled and I’m choosing to respect that request.

I recognized most of the references in the video. That probably isn’t something to brag about, but I got a kick out of the video because of it.

I’ve received the tooling for the mini-mill and made a few cuts just for kicks. I also got the 9×20 mini-lathe, but I’ve not set that up yet.

I’m still working on learning Haskell, but I’m certain I don’t know enough math to wield it effectively. As such, I’ve begun learning Category Theory. Now my brain hurts. I mean that in the best possible way, though; I rather enjoy math to begin with, and categories are especially cool stuffs in math land. I’ll post more on that later.

Blark.

Haskell and freeglut at last!

Monday, April 14th, 2008

It took for-freaking-evar, but I finally got freeglut and Haskell to play nice with each other.

Here’s how I got it working.

The Tools

I’m not giving step-by-step, but rather a general method plus some details where they’re important. It actually became relatively easy once I switched from Cygwin to MSYS for my build environment. So the first thing to do is to go set up MinGW and MSYS. Their documentation will tell you how to set that up better than I could, so I’ll refer you to that. We need some extra libraries, too, so grab the supplementary tools while you’re there. I got the ‘Current Release’ version of both MSYS and the supplementaries, not the technology previews.

(more…)

I hate autoconf

Tuesday, April 8th, 2008

Update: autoconf and I have a tenuous peace treaty thanks to MSYS. See my post, “Haskell and freeglut at last!”, for an example of what I’ve been able to do :Update

I really do hate autoconf. I’ll probably end up upsetting a few C/C++ guys, but I’m pissed and I have a blog and that means I’m going to blog about being pissed.

I should warn you, I’ve never actually used autoconf in any of my projects. Being a Windows programmer, I’ve never had it easily available. For all I know, it’s a wonderful tool that saves gobs of effort, just not mine.

See, the problem isn’t so much autoconf, it’s the whole “autoconf on Windows” thing. In fact, it’s pretty much building anything on Windows. A whole lot of software projects claim to be ‘cross-platform’, and usually this is done with makefile and #define trickiness, with a lot of checking and configuring and editing done depending on what platform your build tools think you’re running on.

This is where the madness starts.

Why are all of these configuration doodads crammed into one set of headers? That pisses me off. The configuration between Windows and *nix is so wildly different in most cases that the resulting mega-header becomes a steaming pile of near incomprehensible preprocessor syntax that never configures for my Windows box properly. Why don’t these people just make a separate Windows header set if they really want Windows support?

But sometimes this doesn’t matter. Sometimes there’s a configure script that knows what the hell it’s doing, and it’s written in an OS neutral scripting language. Sometimes it just works. But not when autoconf enters the picture. Autoconf, in Windows, is a sign that reads ‘Pain’

(more…)

Weekly Update

Monday, April 7th, 2008

So I’ve been mucking about with Haskell all week. I still can’t get freeglut to work properly. I’ve got a post in the works about it, but I’d like a happy ending so I’m holding onto it until I get a working example.

Here’s another robot I found.

I approve.

Watch the Monkey Learn Haskell for Your Amusement - The Type System Rocks

Sunday, March 16th, 2008

Have you ever struggled with your data types? Ever had pages and pages of boilerplate for trivial conversions? How about checking every member function you were going to use so as not to throw an exception later? I sure have. There doesn’t seem to be a language out there that doesn’t frustrate me in at least one of these areas. Except Haskell.

Now, I can’t say that the situation won’t change as I write more in Haskell. I really liked C++’s type system until I got to know it. I’ll try to go easy on the fanboy-ism and stick to an overview of what I see that I like.

(more…)

Watch the Monkey Learn Haskell for Your Amusement - Why Haskell

Sunday, March 16th, 2008

Imma gonna learn Haskell.

You may ask “Why Haskell?”
Good question, let’s go over a few points.

(more…)