Extending Clojure with Python - Chris Nuernberger

Chris Nuernberger explores how Clojure and Python can be seamlessly integrated for machine learning and numeric computations, bridging the gap between their strengths and achieving high performance.

Key takeaways
  • Python and Clojure can be extended to work together seamlessly
  • Libpython-clj provides a way to access Python objects from Clojure without copying
  • The main idea behind libpython-clj is to intermix Python and Clojure, so users can leverage the strengths of both languages
  • The author’s company, Galvanize, has been working on a numeric stack that incorporates Python and Clojure
  • The author extols the virtues of the REPL in both languages, saying it’s essential for language design
  • Python and Clojure can be used together to extend the functionality of each language
  • The author encourages users to try using Python with Clojure, especially for machine learning and numeric computations
  • The author highlights the challenges of working with native libraries and the importance of understanding the language design of both Python and Clojure
  • The author believes that native dependencies are the price to pay for high performance in Clojure, and that libpython-clj provides a way to make Python and Clojure interoperate seamlessly
  • The author sees potential for Clojure and Python to be used together in the same system, with Clojure providing a nice REPL experience and Python providing access to high-level libraries
  • The author emphasizes the importance of understanding the language model behind Python, which is based on a dictionary of attributes.
  • The author also highlights the importance of Zero Copy, which allows for efficient transfer of data between Python and Clojure.