问题标签 [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 投票
2 回答
531 浏览

debugging - 我可以使用 FSI 来调试我的代码吗?

有没有办法用断点或类似的命令运行我的 .fs 文件,System.Diagnostics.Debugger.Launch()以便我可以FSI用来检查值、对它们应用函数、绘制它们等等?

我知道以前有人问过这个问题,但是我尝试了答案,但无法使它们起作用。清晰的说明或解释过程的文章链接不仅对我自己有很大帮助,而且我相信对所有初学者都有很大帮助。

0 投票
1 回答
680 浏览

dataframe - 如何在 FSI 中将 Deedle DataFrame 显示为漂亮的表格?

阅读我收集的文章Analyzing and Visualizing Data with F#https://www.oreilly.com/ideas/analyzing-and-visualizing-data-with-f-sharp/page/2/analyzing-data-using-f-and-deedle )(也许错误地)可以将Deedle DataFramein FSharp Interactive( FSI) 的内容显示为一张漂亮的表格。

让我这么想的文本片段如下:

这些行前面有一个漂亮的表格,显示DataFrame.

无需安装和打开FSLab,按照文章中的建议,当我可以创建一个DataFrameFSI然后输入它的名称和“;;” 我得到这样的东西:

所以我尝试安装FSLab,但它似乎与我之前安装的软件包版本不兼容。安装未通过,我收到以下消息:

我怀疑这个问题有一个简单的解决方案。

所以,

1)我真的可以得到一个很好的表格来显示Deedle DataFramein的内容FSI(就像一个表格一样,例如 in RStudiofor R)?

2)如果是,我应该怎么做才能在不向后移动我安装的软件包版本的情况下可视化这些表格?

0 投票
3 回答
1205 浏览

c# - C# 交互式位置

我每天都使用 F# Interactive,所以我喜欢从 cmd 启动它,而不仅仅是 Visual Studio 和 Visual Studio Code。为此,我有一个名为的环境FSHARPINSTALLDIR变量PATH指向C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\FSharp. 这使我可以简单地键入fsi以启动 F# 交互。

C# Interactive 安装在哪里,所以我可以做同样的事情?

0 投票
0 回答
86 浏览

wpf - 在 FSharp Interactive 中关闭 Wpf 应用程序

我目前正在尝试与 WPF 一起进行一些 F# 编程。我正在尝试尽可能多地使用 FSI,但是如果我想运行一些 WPF 窗口,我不知道如何使用它。

创建一个简单的窗口后

如果我关闭窗口(使用 x),下次我尝试(alt+Enter)时会收到一条错误消息,说我不能在同一个 AppDomain 中app.Run(myWindow) 运行多个。System.Windows.Application我应该以其他方式关闭窗口吗?我试图在关闭窗口后使用 app.Shutdown() 但它给出了一个错误,说 tat app 没有定义。

当窗口仍然打开时,FSI 没有响应。

第二个问题 - 有没有办法以某种方式对打开的窗口进行操作?我的意思是在运行时从 FSI 添加一些控件或修改现有控件?

可以从 FSI 运行以打开 WPF 窗口的 Sample.fsx 如下:

0 投票
1 回答
100 浏览

f# - 64 位 F#/FSI:超大单文件功能的限制

我有一些化学模型,它们基于一些系数的稀疏矩阵。因此,给定模型参数,我仅根据这些系数的非零元素生成 F# 代码。然后将生成的模型馈送到 ALGLIB ( http://www.alglib.net/ ) ODE 求解器。系数矩阵大约有 99.9% 到 99.99% 稀疏,这意味着只有 0.01% 到 0.1% 的系数不是精确的零。下面是一个非常简化的示例,展示了生成的 F# 模型文件的外观。它是update (x : array<double>) : array<double>使用 64 位 FSI 提供给 ALGLIB ODE 求解器的函数。

现在,ALGLIB ODE 求解器完全有能力为一个简单的输入函数处理至少 1M 个变量。我已经测试过了,它没有问题。对于一个典型的模型,我有不到 10K 的变量。

但是,当我增加模型大小时,我开始在运行时出现堆栈溢出异常:具有大约 100K LOC 的模型工作正常,但具有大约 150K LOC 的模型因堆栈溢出异常而失败。

我猜这与如何处理大型“硬编码”数组的初始化/处理有关,我想知道我应该如何调整生成的代码如何增加 FSI 和/或 F# 64 位程序的堆栈大小,假设为 1 GB。

我要强调的是,这不是一个典型的递归函数堆栈溢出问题,而只是导致问题的模型的整体大小。

如果你看一下update函数,你会看到它有一个生成的数组,其中的每个元素都是通过获取另一个数组并应用来生成的|> Array.sum。对于大型模型来说,这变得巨大,我猜这可能会导致堆栈溢出。

非常感谢!

PS 下面是一个非常简化的模型示例。它确实具有真实模型中出现的所有必要结构。

0 投票
1 回答
75 浏览

f# - fsi.commands 有参考吗?

我正在尝试让 VS Code 中的 F# Interactive 终端安静下来。在我的搜索中,我遇到了诸如 fsi.ShowDeclarationVariables <- false 之类的命令,但我还没有找到所有此类可用命令的文档。谁能指出我正确的方向?

谢谢。

0 投票
1 回答
388 浏览

exception - 为什么 F# failwith 返回的是泛型类型而不是异常类型

根据文档,failwith 函数返回一个Exception 但是函数签名是string -> 'a

为什么没有签名string -> Exception

0 投票
0 回答
71 浏览

.net-core - F# FSI 和 .Net 核心。找不到正确的 System.Runtime.dll

我正在尝试在 fsi 中启动一个 .net 核心应用程序,但我不断收到此错误。我试过#r "{the right System.Runtime}"了,但还是失败了。有任何想法吗?

0 投票
1 回答
143 浏览

f# - FSharpPlus:当我尝试组合两个变压器时 fsi 阻塞

当我尝试组合这两个转换器时 fsi 阻塞,没有任何警告或错误消息。

有什么问题以及如何使此代码工作?

0 投票
0 回答
69 浏览

f# - F# Interactive #I 通用 Nuget 目录

我有一个引用包的 F# 脚本

FSI 很满意

但不是

路径如何#I成为当前用户的 nuget 包目录?