在 FRP 中实现快照
我正在 Scala 中实现 FRP 框架,但我似乎遇到了问题。出于某种想法,这个问题我决定限制我的框架的公共接口,因此只能在“现在”中评估行为,即: behaviour.at(now) 这也符合 Conal 在 Fran 论文中的假设,即仅在增加的时间对行为进行评估/采样。它确实限制了 Behaviors 的转换,但除此之外,我们发现自己在表示某些输入的 Behaviors 方面存在巨大问... »
我正在 Scala 中实现 FRP 框架,但我似乎遇到了问题。出于某种想法,这个问题我决定限制我的框架的公共接口,因此只能在“现在”中评估行为,即: behaviour.at(now) 这也符合 Conal 在 Fran 论文中的假设,即仅在增加的时间对行为进行评估/采样。它确实限制了 Behaviors 的转换,但除此之外,我们发现自己在表示某些输入的 Behaviors 方面存在巨大问... »
作为一项实验,我设置了一组连接到电机的模拟齿轮,并使用 OpenGL/GLUT 渲染它们。目前,Wire 网络的唯一输入是Time。我想用键盘来控制改变电机的速度。我还想从Fix your Timestep! 中描述的帧速率中分离物理时间步长。 这意味着我需要使用三种不同类型的输入从三个不同的 GLUT 回调(keyboardMouseCallback、idleCallback 和 displa... »
我正在学习 JavaScript 中的响应式编程和函数式响应式编程。我很困惑。 Wikipedia 表示,编写响应式代码的方法有很多种,例如命令式、OORP 和函数式。我想知道事件驱动是否只是编写响应式代码的另一种方式? 响应式编程与 Promises 有什么关系?我认为 promises 是事件驱动和回调地狱的替代方案。 ... »
我正在尝试了解 FRP 图和带镜头的状态机之间的实际差异 - 特别是对于像游戏循环这样的东西,其中整个状态在每个滴答时都会重新绘制。 p> 使用 javascript 语法,以下实现基本上都可以工作: 选项 1:带镜头的状态机 //Using Sanctuary and partial.lenses (or Ramda) primitives //Each update takes the ... »
我一直想试一试 FRP,昨天我终于硬着头皮试了一下,使用 Netwire 5 开始(这本身就是一个相当随意的选择,但我必须从某个地方开始!)。我已经设法达到“有效的代码”的目的,但我注意到一些模式,我不确定这些模式是否是预期如何使用库的一部分,或者它们是否是我的症状我在某处做错了什么。 我从this tutorial 开始,这足以让我轻松启动和运行——我现在有一个由简单的“递增数字”线控制的旋转... »
我不确定这种行为是预期的(即我误用了 Reactive.Banana.Switch)还是错误。 假设我有两个类似类型的输入行为,我想根据一个事件在它们之间切换。我写了这个函数: switchBehaviors :: Behavior t a -- | Behavior to yield initially and after "True" events -> Beha... »
我正在考虑类似gnugo 的 ascii 界面。我认为轮流是一对共同进化的(允许用户输入的单子)流。这让我隐约想起了管道。 我不太确定如何使用现有的库来做到这一点。... »
我正在使用 RxJava 来收集单独发出的 Observable 列表,并将它们组合成一个 Observable 列表(本质上与 flatMap 相反)。这是我的代码: // myEvent.findMemberships() returns an Observable<List<Membership>> myEvent.findMemb... »
我正在尝试在来自 RxSwift repo 的 rxswift 示例项目中实现类似的功能。但在我的情况下,有依赖的可观察量。如果不使用视图模型中的绑定,我找不到任何解决方案 这是我的视图模型的结构: 首先是输入、输出和视图模型的定义 typealias UserListViewModelInput = ( viewAppearAction: Observable<Void>... »
部分讲述了 FRP 流处理中的 merge 操作(使用Sodium library)。 Book 展示了下图的流组合,并说当事件通过流进入 FRP 逻辑时,会导致在事务上下文中发生的级联状态更改,因此所有更改都是原子的。 事件流 - sDeselect、sSelect(参见 2 个事件:“+”和“-”)源自 UI 控件,因为它们发生在同一个 FRP 事务中,因此它们携带的事件被认为是同时发生... »
我正在尝试自学一些反应式函数式编程。这个来自 Ben Lesh 的 video 展示了一个 observable 的例子。我之前的阅读表明 observable 是惰性的,即它仅在订阅后才进行评估。奇怪的是,此代码不需要订阅即可打印到控制台。 var Rx = require('rxjs/Rx') var source = Rx.Observable.from([1,2,3,4,5]); v... »
我正在使用 Bacon.js 学习 FRP,并希望将来自分页 API 的数据组装到流中。 使用数据的模块有这样的消费API: // UI module, displays unicorns as they arrive beautifulUnicorns.property.onValue(function(allUnicorns){ console.log("Got "+ allUnico... »
我正在尝试对Publisher 执行副作用,但找不到任何允许我执行此类操作的运算符。准确地说,我正在寻找一个类似于 RxSwift 的 do(on:) 的概念。 这就是我想要做的。 我正在为第 3 方 SDK 提供的委托编写反应式包装器。它和用于与 BLE 设备交互的 SDK。我有像startScanning 和stopScanning 这样的方法,我想要实现的是对信号做出反应并调用stopSc... »
我有一个从reactive-banana repo 中获取的样本。这使用gloss。 但是当我处理事件时,我有自己的数据事件。这些事件不一定是 UI 事件。所以我期待 FRP 可以帮助我编写自定义事件。因此,例如,一个列表可能会改变,而改变的数据在一个事件中,而应用程序的另一部分使用改变的数据。 我初步的 Haskell 知识并没有帮助我使用reactive-banana 实现这一目标,但我确实遇... »
我得到了一个使用 threepenny-gui 库的蛇版本,但我不喜欢我手动显式调用 newEvent 和 addStateUpdate 而不是完全基于事件定义行为的事实,例如这个: (updates, addUpdate) <- liftIO newEvent managerB <- accumB initialManager updates on UI.tick timer $ ... »
我正在尝试使用 Yampa 编写一个简单的 FRP 示例,而不是等待 2 秒(如此处:https://wiki.haskell.org/Yampa/reactimate)将在一定范围内等待随机时间。我尝试了多种不同的方法来以某种方式将 randomRIO 函数放入信号函数中,但无法真正掌握我应该做什么。 我的意图是像这样替换 twoSecondsPassed 函数: randomTimePasse... »
请注意:尽管我在示例中使用 Swift-lang,但我鼓励您尝试帮助我,即使您了解 RxJava 和 rxjs 或任何其他 Rx 实现。 问题:我有一个命令式编写的状态机。我想使用 Rx 进行响应式重写,但我正在努力想出正确的方法。 当前的命令式系统如下所示: var state: State var metaState: MetaState func updateMetaStateIfNeed... »
我正在使用 reflex-platform 和 obelisk。 这是我获取当前日期的前端代码 pb <- getPostBuild postBuildTime <- performEvent $ pb $> liftIO getCurrentTime let today = Text.pack . formatTime defaultTimeLocale "%F" <$&... »
我正在尝试在需要侦听动态端口的容器中运行frp。这意味着 frp 可能会在运行时打开额外的端口。 我的操作步骤 在我的远程 VPS 上,我使用以下命令来启动一个 frp 服务器。请注意,我使用host 模式,这意味着,根据 Docker 文档,所有打开的 frp 端口都可以从主机和外部机器访问。 docker run -d \ --network=host \ -v /etc/frp:/etc... »
我对@987654321@ 运算符有疑问。如果有人能帮我弄清楚,我将不胜感激。 所以我们从文档中得到了什么: 指定执行订阅、取消和请求操作的调度程序。 与影响下游消息的receive(on:options:)相比,subscribe(on:options:)改变了上游消息的执行上下文。 另外,我从不同的文章中得到的是,除非我们明确指定Scheduler 来接收我们的下游消息(使用recei... »