【问题标题】:Converting OCaml to F#: Converting OCaml open_box and close_box to F#将 OCaml 转换为 F#:将 OCaml open_box 和 close_box 转换为 F#
【发布时间】:2012-05-01 12:38:53
【问题描述】:

我正在将几个基于 OCaml 的模块转换为 F#,并从 OCaml 格式模块运行到 OCaml 打印格式化函数open_box and close_box。在阅读了打印盒的概念后,它是有道理的,但似乎需要大量的幕后工作才能实现。

是否有功能等效的 F# 模块?

如果没有,无需转换部分 OCaml 格式模块,有哪些快速简单的替换功能?

编辑

Jack 有一个版本作为 OCaml 格式的一部分,位于 FSharpx.Compatibility.OCaml.Format.Format.fs 我没有测试过,但它是我目前找到的最完整的版本。

【问题讨论】:

  • 你试过在F#下编译吗?无需修改即可直接编译。
  • @OnorioCatenacci 格式模块需要其他模块和转换才能与 F# 一起使用。我花了大约 15 分钟的时间,但它正在变成一连串的错误,我不想追究,因为我不知道有多少存在。
  • @OnorioCatenacci 现在很少编译没有修改,Format 模块需要数百次更改。索引数组使用 OCaml 中的 xs.(i) 和 F# 中的 xs.[i] 并带有类型注释。原始代码使用 OCaml 的流,在 F# 中没有等效的流。频道相当于文本阅读器和作者,但需要一些调整。甚至 printf 的工作方式也不同!
  • @JonHarrop 我认为它总是值得快速尝试——不会伤害任何东西,并且会让人们大致了解将涉及多少工作。
  • @GuyCoder 我将其转换为 F# Seq。不过,我实际上可能正在考虑错误的代码库。我最近为一个客户翻译了一些其他的 OCaml 代码到 F#...

标签: f# ocaml


【解决方案1】:

是否有功能等效的 F# 模块?

没有。

如果没有,无需转换部分 OCaml 格式模块,有哪些快速简单的替换功能?

除了printf 之外没有其他任何东西。但是,我最近不得不将 Format 模块从 OCaml 转换为 F#,只花了几个小时。

【讨论】:

    猜你喜欢
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 2012-09-08
    • 2012-09-03
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    • 2015-12-01
    相关资源
    最近更新 更多