gpt4 book ai didi

f# - 如何实现 F# Read Eval Print Loop (REPL)?

转载 作者:行者123 更新时间:2023-12-04 12:13:49 28 4
gpt4 key购买 nike

我想在我的应用程序中添加一个 F# REPL 以进行实时调试。我正在查看 fsi.exe 的源代码(F# Interactive),并且有很多东西看起来像是在用 F# 编译器内部结构来探索。因此,我无法在我们的应用程序上下文中编译相同的代码。

是否有一个很好的简单示例在某处实现 F# REPL?我希望这相当容易。

最佳答案

简短的回答是 F#(不幸的是)目前不提供任何 API 来在您的应用程序中托管 F# Interactive。有很多人要求这个 - 例如看这个 SO question .

基本上你可以做两件事:

  • 您可以修改open-source release并编译fsi.exe作为一些将提供您需要的 API 的 DLL 库。这不是一个简单的任务 - F# Interactive 与编译器紧密绑定(bind)(它编译您即时输入的代码),但是将实现 REPL 的类型封装成您可以调用的某种类型应该是可行的(但您不能只取一些从中提取文件 - 您需要编译整个 F# 才能使其正常工作)。
  • 您可以运行 fsi.exe像 Visual Studio 那样作为一个单独的进程,并使用标准输入/输出向它发送命令。您可以通过在 fsi.exe 时加载库来获得更大的灵 active 。开始。该库可以使用 .NET Remoting 连接回您的应用程序并公开一些数据。

  • 不幸的是,这两个选项可能是您目前唯一可以做的事情。

    编辑 我在想我已经在某个地方(可能在电子邮件中)回答了这个问题,但不能
    找到它!感谢 Mauricio,他找到了 exact duplicate (即使我有重复的答案……Doh!)

    关于f# - 如何实现 F# Read Eval Print Loop (REPL)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5006792/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com