Yes, you are correct that Clojure has no TCO. But it does have a recur construct that allows zero stack consuming recursion whilst rebinding whatever you need.

In practice, in real world programs this seems to be sufficient, certainly for my uses. Commercial GUI code, running against real data.

Also, a very exciting recent addition to the language allows deriving dynamically from Java objects. This allows Clojure code to be near to a first class citizen in the rough and tumble world of sub-classing GUI controls to customize table views in Swing etc. This gives a real world feel to how Clojure can be used.

Reply

Please solve the math problem above and type in the result. e.g. for 1+1, type 2
The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <pre> <code> <ul> <ol> <li> <dl> <dt> <dd> <sub> <sup> <tt>
  • Lines and paragraphs break automatically.
More information about formatting options