首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >哪些语言习惯用法/范例/特性使得添加对“类型提供程序”的支持变得困难?

哪些语言习惯用法/范例/特性使得添加对“类型提供程序”的支持变得困难?
EN

Stack Overflow用户
提问于 2011-09-15 17:15:45
回答 3查看 490关注 0票数 6

F# 3.0增加了type providers

我想知道是否有可能将此语言功能添加到运行在CLR上的其他语言中,如C#,或者此功能是否只在功能更强大/面向对象更少的编程风格中才能很好地工作?

EN

Stack Overflow用户

发布于 2011-09-15 18:23:39

我没有看到任何技术原因,为什么不能将类型提供程序之类的东西添加到C#或类似的语言中。使添加类型提供程序变得困难的唯一语言系列(与F#中的方式类似)是动态类型语言。

F#类型提供程序依赖于这样一个事实,即提供程序生成的类型信息可以很好地在程序中传播,并且编辑器可以使用它们来显示有用的IntelliSense。在动态类型语言中,这将需要更复杂的集成开发环境支持(动态语言的“类型提供程序”仅限于集成开发环境或IntelliSense)。

为什么它们被直接实现为F#的一个特性?我认为元编程系统必须非常复杂(请注意,类型实际上并不是生成的)才能支持它。使用它可以完成的其他事情对F#语言的贡献不会太大(它们只会使它变得太复杂,这是一件坏事)。但是,如果您具有某种编译器可扩展性,您可能会得到类似的结果。

事实上,我认为这就是C#团队未来将如何添加类似类型提供程序的东西(他们已经讨论了一段时间的编译器可扩展性)。

票数 5
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7428531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档