Because I realized game rule logic should handle huge complexity, I'm considering using of non-typical language in game field as in-game logic script language. The reason of in-game script is representing complex logic with less code. So extremely well abstracted language required.
But most well-abstracted languages use GC. And normally the GCs make CPU burst load. Basically it defers clearing memory operation, and do it at once. Really critical to realtime graphics including games and GUI.
AFAIK, Haskell's GC is little bit different with other GC based languages cause of it's immutable attribute. It's hard to imagine. I couldn't find any document this in detail.
What's different? And is it CPU burst free for long running programs? (well distributed load over time, manual complete GC command can be called for each tick)
You may want to look at the thread initiated by Luke Palmer here : http://www.haskell.org/pipermail/haskell-cafe/2010-February/thread.html#73881