> 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.

Reply via email to