Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Sep 18 17:33

    darkfrog26 on 4.0.2

    (compare)

  • Sep 18 17:33

    darkfrog26 on master

    Release 4.0.2 (compare)

  • Sep 11 19:38

    darkfrog26 on master

    Added support for Reactive.futu… (compare)

  • Sep 01 18:30

    darkfrog26 on master

    Added map support back in (compare)

  • Aug 25 16:16

    darkfrog26 on master

    Updated support to extract fail… (compare)

  • Aug 20 20:35

    darkfrog26 on 4.0.1

    (compare)

  • Aug 20 20:35

    darkfrog26 on master

    Release 4.0.1 (compare)

  • Aug 20 20:29

    darkfrog26 on master

    Added support for Dotty (compare)

  • Jun 09 17:20
    darkfrog26 closed #26
  • Jun 09 17:20
    darkfrog26 closed #15
  • Mar 19 20:21

    darkfrog26 on 4.0.0

    (compare)

  • Mar 19 20:21

    darkfrog26 on master

    Release 4.0.0 (compare)

  • Mar 19 20:13

    darkfrog26 on Simplification

    (compare)

  • Mar 19 20:13

    darkfrog26 on master

    Attempting to simplify the arch… Not working! Began complete re-write again w… and 5 more (compare)

  • Mar 19 20:13
    darkfrog26 closed #28
  • Mar 19 20:12
    darkfrog26 synchronize #28
  • Mar 19 20:12

    darkfrog26 on Simplification

    Updated to support Scala.js 1.0 Release 3.0.6 Merge branch 'master' into Simp… (compare)

  • Mar 19 20:11
    darkfrog26 opened #28
  • Mar 19 20:02

    darkfrog26 on Simplification

    Fixes to travis file (compare)

  • Mar 19 19:53

    darkfrog26 on Simplification

    Clean up, addition of transacti… (compare)

Matt Hicks
@darkfrog26
val a: Channel[Value] = Channel[Value]
val b: Channel[Value] = Channel[Value]
val c: Channel[Value] = Channel[Value]
a.and(b).attach { v =>
  c.synchronized {
    c := v
  }
}
Matt Hicks
@darkfrog26
Reactify 3.0 released
scalway
@scalway

hello! I've pinged autor of https://scalafiddle.io/ to add reactify to this tool but then each script throws exception like this:

ScalaFiddle.scala:1: ERROR: There were linking errors
Referring to non-existent method scala.scalajs.runtime.package$.toScalaVarArgs(scala.scalajs.js.Array)scala.collection.Seq
  called from reactify.standard.StandardReactions.$$plus$eq(reactify.reaction.Reaction)reactify.reaction.Reaction
  called from reactify.State.addReference(reactify.State)scala.Unit
  called from reactify.State.$$anonfun$update$7(reactify.State)scala.Unit
  called from reactify.State.update(scala.Option)scala.Unit
  called from reactify.standard.StandardVar.(scala.Function0,reactify.Var$Mode,scala.Option)
  called from reactify.Var$.apply(scala.Function0,reactify.Var$Mode,scala.Option)reactify.Var
  called from ScalaFiddle$.()
  exported to JavaScript with @JSExport
involving instantiated classes:
  reactify.standard.StandardReactions
  reactify.State
  reactify.Var$

anyone did know what could heappen?

Matt Hicks
@darkfrog26
@scalway strange
I assume they are probably running an older version of Scala.js?
Matt Hicks
@darkfrog26
Reactify uses Scala.js 0.6.23 and the latest released version is 0.6.24. It looks like ScalaFiddle runs 0.6.21 for the editor and 0.6.22 for the core. Those are pretty close, so I wouldn't think that would be the problem, but it does appear to be a version issue.
@scalway what release of Reactify are you using?
I was able to reproduce the problem: https://scalafiddle.io/sf/Fq2Kiko/0
scalway
@scalway
newest one (3.0.2). I've seen that yesterday but it was late... I hope to bump versions also.
Matt Hicks
@darkfrog26
@scalway, honestly, I really have no idea why it's erroring
it's got to be something specific about ScalaFiddle, but I really have no idea
have you asked them if they have any idea?
seems like the kind of thing they would have seen before
@scalway I just posted a message in the Scala.js Gitter room to see if they have any thoughts
scalway
@scalway
@darkfrog26 I hope that bumping versions'll help :)
scalway
@scalway
@darkfrog26 yes it does. There was even PR for that.
scalway
@scalway
here is example with some usecases of reactify in one scalafiddle sheet.
There is plan to create template for reactify in scalafiddle (e.g. slinky has one), but script needs to be polished and few things need to be fixed. Could someone looks to all parts commented as "OPS"? I'm not using reactify and there could be some misunderstandings.
Matt Hicks
@darkfrog26
@scalway, I don't follow...it seems to work as advertised
Matt Hicks
@darkfrog26
your problem is that you are creating a list of Var, not a list of Int:
scalway
@scalway
@darkfrog26 true! Thanks.
Lorenzo Gabriele
@lolgab
Hi @darkfrog26, submitted a PR to simplify the build of reactify with scalatest 3.1.0-SNAP7 . Now it is the simplest example of a nice, working, full tested scala cross-build outr/reactify#27
Matt Hicks
@darkfrog26
@lolgab, thanks...I'll get a look soon. Currently on vacation. :)
Lorenzo Gabriele
@lolgab
@darkfrog26 Enjoy your vacation then :)
Matt Hicks
@darkfrog26
Not sure if anyone on here has been paying attention, but Reactify version 4.0.1 is out now
Now has support for Dotty
Lorenzo Gabriele
@lolgab
Nice! :tada:
Sakib Hadžiavdić
@sake92
Hello! Why is there no map on Val/Vars?
Lorenzo Gabriele
@lolgab
@sake92 I think that Val.apply can substitute the map method.
Matt Hicks
@darkfrog26
@sake92 what are you trying to do?
@sake92 I've added map back in and will release with 4.0.2. Like @lolgab suggested, it's just a simple wrapper around Var(doSomethingWith(v1()))
Sakib Hadžiavdić
@sake92
@darkfrog26 tried to implement this with reactify+scalatags: https://github.com/sake92/ReScala-todomvc
by stealing code from here: https://github.com/rtimush/scalatags-rx :smile:
although it's not so bad with ReScala too
Matt Hicks
@darkfrog26
@sake92 you could do this far easier with youi since you get client/server communication with Scala for free...
...and it has Reactify already built-in
Lorenzo Gabriele
@lolgab
@sake92 I'm a big fan of youi and rectify, but reading your code it seems that you should give a look to Laminar too :)
Matt Hicks
@darkfrog26
@lolgab interesting, I hadn't seen Laminar before. It does look to be a lot of what @sake92 is trying to build, but overly complicated.
I've actually been thinking about creating a new multi-stage UI builder that lets you define the UI with placeholders for components to get the layout exactly how you want, and then you can separately define the components that take place in the UI to provide better separation and simplification of UI building.
I'm honestly not a big fan of going down to the HTML element level when building UIs. Modern UI libraries shouldn't have to concern the developers with that, but nearly all of the Scala libs do.
This is why I created YouI in the first place so you can do user interfaces without thinking about HTML elements: https://github.com/outr/youi/blob/master/example/js/src/main/scala/io/youi/example/ui/HelloWorld.scala
Sakib Hadžiavdić
@sake92
@lolgab yes it's nice indeed. But I really really want to reuse my scalatags code.. :smile:
slapedra
@slapedra
Hi
Does reactify compute internally a dag calculation in parallel?
Matt Hicks
@darkfrog26
@slapedra no, there is no asynchronous or parallel operations in Reactify by default
while it's entirely thread-safe, all operations, by default, occur on the calling thread
the primary purpose for this is to maintain an agnostic model that can be extended while fully supporting all platforms (JVM, JS, and Native)
@slapedra is there something you're trying to do that you need that for?
slapedra
@slapedra
I was looking at reactify to potentially replace a parallel dag calculation (a really old implementation). I did not achieved the same level of simplicity. However having a dag behind was allowing me to generically do optimisation (mathematics solver) as I could control the edges to be executed between sources and deriveds nodes.
I like the easy integration of reactify with normal scala code.
Matt Hicks
@darkfrog26
It should possible to add asynchronous calculation if it's desired, but unless you're doing heavy operations, I can't imagine it makes much difference