Was it a deliberate decision to make io! optional or is this by accident? I know it came in later
I guess it's hard to do considering all access to Java would have to be categorized, which is impossible, I guess. It just seems like Clojure loses a lot by not guaranteeing side-effect- freeness, like optimizations that can be done if functions are free of side-effects. I don't know whether these guarantees are used by the Haskell compiler/run-time system, but I'd guess so. On a side-note: I actually think it can make sense to do io in transactions in Clojure, and I believe (knowing that transactions can be replayed) it is possible to use that to e.g. implement a transaction log written to disk that could be used to rebuild the data in case of a crash. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---