I'm working on a 2d video game. Ideally I'd like to be able to push
out the whole thing through web start or a standard application
download. Right now I'm busy trying to instrument my game so I can
define functions in it through emacs with some sanity in error
handling. Here's my pain points:
1. Error messages:
Maybe it's a by-product of my specific way of mixing Java and Clojure,
but I end up with a lot of stack traces that are difficult to
interpret. Redefining a function also completely destroys any line
number information. There's probably nothing to be done about that but
even definition-relative line numbering would be a huge bonus. The big
selling point for Clojure to me was being able to push functions into
the running game, so shutting it down to get useful stack traces with
my new definitions kind of defeats the purpose. I've "sworn off"
Clojure probably three or four times over this one issue, with a
nights sleep and a new idea for a solution in the morning being the
only thing that stops me from going somewhere else. Granted, part of
the problem here is that my interaction is incomplete. I started
working on trying to provide myself with a little more than just a
stack trace, but at least having usable stack traces for new
definitions would help. If there's something already provided to
support this, cast another vote for #2.
2. Tutorials/Documentation:
The documentation on the site is good, but there's a few holes in it.
Extending it a bit for those of us who are too ignorant/lazy/timid to
read the source would be nice. Some tutorials aimed at people coming
to Clojure from either direction (i.e. significant Lisp experience or
significant Java experience) would also be appreciated, and probably
is a better use of your time in that they help bootstrap the community
so it can write more mundane docs.
3. Editor integration:
This one has come up a lot. So far I've had decent success using the
supplied emacs mode and a bit of ugly hacking to wedge it into my
game. Evidently some people have had success getting Slime to work
with scheme [1], which gives hope in that area, but I've seen a few
hints that the official site documentation doesn't really match up
with the project anymore. For those using Eclipse you might be able to
piggyback off of Cusp [2] to get support for Clojure, especially if
interaction with Slime does take off.
-Adam
[1]
http://mumble.net/~campbell/slime48.html
[2]
http://bitfauna.com/projects/cusp/index.html