> pure way or the mutate objects in place way? I can get great performance > with clojure, no doubt about it, by violating the shat out of functional > programming. I can not get great performance with the beautiful, pure, > composable, clojure that I desire!
(personally i think this is a great topic, of great interest to me personally, and if one squints at it and forgets about the "game" aspect, is a very relevant thing in general in terms of defending, improving, being able to use "pure" approaches more often. i'm sure a lot of folks who have heard of fp and pure fp equate it with utterly bad performance, true or not.) depending on the structure of your system, clojure's transients might help. maybe. quite often in real games, there are explicit memory pools per game tick. sorta like the autorelease pools in objective-c, say. that's perhaps akin to region based memory management. (the BitC folks pondered and pontificated upon regions for a while, but i don't believe there's any "production quality" language that supports them yet.) in general, have there been closer-to-pure-than-mutating high performance apps written ever, in any programming language? and if so, how? could they have been done on a mobile device, or do they only work when you have 4GB of main RAM etc.? i've seen examples of "pure" asteroids in Haskell and CAL. J. Hague is one of the standard urls to paste into a discussion like this. http://prog21.dadgum.com/23.html. Would things like linear/affine/uniqueness types be a better approach? Personally I think/hope in the long run they would be, because they get us the ability to *safely mutate*. So far I think the only language which is remotely near to something one could use for production, along those lines, is ATS which compiles down to C/++. It might well be possible in Shen, that would be pretty exciting I think. sincerely. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.