Fellow data flowers: I was just chatting with an immutability fan and showed him some data flow snippets (the simple Javelin intro, I think) and he characterized it unfavorably as “unchecked mutation”. I confessed that data flow scared me the same way even though I had created my library myself! Just the whole idea of data changing without a “Mother, may I?” from the programmer was viscerally alarming. Took me weeks to consider it normal. Q: have you all experienced similar sentiments in your encounters with Clojurians?
if anything i find the javelin model of value-based change complements immutability nicely
i have tried to get semi-philosophical, by saying things like, function calls are mutation of the stack
i'd be curious to know the background of this person that might contribute to that feeling. like what other tools/framework they're using
when i showed hoplon to clojurists even before react, and before anything was really available except google closure/pedestal/webfui, the only thing people seemed to know definitively was that they didn't like it lol
at that point though what seemed to turn people off the most was a new build tool and the .hl file type
otoh i've been doing a lot of hobby CL lately and finding 'unchecked mutation' pretty groovy
so beyond the fact i helped make it i'm especially not well positioned to introspect 😄
i'm getting interest from the holochain guys in cells
they are building a bridge between web UIs and a DHT
they like the idea that the cell can handle the interactions with the DHT and the UI just deals with the final values
they're more js than cljs though
@alandipert I know that groovy feeling. For me it is mutation in some JS I am writing. The sky seems not to have fallen. Interestingly, my path to data flow began precisely with needing declarative, functional expressions to solve a computational ordering problem. I was driven to data flow just to make that fast enough. Of course now the reliable propagation of state change is all I see. I tried pitching “functional state” to my friend but he did not follow up on that but I think it did not work for him.
another angle is the similarity to GC
and how cells are related to eachother invisibly the same way memory is in a GC language, and GC clearly empowers a new level of awesome1👍
the same as how you can i.e. cons things up in closure and not worry about their deallocation, you can make and do stuff with cells privately/anonymously. and at some level they are coordinated with other cells in the system, but mostly invisibly to you