Hacker News new | ask | show | jobs
by Nekorosu 3220 days ago
Clojure supports class based OOP? Never heard of it. Could you give me a link to the relevant documentation page?
3 comments

Not really a OOP programmer, but I think the following cover some reasonable subset of OOP:

https://clojure.org/reference/multimethods

https://clojure.org/reference/protocols

That's selling Clojure a little short. Clojure has full Java interop via reify, proxy, gen-class, deftype and definterface.
It's not class-based OOP.
Clojure supports protocols and multi-methods, the building blocks of CLOS, Common Lisp Object System.

Already at Xerox PARC, Lisps started to support OOP, with FLAVORS for Interlisp-D being one of the first ones.

EDIT: Disregard the last paragraph, lispm is right.

'Loops' was developed at Xerox PARC for Interlisp. Flavors was from MIT for Lisp Machine Lisp. Multimethods were first developed for Common Lisp in CommonLoops around 1986 at Xerox PARC.
Thanks for the correction. I typed it on the go without checking first.
Via records (defrecord) and protocols.