These are chat archives for ThoughtWorksInc/Binding.scala

10th
Mar 2017
jhegedus42
@jhegedus42
Mar 10 2017 07:47
are there any examples of Binding in production ?
looks interesting
how does binding compare to reflex-dom ?
杨博 (Yang Bo)
@Atry
Mar 10 2017 07:50
@jhegedus42 We are using Binding.scala in ThoughtWorks's internal product. And there are people who create open-source application with Binding.scala, like https://github.com/walfie/gbf-raidfinder
杨博 (Yang Bo)
@Atry
Mar 10 2017 07:59

@jhegedus42 It seems very different from Binding.scala.

Binding.scala is a FRP-driven templating language. However, reflex-dom looks like a collection of raw FRP functions.

jhegedus42
@jhegedus42
Mar 10 2017 08:21
hmmm
thanks for info
so Binding has a higher order frp behind it ?
like reflex?
or sodium?
or reactive banana?
杨博 (Yang Bo)
@Atry
Mar 10 2017 08:22
Binding is a monad, that is all I can tell
However, we usually use the .bind syntax instead of manually-written map / flatMap.
The idea is implemented in https://github.com/ThoughtWorksInc/each as well
jhegedus42
@jhegedus42
Mar 10 2017 09:01
i see interesting
so it is possible to do something like bind:: Behaviour (Behaviour Int) -> Behaviour Int ?
Behaviour here is a Cell
杨博 (Yang Bo)
@Atry
Mar 10 2017 09:31
Binding is similar, but still different
杨博 (Yang Bo)
@Atry
Mar 10 2017 10:22

listen has side effects, usually causes memory leaks, because you can merely find the correct time to unlisten it in complex GUI.

Binding.scala avoids this issue, because Binding.scala does not provide a public API similar to listen

However, map is safe because map could be pure if it is implemented correctly