hoplon

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?

2018-04-27T14:53:13.000139Z

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

2018-04-27T14:54:09.000344Z

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

2018-04-27T14:55:10.000733Z

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

2018-04-27T14:57:13.000306Z

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

2018-04-27T14:59:18.000566Z

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

2018-04-27T14:59:47.000181Z

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

2018-04-27T15:00:38.000247Z

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

2018-04-27T15:01:23.000732Z

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

2018-04-27T15:15:20.000384Z

i'm getting interest from the holochain guys in cells

2018-04-27T15:16:08.000100Z

they are building a bridge between web UIs and a DHT

2018-04-27T15:16:44.000002Z

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

2018-04-27T15:17:35.000489Z

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.

2018-04-27T16:15:45.000392Z

another angle is the similarity to GC

2018-04-27T16:16:02.000375Z

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

👍 1
2018-04-27T16:17:06.000099Z

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

2018-04-27T17:58:33.000203Z

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