Hack Jam Log Book is a log of progress made in and around a weekly hack session. Topics include natural language processing, high energy electronics, linguistics, interface design, &c. Enjoy.

Recent Posts:

Archives:

24.2.09

 

Haskell -> Arc

Lately, Haskell's type system, powerful as it is, has been tending to get in my way. It worked fine when implementing chunks of natural language parsers, but when I went back to revise my design, I was having a horrible time. More recent toy projects such as the RSS reader or a simple graphical game have similarly made me grumpy.

At the same time, compile time type checking has probably detected more than it's share of bugs in my code. It's a tradeoff. Whether it's a net win or loss is hard for me to say; I've done very little functional programming without strong typing. I don't like Java style strong typing, but the ML type system is a different beast. Having spent the better part of a year working in Haskell, I'm due to try a new programming language, so I'm going to move to Lisp for a while.

Unfortunately for me, the essays that convinced me to finally a Lisp were on Arc, an arguably incomplete dialect. It has almost nothing in the way of libraries. After looking at Arc, though, Common Lisp looks warty and Scheme's lack of unhygenic macros is disturbing for a power language. So I'll start with Arc, though I may well have to move to Common Lisp if I get frustrated with what I can't do (though I do have something of a backup plan in the works for that; more on that later, if it comes to pass).

Picking up on loose ends, blogwise, my tron lightbike FRP game fell apart when I had trouble working out a definition of the behavior of the walls trailing behind the players. I couldn't find a way to define a behavior that was a list of snapshots of another behavior at points dictated by a third behavior, and I couldn't help feeling that it was more natural to define it procedurally (though that may just be what I'm more used to). I ended up being frustrated enough that I put it down and never came back to it.

Labels: , ,


This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]