OCaml's OOP: self, public and cached methods

compiler

#1

Can anyone explain to me the difference between self, public and cached methods as far as the OCaml compiler is concerned? I haven’t found explanations in comments or on the web of these concepts in the compiler, and I’m really curious.