问题标签 [fsi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1342 浏览

.net - fsi.exe 是解释器吗?

我读过 fsi.exe(F# Interactive)在严格意义上并不是真正的“解释器”,因为它动态编译F# 代码并显示其输出。

我的印象是“解释器”这个词适用于“动态”语言(即 JavaScript),因此不适用于 F#,因为它是一种编译语言。

这是一个公平的评价吗?还是可以“解释”编译语言?或者这只是一个语义问题?

感谢任何帮助。

0 投票
1 回答
549 浏览

f# - CentOS 6.2 与 Mono 2.10.2 上的 FSharp 交互不会以非 root 用户身份运行

希望这之前没有被问过/回答,但我还没有找到任何适合我的问题的东西。

我按照此处所述使用 rpm 在 CentOS 6.2 上安装了单声道,然后下载了 FSharp-2.0.0.0。我已经完成了所有设置,并且 fsi 以 root 身份运行良好(只要我将选项 --gui- 传递给它)。但是,当我尝试以普通用户身份执行此操作时,我收到一条错误消息,告诉我无法访问注册表。

这是一个屏幕截图: 在此处输入图像描述

我不确定问题出在哪里(我以前从未使用过 CentOS,但我工作的一个实验室确实如此,我想将 FSharp 放在它上面进行数据处理——因此我必须使用我读过的 CentOS单声道可能很麻烦)。谢谢你的帮助!

0 投票
2 回答
2102 浏览

emacs - 在 emacs 中使用 F# Interactive?

好的,所以我刚刚获得了适用于 emacs 的 F# 扩展。我现在需要弄清楚如何让我编写的脚本真正执行。在 Visual Studio 中,要运行它们,只需突出显示、右键单击并选择“Send to Interactive”。我不希望 emacs 有这个或类似的东西,但我不知道如何使 f# 脚本与 fsi 交互。那么,本质上,你如何在编写脚本后使用 emacs 或终端运行它?

编辑:为澄清起见,我在 mac 上运行 emacs。

EDIT2:因为我在mac上运行,emacs无法执行脚本,因为fsi不存在作为mac可用的东西。显然。多么悲伤。我只会选择投票最多的答案作为正确答案。

0 投票
1 回答
259 浏览

.net - fsi.exe 中的代理(fsharp 交互式)

我正在尝试使用构建演示。添加到 devenv.exe 和 fsi.exe 的配置文件后,我没有 pb 加载 dll 了。

虽然我可以修改 twitter 示例以使用我公司的代理,但 freebase 类型提供程序似乎不允许这样的覆盖。

虽然我的 VS 环境在没有 pb 的情况下访问网络,但 FSI.exe 似乎无法通过我指定的代理。我如何强制它默认使用我指定的代理?devenv.exe 怎么不需要任何特定设置?

PS:以下配置,在 fsi.exe 的同一目录中,不起作用:

0 投票
2 回答
1120 浏览

f# - F# 交互式无法加载“错误 FS0078:无法在任何...中找到文件‘系统’”

我正在运行 Fedora 16,它给了我单声道 2.10.5,但没有 F#。我以前使用过本地编译的单声道版本,但现在使用的是打包版本。我正在使用来自 github 存储库的最新版本的 F#,安装到本地目录(我在这台机器上没有 root)。

当我运行 fsharpi(或 mono path/to/file/fsi.exe)时,我收到以下错误:

谷歌搜索会产生一些类似的结果,但丢失的文件始终是.dll. System.dll 肯定在 /usr/lib64/mono/4.0 中。

0 投票
1 回答
2290 浏览

f# - fsx 脚本引用一个引用许多 dll 的 dll

对于以下问题,我有什么样的策略。我想在 dll 中使用一个简单的类,它链接到各种 dll、各种版本等。

作为 fsx 文件,我的脚本没有显示错误。但是在 fsharp 交互式运行它时,它告诉我

当然引用了程序集,所以我想我需要添加对它引用自身的 dll 的引用。

有什么方法可以指向编译项目的 dll 环境,它会递归地引用脚本中的关联 dll 吗?

除了手动执行此操作外,我还有其他策略吗?

最终解决方案

刘涛写了一个插件,如果可以用的话,可以同步。它可以在这里

这里还存在一个更新的脚本 如果您愿意,加载仍然需要拓扑加载。

0 投票
1 回答
144 浏览

winforms - 使用反射确定对象是否需要在 GUI 线程上调用其成员

参考这个FsEye 问题,我如何使用反射来确定对象是否需要在 GUI 线程上调用其成员(或者实际上是特定成员,如果可能)?

场景是这样的:用户在 FSI 中创建一个WebBrowser对象的实例(它运行自己的 WinForms 事件循环),然后他们尝试在 FsEye 中展开节点。但这会导致未处理的异常对话框警告

System.Threading.ThreadStateException:当前线程必须设置为单线程单元 (STA) 模式,然后才能进行 OLE 调用。确保您的 Main 函数上标记了 STAThreadAttribute。

(具体而言,这似乎仅在加载 AccessibilityObject 属性时发生)。

我知道这是因为 FsEye使用 F# 异步计算表达式延迟、异步和并行Async.Parallel加载子节点,因此从非原始、非 STA(即不是原始 FSI GUI 线程)线程池调用此 OLE 对象的成员线程。我也知道如何通过在我的异步表达式中切换到 GUI 线程上下文来解决这个问题,但我只想在绝对必要时这样做。

0 投票
8 回答
15652 浏览

c# - Visual Studio 之外的 C# REPL

F# 有一个 REPL(读取-评估-打印循环)F# Interactive C:\Program Files (x86)\Microsoft F#\v4.0\Fsi.exe,.

我知道 C# 现在有自己的交互式 REPL,与Roslyn一起发布。如何在 Visual Studio 外部打开?在哪里csi.exe

0 投票
1 回答
2095 浏览

f# - 如何从 fsx 脚本文件中使用 FSharpChart

我想在我的项目中使用 FSharpChart 和 fsx 脚本文件。我使用 Nuget 下载并引用了 MSDN.FSharpChart.dll,我的代码如下所示

路径是正确的,因为 VS 2012 为我提供了智能感知并且知道 MSDN.FSharp 命名空间。问题是当我在 FSI 中运行这个脚本时,什么都没有显示。

怎么了?

0 投票
1 回答
588 浏览

f# - MonoDevelop 重置 F# 交互板

简单的问题:有没有办法在 MonoDevelop 中重置 F# 交互板(不清除它),以便它重新开始一个新的会话?如果是这样,怎么办?