Comments (4)
How is this being used? Do you find you need it very often?
The requirement of sampling the Dynamic immediately in order to execute the action initially is something that we usually try to avoid in widget code because it's stricter than most other operations, and can result in loops that are trickier than usual to decipher.
from reflex.
@cgibbard I found a use for it when I had Dynamic t (Incremental t p)
and I needed to transform the incremental in a way that required monad hold.
from reflex.
@2426021684 This is very similar to runWithReplace
. Would that be helpful here?
One of the rules we try to abide by in all our widget code is not to be strict in any Behaviors
(including the current
of a Dynamic
). It can lead to awkward code sometimes, but it also seems to make people far less likely to write code that loops, so we've considered it an acceptable tradeoff. On the other hand, there may be some other approach we could use to avoid loops. If you have any ideas, let me know!
from reflex.
@ryantrinkle
This function appears to do the same thing as f
f2 :: (Adjustable t m, MonadHold t m) => Dynamic t (m a) -> m (Dynamic t a)
f2 d = uncurry holdDyn =<< runWithReplace (join (sample (current d))) (updated d)
from reflex.
Related Issues (20)
- Very outdated test dependency HOT 1
- PushM versions of scanDyn/scanDynMaybe
- Running programs with an occurrence at "now" HOT 1
- Support for ghc-8.10.x? HOT 3
- Can you bump upperbounds? HOT 7
- Reflex.Collection.listWithKey samples Dynamic values too late
- Client side routing without Obelisk?
- is there a specification / paper re reflex internals? HOT 2
- More flexible collection management HOT 4
- runWithReplace makes "now" events disappear HOT 2
- Looking for example for fan/fan-out of events HOT 4
- Floating instance for behaviors? HOT 3
- OpenCollective/Patreon? HOT 2
- Compile error for test suite when building based on nixpkgs
- Sporadic bug: "merge: heightBagRef not yet initialized"
- reflex only installs on 9.4.2 with --allow-new HOT 4
- getPostBuild seems to fire too fast? HOT 2
- How to fire an event on the condition that a couple of other events have fired at least once?
- Space leak when using the Applicative instance of Behavior
- reflex doesn't compile with 9.6.1 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from reflex.