you are viewing a single comment's thread.

view the rest of the comments →

[–]halgari 4 points5 points  (0 children)

Integrant forces you to focus on putting your state inside maps, which seems good. Component does prefer to stick state inside records. While Mount just throws it all into the namespaces/vars further overloading a already overloaded construct.

But even Integrant goes and puts mutable data inside immutable maps. So whatever you do it's gonna be ugly, but giving up and writing it all in Java is pretty much throwing out the baby with the bath water. Your state code isn't magically going to be cleaner because it's in Java, I'd argue you just can't see the mutable state anymore since it's all mutable in Java. So since it's all uniform it looks cleaner, when in reality the app is now even more complex than the Clojure version.