Clojure 1.11.0-alpha4 chat

Discover the new features in Clojure 1.11, including iteration, caching, and optimization, as well as nuanced details on its API, protocol, and potential issues in this alpha release.

Key takeaways
  • The new iteration functionality in Clojure 1.11 allows iterative processing of results, with some caching and optimization.
  • The process of consuming results can be piped, allowing for concurrent processing.
  • Existing code may need to be rearranged to take advantage of this new API.
  • The iteration protocol takes both a step function and a token as optional arguments.
  • The token is only considered if the step function is invoked from the iteration protocol.
  • Unchecked math operations can be used via the unchecked namespace.
  • Code can be optimized using exact additions and multiplications, similar to Java 8’s Math.add Exact and Math.multiplyExact functionality.
  • The condp DSL can be used to create condorcet methods, which allow a different behavior based on the operand seeker.
  • The iteration protocol enables the creation of seekable iterative processes.
  • The haltrans function can be used to create transative processes.
  • The core.asm namespace provides a way to write assemble code in Clojure.
  • Alpha 4 of Clojure still has some remaining tickets that it is unclear if they’ll fit into the release.
  • Some areas of the codebase still have remaining issues, such as non-determined reflector behavior.