代码之家  ›  专栏  ›  技术社区  ›  TomHastjarjanto

使用函数编程语言处理具有内部状态的外部库最优雅的方法是什么?

  •  11
  • TomHastjarjanto  · 技术社区  · 15 年前

    • Box2d管理世界中的状态,并在每个勾选/步骤后修改它们
    • 你创建(使用FP)被传递到这个世界的物体
    • 要跟踪对象,请在其周围保留引用
    • 您很可能希望使用主体中的信息来呈现代码,因此我假设跟踪该信息的唯一方法是跟踪可变集合中的所有引用。它需要经受住所有的帧。

    所以我的问题是:

    如何以优雅的方式跟踪这些引用(对于函数式编程)以及如何将其对代码其余部分的纯度的影响降至最低?

    像州单子之类的东西在这里帮不了我,我想

    2 回复  |  直到 14 年前
        1
  •  5
  •   Don Stewart    15 年前

    另一种方法是公开存在内部状态的事实,例如,通过一个显式的“i have been initialized”令牌,该令牌是不可伪造的和不可篡改的,以保证对底层资源的线性访问。

        2
  •  3
  •   Community Mohan Dere    8 年前

    Functional Reactive Programming 是一个活跃的研究领域,尽管你可以使用 Reader Monad

    推荐文章