问题标签 [type-providers]

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 回答
1289 浏览

f# - F# 类型提供程序和数据处理

在上一个问题(使用静态类型语言处理异构数据)中,我询问了 F# 如何处理数据分析中的标准任务,例如操作无类型的 CSV 文件。动态语言擅长基本任务,例如

在 F# 中,最优雅的方法似乎是问号 (?) 运算符。不幸的是,在这个过程中,我们失去了静态类型,仍然需要在这里和那里进行类型注释。

F# 最令人兴奋的未来功能之一是类型提供程序。在类型安全损失最小的情况下,CSV 类型提供程序可以通过动态检查文件来提供类型。

但数据分析通常不止于此。我们经常通过一系列操作转换数据并创建新的数据集。我的问题是,如果我们主要操作数据,类型提供程序可以提供帮助吗?例如:

这可行,但会污染全局命名空间。考虑添加列而不是创建新变量通常更自然。有什么办法吗?

当目标是创建新的衍生或清理数据集时,类型提供程序是否提供了使用 (?) 运算符的逃避?

也许是这样的:

其他想法?

0 投票
3 回答
8755 浏览

f# - F# 类型提供程序,它们是如何工作的

观看 Don Symes 的 pdc 视频http://player.microsoftpdc.com/Session/04092962-4ed1-42c6-be07-203d42115274后,我不太了解类型提供程序

我是否理解正确。您可以为 Twitter、Excel 获取现成的类型提供程序......

如果我有一个自定义 Xml 结构,我是否需要为此实现自己的类型提供程序,这与创建自己的自定义映射器有何不同?

0 投票
2 回答
906 浏览

orm - F# 类型提供程序会为实现对象关系映射提供良好的基础吗?

从到目前为止我所阅读的有关类型提供程序的信息来看,我想知道它们是否可以用于为 F# 实现一个不错的 ORM。

我想数据库行可以由具有正确类型属性的对象表示,允许对列值进行类型安全的读写访问,并且类型提供程序实现在编译时会自动检查当前的数据库模式。

这是一个现实而有用的场景吗?

0 投票
4 回答
480 浏览

database - 从语言实现的角度来看,实现 F# 3.0 中的类型提供程序需要什么?

F# 3.0 添加了类型提供程序,这使得基本上不需要手动编写或生成数据库(或其他数据提供程序)和语言/类型系统之间的映射,因为语言可以直接使用类型提供程序从数据库本身查询结构信息。

从语言实现的角度来看,将这样的特性添加到语言中需要什么?

它是否需要一个完全可插拔的系统?或者它更像是一些集成到编译器中的隐藏代码生成器?

为 F# 实现新的类型提供程序需要什么?

0 投票
1 回答
853 浏览

database - 是否有计划像在 F# 中那样支持 Scala 的 SIQ (ScalaIntegratedQuery) 的“类型提供程序”?

SIQ 的当前状态Christopher Vogt 在ScalaDays 2011上介绍。它展示了查询的工作方式和外观,但据我所知,没有关于如何表示这些类型的概念,例如是否仍然需要编写样板代码来向 Scala 解释数据库结构。

F# 3.0 添加了类型提供程序(Don Syme 的 PDC 演讲:视频;Tomas Petricek 的 GOTO Copenhagen 演讲:视频幻灯片博客文章),这使得基本上无需手动编写或生成数据库(或其他数据提供者)和语言/类型系统,因为语言可以直接使用类型提供程序从数据库本身查询结构信息。

ScalaIntegratedQuery 是否能够在不需要用户自己编写样板代码的情况下向 Scala 编译器提供数据库的类型/关系?

0 投票
2 回答
2184 浏览

f# - F# 类型提供程序 - “仅返回生成的类型”

尝试使用类型提供程序对类型级别的 peano 数字进行编码:

N类型只是一个虚拟对象,否则我无法让它通过类型提供程序。消费者代码:

我得到这个错误:

这表示该类型是正确构造的(Z S S S S S),但由于某种原因,编译器不会接受它作为“生成的类型”。

如果我删除该[<Generated>]属性,我会收到一些其他错误,告诉我添加它。

这是否意味着类型提供程序只能用于动态发出的类型(乍一看,这似乎是一个奇怪的要求)?

另外,如果我这样做:

我收到一条错误消息,说这WW'1是意料之中的,但S'1被退回了。为什么返回的类型(由类型提供者)必须与我在消费者中声明的类型名称匹配?

0 投票
0 回答
525 浏览

f# - 科学的 F# 3.0 类型提供程序

F# Type Providers 似乎是 F# 3.0 的主要功能。我的问题很简单,我应该用它做什么?我以科学为导向(工程)。到目前为止,我看到的唯一示例与 Web 相关 - 它是该功能的唯一真正用途吗?

编辑:

  1. 此处很好地介绍了类型提供程序以及何时使用它们以及何时不使用它们的信息。

  2. 关于如何实现 Vector 类型的一个非常好的示例在这里: http: //www.mindscapehq.com/blog/index.php/2011/09/19/f-type-providers-as-if-by-magic/

0 投票
3 回答
2318 浏览

f# - F# 类型提供程序和 REST api

Web 服务的默认即插即用 F# 类型提供程序是基于肥皂的 wsdl 有什么原因吗?是因为 REST 中没有正式的合同吗?这样每个 REST api 可能会有很大差异,因此难以提供一般的 REST 提供程序?

0 投票
1 回答
409 浏览

f# - Azure 和 F# 3.0 类型提供程序

F# 3.0 类型提供程序是否适用于 SQL Azure?我在尝试时遇到错误。想知道这是否有任何已知问题。

0 投票
1 回答
1621 浏览

entity-framework - 实体框架的类型提供程序

是否可以在 F# 3.0 中为 Entity Framework 创建一个类型提供程序,以便我可以像使用 SqlDataConnection(包含在 Microsoft.FSharp.Data.TypeProviders 中)一样获得整洁的 IntelliSense,但在引擎盖下使用 EF?