[Haskell] Haskell version of Crystal Space 3D?

robert dockins robdockins at fastmail.fm
Wed Jun 22 17:27:29 EDT 2005

> Two questions:
> 1) Would a Haskell counterpart to Crystal Space 3D, if
> implemented, potentially be fast enough to run a
> project similar to the 3D real-time Crystal Space
> 3D-based MMORPG "PlaneShift" ( see
> http://www.planeshift.it/main_01.html ) on Mac OS X
> 10.2.8 Jaguar or above?
> 2) For a hobbyist programmer with a computer science
> algorithms background including some coursework in
> lambda-calculus, with some programming background in
> Scheme and C, and with some knowledge of Java, for the
> purpose of writing a project similar to "PlaneShift,"
> which of the following options would more likely be
> easier to accomplish?
> Option A) 
> Use the existing Java scripting support already
> available in Crystal Space 3D, and deal with debugging
> potentially larger programs in Java.
> Option B)
> Write a Haskell binding for the existing Crystal Space
> 3D libraries, and then deal with debugging potentially
> smaller programs in Haskell.
> I have written some programs in Scheme, C, and Java,
> but have only audited some lectures, written a few
> programs, and studied a few chapters on Haskell so
> far.

As it turns out, there is a pretty large conceptual gap between the 
design of most object oriented libraries and idiomatic Haskell.  This 
makes writing useful bindings in Haskell for such libraries a tricky 
business.  If you want it to be easy, I'd say stick with an OO language 
that will more closely match the design (caveat: I am not familiar with 
the design of CS, but I assume it is OO because its written in C++).  If 
you want to learn more about Haskell, then the ease question takes a 
back seat.  To be honest, I don't think there is any easy way to tackle 
a project of this size -- the planeshift people et al have been working 
on this for a long time.

As to performance, I suspect it would be OK, if you were sufficiently 
good with a profiler.

More information about the Haskell mailing list