Haochen Xie

Talk: Fluent Designのすすめ

A presentation on advanced techniques in implementing library interface in the fluent style in Java



This is a talk given at the workshop “ジェネリクス勉強会” (“Workshop in Generics”) taken place on June 24, 2017 in Tokyo. The talk was given remotely at the satellite workshop venue in Nagoya. In this talk, I presented advanced techniques on implementing fluent objects in Java taking advantages of the Java Generics system, covering a technique to utilize inheritance in writing fluent objects and four common patterns in fluent objects, namely, the Action Pattern, the Finisher Pattern, the Harvester Pattern, and the Nested Pattern. This talk also mentioned the unsoundness and Turing completeness of Java’s type system.


  • June 24, 2017 – create slides
  • July 6, 2017 – create this talk page


  • Radu Grigore. 2017. Java generics are turing complete. SIGPLAN Not. 52, 1 (January 2017), 73-85. DOI: https://doi.org/10.1145/3093333.3009871
  • Nada Amin and Ross Tate. 2016. Java and scala's type systems are unsound: the existential crisis of null pointers. SIGPLAN Not. 51, 10 (October 2016), 838-848. DOI: https://doi.org/10.1145/3022671.2984004