I use mutation generously inside of functions. I do not consider that impure at all, pragmatic yes, impure no. Has anyone used Azul's jvm and gotten a big bump in performance?
On Wednesday, March 12, 2014 7:28:44 PM UTC-4, raould wrote: > > > 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.