The first time I watched Nathan talk about Specter, I had the exact same thoughts -- "My data structures aren't that complex, I can't relate to these examples, I don't need Specter, I'm fine with Clojure's get-in, update-in, assoc-in."
But then, I challenged myself for one day to use Specter's select, transform, set-val with navigators as an alternative to Clojure's built-ins, just to get a feel for how they worked. Once the library was already required there at the top of my namespace, and once I became accustomed to the navigators, suddenly, by the end of that day I was seeing *all kinds of places* where I could use Specter in non-obvious ways in my code to make it dramatically leaner and more elegant. Note that this was code where I was getting along just fine without Specter. Yes, I could get along without it, but Specter made the code better. And, oh yeah, faster as well. There seems to be a kind of thinking expressed here that Specter somehow corrupts your programming style and makes you more likely to create unnecessarily deep data structures. But your data structures don't actually have to be all that deep to derive benefit from Specter. My data structures weren't all that deep before Specter, and they aren't any deeper now -- I just have richer tools to work with. So take this as one data point: my assessment of Specter before I actually tried it turned out to be wrong, and its utility greatly exceeded my expectations. Try it for a day or two, and maybe you too will "see the light". --Mark On Sat, Mar 4, 2017 at 1:22 AM, Erik Assum <e...@assum.net> wrote: > My thoughts on this were spurred by this tweet from Nikita Prokopov > https://twitter.com/nikitonsky/status/837049980053516310 > > I generally don't have the need to alter stuff deep down in data > structures, but when I do, I don't mind writing the functions to do so. > > The two things that worries me about Specter are > 1) One more path-DSL to learn for both my team and I. > 2) If Clojure were an OO-language, wouldn't I be violating the law of > Demeter https://en.m.wikipedia.org/wiki/Law_of_Demeter when using specter? > > I realize that these are not arguments for or against Specter going into > Clojure, more my thoughts on why I'm not using it. > > Erik. > -- > i farta > > Den 16. feb. 2017 kl. 04.05 skrev Alex Miller <a...@puredanger.com>: > > > On Wednesday, February 15, 2017 at 3:41:36 PM UTC-6, Nathan Marz wrote: >> >> Alex – care to elaborate? When I get this question it would be nice to be >> able to tell people why the core team isn't interested. >> > > The default answer to all such questions is no. Clojure has a small > library and Rich wants it to remain that way. > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.