在 F# 中通过声明性映射指定函数组合

2023-12-07

The Clojure Prismatic/Plumbing 库可以用来提供应用程序或模块函数图的声明性和显式定义。

简而言之,它提供了一种将每个函数指定为带有标签的节点的方法,该标签也是输出标签、带标签的输入和实现。为此,它使用在宏中定义的自定义关键字 (fkn)。

我们必须在 F# 中开发一个模块,它以分层方式执行相对复杂的计算,可以受益于 Prismmatic 功能,即:

  • 只需将输入作为依赖项,就可以从函数映射轻松构建图表。可以用很少的代码来分析、检查和可视化该图。还可以编写子图以提供进一步的灵活性(在我们的领域中很有价值)。
  • 可以监控函数的执行情况。不仅是性能,还有每个功能内外的价值。
  • 系统的测试和模拟非常简单。

有关这些功能和其他功能的更多信息在 github 上 and 信息q演示:

为了获得这些功能,在映射中对函数的声明性定义进行编程的最清晰的方法是什么?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 F# 中通过声明性映射指定函数组合 的相关文章

随机推荐

  • Matlab中两点之间的距离

    我有 2 个向量 一个的尺寸为 200 2 另一个的尺寸为 3 2 它们都是笛卡尔坐标系中的点 我想计算前 200 个点和其他 3 个点之间的距离并将它们存储在向量中 我正在使用这样的函数 for i 1 cur for j 1 200 L
  • 带有 SpriteKit 的 iOS 通用设备应用程序,如何缩放所有视图的节点?

    我想做一个景观 app to be 普遍的 以便精灵节点根据运行应用程序的任何视图大小按比例缩放 我想要一个完全程序化解决方案 因为我不喜欢IB 我的游戏非常简单 我不需要任何类型的滚动或缩放 因此整个游戏将始终存在并占据整个视图 我正在寻
  • java将数组刷新到jList中

    好的 我有一个 JList 内容是通过数组提供的 我知道如何向数组添加元素 但我想知道如何刷新 JList 或者甚至可能吗 我试过谷歌 import java applet Applet import java awt import jav
  • 如何满足迭代器特征界限才能在这里使用 Rayon?

    我正在尝试使用 Rayon 的并行化 Ramer Douglas Peucker 线简化算法par iter代替iter extern crate num traits use num traits Float ToPrimitive ex
  • 属性访问器[重复]

    这个问题在这里已经有答案了 之间有什么根本区别吗 public string Name get return name set name value and public string Name get set 您可以访问内部字段 在第二种
  • 使用循环创建菱形图案

    我正在尝试编写一个程序 该程序读取整数并使用星号显示给定边长的实心菱形 例如 如果边长是4 程序应该显示 这就是我正在尝试做的事情 它正在执行 但我似乎无法为程序提供正确的空间来正确显示菱形形状 userInput int input Pl
  • 如果 json 字段具有特殊字符(如点),则访问 json 字段值

    如果我有一个 json 文件 其中的字段具有特殊字符 在我的例子中是点 我如何访问空手道中的字段值 例如有一个名为 example json 的 json 文件 field1 field2 value2 field 3 value3 如果我
  • 根 ViewController 内的 UIViewController 不旋转

    我有一个 UIViewController 我想将其作为独立层添加到整个应用程序的顶部 所以我尝试在应用程序委托中使用 self window addSubview viewController view 将其添加到 UIWindow 中
  • 将 9 位值作为字节写入 C 中的文件

    我有一个整数值从 0 511 最多 9 位 的数组 我正在尝试将其写入文件fwrite 例如 对于数组 257 258 259 Which is 100000001 100000010 100000011 I am trying to wr
  • 设置配置文件的过期时间

    是否可以设置配置文件的到期日期 我正在公司内部进行试用 我想设定expiration审判结束的日期 而不是仅仅一年之后creation日期 是否有可能 或者总是需要一年的时间creation date 另外 如果无法设置expiration
  • 无法从 json 对象访问数据

    我已将 json 数据结构存储在具有单列的数据框中 名为json 数据在R中 所以我的 json 文本以这种格式存储 row 1 results formatted address Sahibzada Ajit Singh Nagar Pu
  • 使用 Dumper 不会触发故障

    当运行这样的代码时 use strict print Dumper something 编译和运行时没有打印任何内容 也没有发生错误 为什么会出现这种情况 为什么不strict阻止此代码运行 尽管 Dumper 未知 但为什么运行时没有错误
  • 在docker容器内运行maven集成测试

    在运行集成测试之前 我使用 dockerfile maven 插件将我的 jar 文件移动到 docker 容器内 但是 mvn verify 命令构建图像并运行集成测试 结果测试失败 有人可以帮我在运行集成测试之前运行 docker 镜像
  • Python 中的节拍器脚本中的计时问题(使用 Pygame)[重复]

    这个问题在这里已经有答案了 我正在尝试编写一个节拍器脚本 它可以为我提供音频反馈并将 MIDI 消息发送到合成器 我用Python 2 7 5 and Pygame 1 9 1 release在 Linux Mint 16 上 我对 MID
  • Pytest 日志记录忽略 pytest.ini 中的选项

    我正在运行一个测试 pytest capture no verbose rootdir testing testing tests docker test py from home user development 该测试检查某些容器是否正
  • 同步 WrapPanel 中的 WPF 控件宽度

    我有这个案例
  • 这个命名变量是如何工作的?

    我是Python的初学者 我发现了一种奇怪的变量命名方式 并且根本无法理解 有人能帮助我吗 x 1 n 1 1 3 for i in n y x x i 我想理解这一行y x x i这是什么意思 这称为元组拆包 右边只是一个元组 表达式中的
  • 多线程内的 OpenGL VBO

    我正在用 C OpenGL 开发一个程序 它可以绘制整个世界的地形 我有一个以图块形式存储的海拔高度数据库 每次启动程序时 都会加载一个图块 然后 当人移动时 应该加载另一个图块 这不会每帧都发生 可能每 5 分钟一次 我将初始图块加载到显
  • 检查循环(模 16)数是否大于另一个?

    我有两个以 16 为模的循环整数 因此它们的值介于 0 到 15 之间 我需要比较两个数字以确定是否n 1大于n 0 n 1 gt n 0 显然 这没有准确定义 所以我定义n 1大于n 0如果小于前面8个 数字 否则小于n 0 如果不相等
  • 在 F# 中通过声明性映射指定函数组合

    The Clojure Prismatic Plumbing 库可以用来提供应用程序或模块函数图的声明性和显式定义 简而言之 它提供了一种将每个函数指定为带有标签的节点的方法 该标签也是输出标签 带标签的输入和实现 为此 它使用在宏中定义的