The :hoplon: ClojureScript Web Framework - http://hoplon.io/
kennytilton 2018-04-27T14:05:24.000210Z

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?


@hiskennyness yes, and i don't understand the phenomenon


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

kennytilton 2018-04-27T15:58:08.000622Z

@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 awesome


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


@hiskennyness out of curiosity do you still do much CL?