On Nov 24, 4:44 pm, Rich Hickey <[EMAIL PROTECTED]> wrote:
> On Nov 24, 7:22 pm, dokondr <[EMAIL PROTECTED]> wrote:
>
> > Providing that Clojure is NOT a pure functional language like Haskell,
> > yet how can I isolate imperative-style computational structures  from
> > the main body of the functional program?
>
> You can't, other than manually.
>
> > How can I ensure referential transparency in Clojure?
>
> You can't, other than manually.
>
> > What I/O primitives Clojure provides?
>
> All of Java's.

Is there anyway to assert that code does have side effects & should
never be called in a transaction?

(dosync
 (assert (not (in-transaction)))) -> "Assert: Can't call this code in
a transaction"

That could be useful for debug builds of IO libraries.

Cheers,
Brad
--~--~---------~--~----~------------~-------~--~----~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to