Fork me on GitHub
#hoplon
<
2018-04-27
>
kennytilton14:04:24

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?

alandipert14:04:13

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

alandipert14:04:09

if anything i find the javelin model of value-based change complements immutability nicely

alandipert14:04:10

i have tried to get semi-philosophical, by saying things like, function calls are mutation of the stack

alandipert14:04:13

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

alandipert14:04:18

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

alandipert14:04:47

at that point though what seemed to turn people off the most was a new build tool and the .hl file type

alandipert15:04:38

otoh i've been doing a lot of hobby CL lately and finding 'unchecked mutation' pretty groovy

alandipert15:04:23

so beyond the fact i helped make it i'm especially not well positioned to introspect 😄

thedavidmeister15:04:20

i'm getting interest from the holochain guys in cells

thedavidmeister15:04:08

they are building a bridge between web UIs and a DHT

thedavidmeister15:04:44

they like the idea that the cell can handle the interactions with the DHT and the UI just deals with the final values

thedavidmeister15:04:35

they're more js than cljs though

kennytilton15:04:08

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

alandipert16:04:45

another angle is the similarity to GC

alandipert16:04:02

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

👍 4
alandipert16:04:06

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

alandipert17:04:33

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