tor: To me C always feels like a strange mix of high-level and low-level. I often catch myself rewriting things for no good reason such as:
n = 1 + strlen(s); s0 = malloc (n); memcpy(s0, s, n);
And then the head-spinning starts: Should it be inlined, should I use malloc at all, and so on. Doesn't happen to me when using a high-level language :-)
Can the code for your project(s) be downloaded (didn't find a link) ?
I'm pretty new to functional languages so it's just a mental exercise to me for now, expanding my understanding in general (learning, slowly, SML). I think that by using SML and Forth to implement some algorithms I'll become a better programmer in general (highly speculative so far).
As you are using ObjC for the toolkit, have you checked out TOM? TOM is a very balanced compiled, high-level, object-oriented language. The syntax is similar to Objective-C, it has closures and GC. TOM is inspired by Eiffel, Java, and some) I highly recommend taking a look if you havn't done so: TOM language homepage.