2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

Haskell 获得 iOS 支持,并做出多项语言和性能改进

  • 2014-05-15
  • 本文字数:932 字

    阅读完需:约 3 分钟

GHC 7.8.1最近已经发布,为Haskell 生态系统带来多项改善。Haskell 现在可以针对iOS 编译,并且增加了多项新特性,像闭合类型族、角色、重载列表、模式同义词等。

Haskell 可以通过 clang 编译成 iOS 可用的文件。这支持使用 XCode 5 的开发。由于在 Haskell 中缺少跨平台的 GUI 类库,所以现在你需要单独在 objective-C 中开发 GUI,然后从 GUI 代码中调用 Haskell 函数。尽管这项支持已经在大概七个月之前就宣布了,但这是第一个包含了这项支持的 GHC 主要版本。

但要注意的是,在 iOS 上 Template Haskell 暂时还不可用。

跨平台编译也在总体上得到了改善。例如,动态连接得到了更好的支持。GHCi 现在默认会使用系统动态连接器,以此取代内建的静态连接器。有了 GHC,你可以使用新的编译标识“–dynamic-too”,从而同时生成静态和动态的对象文件。(默认情况下 GHC 还是会使用静态连接)。

在这个版本中,还有一些特性:

  • 闭合类型族(Closed Type Families)——用于重载数据类型的类型族。闭合类型拥有在某处定义的所有等式,且不可扩展——这对于避免一些最初开发者不想得到的后果非常有用。
  • 角色——为了在使用 GeneralizedNewTypeDeriving 的时候消除类型不安全的定义
  • 重载列表(Overloaded Lists)——一种使用列表的语法糖,用于构建 Set、Map、IntMap、Vector、Text 以及 Array 等结构。
  • 模式同义词(Pattern Synonyms)
  • Typeable 现在是多类型的,这使得 Typeable1、Typeable1 等可以彼此独立。
  • 新的 I/O 管理器,会线性扩展到 32 个核上
  • 对 Template Haskell 的七项改善,像对角色的支持、注释语法、“有类型的 Template Haskell 表达式”等
  • 生成程序的并行模式
  • 针对类型本身的改善(性能提升)

在下一个版本(7.10)中可能会有突破性的改变, Applicative 会成为 Monad 的超类。为了让这种转换更容易,GHC 的当前版本会忽略以下警告:类型是 Monad 但不是 Applicative、是 MonadPlus 但不是 Alternative,以及当本地函数被声称是 join、<*>。

还有多项改变,你可以参考发布记录获得完整列表。

你还会注意到 Haskell 平台——它把 GHC 和工具绑定在一起,从而更好地与 Haskell 协作——还没有更新使用最新版本的 GHC。

查看英文原文: Haskell Gets iOS Support, Several language and Performance Improvements

2014-05-15 20:102648
用户头像

发布了 340 篇内容, 共 137.9 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

教育创新聚焦技术前沿-全国高校软件测试峰会开幕

测试人

人工智能 软件测试 自动化测试 测试开发 高校

阿里云参编业内首个代码大模型标准丨云原生 2024 年 1 月产品技术动态

阿里巴巴云原生

阿里云 云原生

了解海外云手机的多种功能

Ogcloud

云手机 海外云手机

萨尔瓦多「比特币总统」连任,Web3 的又一「胜地」?

TechubNews

【Netty技术专题】「原理分析系列」Netty强大特性之Native transports扩展开发实战

码界西柚

Java Netty nio epoll 2024年第三十五篇文章

听GPT 讲Rust Tokio源代码(6)

fliter

手把手教你通过bitget钱包交互solana空投项目Jupiter

加密眼界

深入理解 Java 循环结构:while、do while、for 和 for-each 循环

小万哥

Java 程序人生 编程语言 软件工程 后端开发

Gossip,流言蜚语传播协议

乐只

分布式 后端 分布式协议

解析Sermant热插拔能力:服务运行时动态挂载JavaAgent和插件

华为云开发者联盟

开发 华为云 javaagent 华为云开发者联盟 sermant

面向智算服务,构建可观测体系最佳实践

阿里巴巴云原生

阿里云 云原生 可观测

OpenMLDB 作为中国唯一的特征平台产品入选 2023 Gartner 研究报告

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

听GPT 讲Rust Tokio源代码(8)

fliter

手把手教你通过bitget钱包交互solana空投项目Jupiter

石头财经

手把手教你通过bitget钱包交互solana空投项目Jupiter

加密眼界

听GPT 讲Rust Tokio源代码(7)

fliter

京东零售技术小哥带你揭秘:亿级流量高并发春晚互动前端技术

京东零售技术

前端 春晚

热搜第一!登上人民日报、新华社,“鸿蒙”为何是游戏圈年度热词?

最新动态

华为视频AiMax影视品鉴会:独家揭秘《鲁豫有约一日行》的坚守与创新

最新动态

手把手教你通过bitget钱包交互solana空投项目Jupiter

BlockChain先知

海外云手机——平台引流的重要媒介

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机

听GPT 讲Rust Tokio源代码(4)

fliter

Haskell获得iOS支持,并做出多项语言和性能改进_语言 & 开发_Roopesh Shenoy_InfoQ精选文章