Hacker News new | ask | show | jobs
by gohrt 4419 days ago
Transients are a different type from the corresponding persistent, as seen by the fact that different operations are supported. Clojure's programmer-facing type system doesn't expose the transient type explicitly, but the semantics certainly implements a linear type system.

From the page you linked:

"""

Capture return value, use for next call

Not persistent, so you can't hang onto interim values or alias

"""

From Rich Hickey himself: http://www.infoq.com/interviews/hickey-clojure-protocols

More context: http://c2.com/cgi/wiki?LinearTypes