frp相关内容

函数响应式编程相对于事件监听器的优势

我听说过很多关于函数式反应式编程的内容,并决定看看有什么大不了的.通过 bacon.js 文档,似乎主要区别在于,我没有在组件上设置事件侦听器,而是在其上创建事件流,并将事件处理程序传递到流中.换句话说,我真正做的只是将事件处理程序从组件移动到事件流.是这样吗?如果是这样,这样做的最大优势是什么? 解决方案 是吗? 没有.这是关于拥有事件流.最后你仍然会为它们附加监听器来执行效果 ..

如何在 Elm 0.17/0.18 中获取当前时间?

我已经问过这个问题了: 如何在 Elm 中获取当前时间? 并通过编写我自己的(现已弃用)start-app 变体来回答它: http://package.elm-lang.org/packages/z5h/time-app/1.0.1 当然,Elm 架构已经改变了,我以前的做事方式不再有效,因为没有信号或 Time.timestamp. 所以.... 假设我使用标准更新 ..
发布时间:2022-01-02 14:03:08 其他开发

FRP - 事件流和信号 - 仅使用信号会丢失什么?

在最近的经典 FRP 实现中,例如reactive-banana,有事件流和信号,它们是阶梯函数(reactive-banana 称它们为行为,但它们仍然是阶梯函数).我注意到 Elm 只使用信号,并且不区分信号和事件流.此外,reactive-banana 允许从事件流到信号(已编辑:并且可以使用 reactimate' 对行为采取行动,尽管它不被认为是好的做法),这意味着理论上我们可以应用所有 ..
发布时间:2022-01-02 13:57:36 其他开发

Netwire 5 中的 Kleisli Arrow?

我正在尝试使用 Haskell + Netwire 5 (+ SDL) 创建游戏.现在我正在处理输出部分,我想创建在某些游戏状态下读取的连线,并输出要在屏幕上进行 blitted 的 SDL 表面. 然而,问题在于 SDL 表面包含在 IO monad 中,因此任何创建此类表面的函数都必须具有类型 a ->IO b.当然,arr 不会从 a -> 构造一个 Wirem b.然而,由于线路的类 ..
发布时间:2022-01-02 13:53:25 其他开发

什么是(函数式)反应式编程?

我已阅读关于反应式编程的维基百科文章.我还阅读了关于函数式反应式编程的小文章.描述很抽象. 函数式反应式编程 (FRP) 在实践中意味着什么? 反应式编程(相对于非反应式编程?)由什么组成? 我的背景是命令式/面向对象语言,因此如果能提供与此范式相关的解释,我们将不胜感激. 解决方案 如果您想体验 FRP,可以从旧的 Fran 教程 来自 1998 年,有动画插图.对于论文, ..

如何在一个简单的 RxJS 示例中不使用主题或命令式操作来管理状态?

我已经用 RxJS 试验了两个星期了,虽然原则上我喜欢它,但我似乎无法找到并实现管理状态的正确模式.所有文章和问题似乎都同意: Subject 应该尽可能避免,以支持通过转换来推送状态; .getValue() 应该完全弃用;和 .do 也许应该避免除了 DOM 操作? 所有这些建议的问题在于,除了“您将学习 Rx 方式并停止使用 Subject"之外,似乎没有任何文献直接说明您应 ..
发布时间:2022-01-01 22:28:32 前端开发

使用 RxJS 链接 promise

总的来说,我是 RxJS 和 FRP 的新手.我的想法是将 ExpressJS 应用程序中现有的承诺链转换为可观察的实践.我知道这可能不是最好的例子,但也许有人可以帮助阐明. 我正在做的事情: 我有两个承诺 - prom1 和 prom2 我希望 prom1 在 prom2 之前运行 如果 prom1 发送一个拒绝(错误),我想在它开始之前取消 prom2. 我希望 prom1 ..
发布时间:2022-01-01 22:15:52 前端开发

Rxjs 观察对象更新和变化

我目前正在尝试观察给定对象的任何更改,包括它的所有元素. 以下代码仅在更新 object[x] 时触发,但不会在单独更新 object[x] 的元素(例如 object[x][y])时触发 var elem = document.getElementById("test1");var log = function(x) {elem.innerHTML += x + " ..
发布时间:2022-01-01 22:04:01 前端开发

RxJS Promise 组合(传递数据)

我是 Rx 的新手,我发现很难找到有关撰写承诺的文档,以便将第一个承诺中的数据传递到第二个承诺中,依此类推.这是三个非常基本的 promise,对数据的计算并不重要,重要的是必须使用前一个 promise 中的数据进行异步操作. const p1 = () =>Promise.resolve(1);const p2 = x =>{ const val = x + 1;返回 Promise.re ..
发布时间:2022-01-01 21:53:38 前端开发

为什么递归`let`使空间有效?

我在学习函数式响应式编程时发现了这个说法,来自 "用箭头堵住空间泄漏" 作者:Hai Liu 和 Paul Hudak(第 5 页): 假设我们希望定义一个无限重复其参数的函数:重复 x = x : 重复 x或者,在 lambda 表达式中:重复 = λx → x : 重复 x这需要 O(n) 空间.但是我们可以通过写来实现 O(1) 空间:重复 = λx → 让 xs = x : xs在 xs ..
发布时间:2021-12-14 12:13:44 其他开发

更简单的 Reactive 替代库?(哈斯克尔)

我正在学习 Haskell,并尝试编写一些事件驱动的程序. 以下代码来自教程:http://www.haskell.org/haskellwiki/OpenGLTutorial2 main = 做(progname,_) 程序 程序将使用reactive-banana 将Inputs 映射到Outputs.要开始移植教程代码,我们将从 cubes 中删除 IORef 并将 res ..
发布时间:2021-11-17 02:01:56 其他开发

Scala.React 的状态如何?

我刚刚阅读了弃用观察者模式,发现它非常吸引人. 文档中描述的 Scala.React 包的状态是什么?我找到了 Scala.React 快照的一个压缩包,但似乎没有太多文档或主动维护.我还发现了 ScalaFX,它看起来可能与响应式编程有关,但同样没有维护. 是否有任何项目基于本文中的想法来创建基于反应式的 GUI 框架? 解决方案 UPDATED: As William Ha ..
发布时间:2021-07-15 19:20:54 其他开发

RxSwift 合并不同类型的 Observable

我应该如何在 RxSwift 中合并 2 种不同类型的 Observable? 例如: var a: Observablevar b: Observable Observable.of(a,b).merge() 由于类型参数不同而无法实现. 解决方案 要合并它们,它们的Element需要具有相同的类型. 因此,一种选择是丢弃它们的类型信息并转换为 AnyObject.现在它 ..
发布时间:2021-07-14 19:19:53 移动开发

带有 React 的高阶 FRP - 为什么没有发生?

Redux 是一种一阶 FRP,就像以前的 Elm 一样. 然而,似乎更高阶的 FRP 并没有真正与 react 一起使用.> 为什么一阶 FRP 对 React 有用而高阶没用? 也许 React 不需要高阶主义?那么作为回报,可以保留时间旅行调试器吗? 换句话说: React 是一个接受状态并返回视图的函数. FRP 是一种声明和执行状态机的方法. 这些是 ..
发布时间:2021-07-03 20:51:55 其他开发

RxJs:如何在我们订阅之前获取发出的值?

对于 RxJs,一旦我们开始订阅一个 observable,我们就会在它们发出后开始获取值,但是如何在订阅之前获取 observable 发出的所有值? 解决方案 一个 observable 只是一个从现在到时间结束返回 0 个或多个值的函数.与任何其他函数一样,它在被调用(订阅)之前不执行任何操作. 话虽如此,您可以通过调用将 observable 转换为 hot observab ..
发布时间:2021-07-03 19:43:57 前端开发

Scala React 的简单示例

基于论文 使用 Scala.React 弃用观察者模式 我试图从论文中建立一个简单的例子,但是它在线程“main"java.lang.AssertionError 中抛出了一个异常Exception: assertion failed: This method must be run on its domain scala.react.NilDebug@1502c065 一个相关的问题是运行 ..
发布时间:2021-07-03 19:42:53 其他开发

FRP 中的行为和事件有什么区别?

我目前正在阅读 WebSharper 的文档.在关于FRP的部分中,它指出: 函数响应式编程 (FRP) 通常为事件流提供事件类型,为时变值提供行为类型,以及对这些值有用的组合器. ... 但是,目前我们决定避免实施 FRP.相反,我们专注于功能的一个子集,定义与行为类似的随时间变化的视图值,但不支持实时采样.事件流留给用户使用回调或第三方库来处理.这是对 FRP 的极大简化,并 ..

在一个简单的RxJS示例中,如何在不使用主题或命令式操纵的情况下管理状态?

我已经在RxJS上进行了两个星期的实验,尽管我原则上喜欢RxJS,但是我似乎无法找到并实现用于管理状态的正确模式.所有文章和问题似乎都同意: 应尽可能避免使用 Subject ,而只是通过转换来推动状态; .getValue()应该完全不推荐使用;和 除了DOM操作外,也许应该避免 .do 吗? 所有此类建议的问题在于,除了“您将学习Rx方式并停止使用Subject"之外,没有文献似 ..
发布时间:2021-05-19 19:53:36 前端开发