Interoperability: from Python to Clojure and the other way round
summary
Shows a working bridge between Python (Jython) and Clojure on the JVM: examples build Java classes from Clojure with gen-class, create dynamic proxies and a delegate macro to avoid boilerplate, and wrap Clojure functions as Python-callable objects by compiling code strings at runtime. Demonstrates persistent immutable collections, STM, lazy sequences and tail-call via recur, handles index and type conversions, and claims performance comparable to Java. Prototype works but the presenter warns it’s experimental for production.
AI-written summary · about
chapters (26)
- 0:00Interoperability intro
- 1:11Clojure and Java foundation
- 3:39Clojure vs Java differences
- 6:32Clojure data structures
- 8:20Clojure functions and recursion
- 10:07Tail call optimization
- 12:17Lazy sequences in Clojure
- 12:43Java and Clojure together
- 14:10Java objects from Clojure
- 15:56Java interfaces in Clojure
- 16:40Java code from Clojure
- 19:10Extending Java objects
- 22:02Delegation macros
- 25:11Custom methods in Clojure
- 27:02Index bounds handling
- 28:11Clojure to Java conversion
- 29:15Dynamic Clojure compilation
- 30:44Python from Clojure
- 31:28Python decorators with Clojure
- 34:16Java factories for Python
- 35:39Python class instantiation
- 37:05Python wrappers for Java
- 38:10Seamless integration features
- 39:58Multi-language demo
- 40:40High-level integration benefits
- 42:05Q&A
related talks
49mA whirlwind tour of functional programming in Clojure
40mFun with Functional Programming in Clojure
01h 02mSolving Problems the Clojure Way
48mAncestry of Polymorphism in Clojure
36mBack to the Future: How 80s Arcade Games Taught me Clojure
01h 03mUnleash Your Data with Clojure: Using Transducers and Sequences
52mDestructuring the Enterprise
40mGenetic Programming in Clojure
