f#-3.0相关内容

从 F# 类型提供程序提供可区分联合

我已经掌握了类型提供程序的基础知识,例如创建类型 let thisAssembly = Assembly.GetExecutingAssembly()让 t = 提供的类型定义(这个程序集,命名空间名称,xType.Attribute(xname "name").Value,baseType = Some typeof) 但是我需要能够定义记录类型和 DU 类型,有没有办法通过类型提供程序来做 ..
发布时间:2022-01-05 10:05:38 其他开发

有没有办法在没有 Visual Studio 的情况下安装 F# 3.0?

我希望升级到 F# 3.0,但我在 Microsoft 站点上找不到打包的 F# 3.0 编译器,也找不到可以使用的快速版本.是否可以从命令行或简单的 IDE 安装 F# 3.0 以供使用,如果可以,如何安装? 解决方案 F# 的独立版本尚不可用,但用于 Visual Studio Express 的 F# 工具仅在 2 天前发布,因此您可以免费获得 F# 3.0. 宣布适用于 Vi ..
发布时间:2022-01-05 09:44:00 其他开发

F# 3.0 查询中的多列分组

只是尝试了 F# 3.0,在按多列分组时遇到了一些障碍.显而易见的尝试是 查询{for d in context.table 做groupBy (d.col1,d.col2) 转换为 g选择 (g.Key)} 但是我得到了“LINQ to Entities 中仅支持无参数构造函数和初始值设定项".例外. 我似乎在 msdn 上找不到示例 http://msdn.microsoft. ..
发布时间:2022-01-05 09:42:34 其他开发

从字符串创建可区分的联合案例

我正在尝试从字符串创建 DU 案例.我可以看到这样做的唯一方法是通过 Microsoft.FSharp.Reflection.FSharpType.GetUnionCases 枚举 DU 案例,然后选择与字符串匹配的 UnionCase(通过使用 .Name),然后使用 FSharpValue.MakeUnion 制作实际的 DU 案例. 难道没有更简单/更优雅的方法来做到这一点吗?在我的场 ..
发布时间:2022-01-05 09:40:00 其他开发

模式结合类型测试和文字

此问题中的活动模式在升级到VS 2012 RTM后无法编译.它提供了一种进行类型测试并在单个模式内匹配文字的方法.例如: let (|Value|_|) value = match box value with | :? 'T as x -> Some x | _ -> None let getValue (name: string) (r: IDataReader) = ..
发布时间:2020-06-14 18:58:12 其他开发

通过函数调用进行模式匹配

F#通过模式匹配分配函数参数.这就是为什么 // ok: pattern matching of tuples upon function call let g (a,b) = a + b g (7,4) 有效:元组与(a,b)匹配,并且a和b直接在f内部可用. 对有歧视的工会做同样的事情同样会有所裨益,但我无法做到这一点: // error: same with discr ..
发布时间:2020-06-14 18:58:08 其他开发

FSharp.Data的CSV typeprovider的性能问题

我正试图通过使用它读取CSV文件来了解有关FSharp.Data项目的更多信息. CSV文件是来自Kaggle上的数字识别器竞赛的数据的简化版本. 当我读取包含785列和113行(包括标题行)的CSV文件时,以下两行代码的执行速度非常慢: type trainingSet = CsvProvider ..
发布时间:2020-06-14 18:58:06 其他开发

在F#类型提供程序中发出生成的类型

我创建了一个简单的生成类型提供程序,该程序在重新组合类型时采用程序集的路径,以将它们置于类型提供程序命名空间下(如果需要,可以进行内部化处理). 有关代码的链接在这里 https://github.com/colinbull/Playground 现在似乎可以正确提供类型了, let[]assemblyPath = @"D:\Appdev\Playground\Si ..
发布时间:2020-06-14 18:58:01 其他开发

F#数据:JSON解析器.使用JsonExtensions

这是我关于SO的第一个问题...所以不要严格判断=) 通常我在聊天室中的所有技术问题(相信我,很多=))./p> 最近,我们正在谈论 RosettaCode .我想补充一些任务代码到F# 其中之一是 JSON . 可能的解决方案之一是使用"F#数据:JSON解析器".所以我的问题与此相关. 此代码运行良好: open FSharp.Data open FSharp. ..
发布时间:2020-06-14 18:57:57 其他开发

哪个违反"Seq"?与"seq"一起?

我担心何时不知道何时可以使用"Seq","seq".你能告诉我哪些违规吗? 这是我的代码.为什么不使用"seq"? let s = ResizeArray() s.Add(1.1) s.Add(2.2) s.Add(3.3) s.Add(4.4) s |> Seq.iter (fun x -> printfn("%f") x ) 解决方案 Seq是一个包 ..
发布时间:2020-06-14 18:57:56 其他开发

如何并行运行代码?

我如何并行地同时运行这两个独立的循环. let a1=Seq.map2 (fun a b->(1.0-a)/(a-b)) a2 a3 let b1=Seq.map2 (fun a b->a*b) b2 b3 解决方案 您可以为此使用标准.NET任务-没有特殊的F#函数或特殊的语法可在后台生成计算: let a1Work = Task.Factory.StartNew(fun ..
发布时间:2020-06-14 18:57:53 其他开发

在提供的类型上获取编译错误

我正在使用TypeProvider来读取XSD文件,并为XSD中定义的每种类型提供一种类型.但是我在下面的代码中有问题 type schema = XmlProviders.Schema type Bazzer = { Sum : XmlProviders.bar } 在最后一行,我得到一个编译错误,指出XmlProviders.bar不存在. 我如何定义 ..
发布时间:2020-06-14 18:57:51 其他开发

是否可以重新分发F#3.0运行时?

重新分发F#3.0运行时(FSharp.Core.dll版本2.3.0.0、4.3.0.0)在法律上是可以的,在哪里可以找到证明?我与那些人一起准备了一个NuGet软件包,但是在发布该软件包之前对许可进行了深思.微软以重做软件包的形式发布了F#2.0运行时-毫无疑问,但是我的印象是,获得F#3.0运行时的唯一方法是通过安装VS 2011或类似工具.我不确定在哪里可以检查是否可以重新分发F#运行时. ..
发布时间:2020-06-14 18:57:47 其他开发

MySql的类型提供程序

我一直在寻找有关如何连接到MySql数据库并使用F#类型提供程序的示例,但是我找不到在线任何内容. 有人可以给我一个线索吗?我需要什么(如果有的话)额外的包裹?我是否使用SqlDataConnection或SqlEntityConnection. 对不起,但是我完全迷失了.任何和所有帮助,不胜感激.我喜欢类型提供程序的想法,并且在函数式编程方面有丰富的经验,但正是围绕它的设置才使我受益 ..
发布时间:2020-06-14 18:57:44 数据库