Fork me on GitHub
#re-frame
<
2016-10-09
>
gerred02:10:13

@mikethompson so I’m working through the re-frame stuff, lots of 👍. has Elm 0.17 changed the re-frame approach at all? I see signals are a first class concept in re-frame.

gerred02:10:27

(not taking any opinions on one vs. the other)

mikethompson06:10:05

@gerred during 2014 I noticed Elm, which was very young at the time and mostly about Games ("the mouse position" was a signal kinda games). I don't have a background in ML or Haskell so I really struggled to read the code, and the docs were lacking at that time. But it certainly got me interested in FRP and I was introduced to concepts like foldp. Got me looking at Hoplon (in CLJS) and it got me interested in reading up on FRP. Which, in turn, helped me to understand why Reagent works so well. re-frame itself came out about the same time as the Elm Architecture was published.

mikethompson06:10:25

Since then I've certainly kept an eye on Elm ... and BEST ... and Cycle.js etc

mikethompson06:10:36

And Redux, when it came out

mikethompson06:10:26

Damit, now I'm looking back at your question again, I see I skimmed your question, didn't understand it properly, and speared off in the wrong direction (not for the first time). You are ACTUALLY asking why re-frame still has signals when Elm dropped/changed them in 0.17. I'll try to answer that now.

mikethompson06:10:38

From what I read, Evan Czaplicki dropped Signals because they seemed to confuse people in Elm. They were a sticking point. In effect, they weren't dropped for a technical reason, as such. But I've never found Signals to be the slightest problem in re-frame - everyone seems to get them pretty easily. I've never tried to understand why Elm Signals are a challenge, but it doesn't mean I need to remove Signals in re-frame :-) In fact, in v0.8.0 re-frame got reg-sub and de-duplicated signal graphs which means, I believe, that Signal graphs in re-frame more closely than ever match programmer's instinctive mental models.

mikethompson06:10:48

I'm thinking that the upcoming v0.9.0 will contain one further small tweak which will improves that yet again. It actually isn't a tweak, it is just a new guarantee ...

naomarik15:10:26

i'm sure this been asked before, but there any examples of using datascript with re-frame? also in the docs there's a reference to using datascript but an app having "too much data" ... what's considered as being too much data to be using datascript?

gerred21:10:37

@mikethompson Yeah, I wouldn’t advocate their removal, I was just super curious as to your thought process, I enjoyed reading the documentation very much. 🙂 both answers were great, thank you! first answer helped inform the second for me. 🙂

mikethompson21:10:13

@naomarik look at posh and its Wiki. In our case, we had to load and process 15MB XML documents with 10s of thousands of elements and 100K attributes. Bulk loading that into DataScript caused us too much of a lag - building indexes etc. Having said that, I know some work was subsequently done to speed bulk loading.