跳到主要内容
10.1145/1411204.1411207acm会议文章/章节视图摘要出版物页面国际货币基金组织会议记录会议集合
邀请谈话

多态性和页表:从函数程序员的角度进行系统编程

出版:2008年9月20日出版历史

摘要

函数语言具有轻量级语法、表达型系统和深层语义基础等功能,现在正被用于开发越来越广泛的复杂现实应用程序。然而,在系统软件领域,性能和与硬件低级方面的交互是主要关注点,许多从业者仍然回避高级语言的优势,因为传统命令式语言(如C。具有讽刺意味的是,操作系统内核、设备驱动程序和VMM等关键应用程序是最不可能从现代语言设计的抽象和安全保障中获益的应用程序之一,在这些应用程序中,单个错误可能会损害整个系统的可靠性或安全性。

在过去几年里,我们的团队一直在研究使用Haskell开发可以在裸机上引导和运行的现实操作系统的潜力。House系统主要由Thomas Hallgren和Andrew Tolmach开发,它证明了用函数语言构建系统软件确实是可能的。但是House仍然依赖于一层运行时支持原语(一些使用不安全的Haskell原语编写,另一些使用C编写)来提供从垃圾收集到控制硬件内存管理单元使用的页表结构的服务。我们希望在不影响类型或内存安全的情况下,用函数语言编写的代码尽可能多地替换这一层。

我们与House的合作经验使我们相信,需要一种新的功能语言来更直接地反映系统领域的需求。然而,有趣的是,我们得出的结论是,这并不需要基本的新语言设计。在这次受邀的演讲中,我将对我们项目的当前状态进行更新,并描述我们如何利用Haskell类型系统中熟悉的组件——包括多态性、种类、限定类型和改进——来获取效果使用、数据表示和终止的更精确细节。我还将讨论编写和编译以函数风格编写的性能敏感代码的挑战。用C代替汇编语言来构建系统软件曾经被认为是激进的做法。函数式语言有可能有一天会像今天的C语言一样在这个应用程序领域变得司空见惯吗?

跳过补充材料部分

补充材料

1411207.mp4英里

英里4

325.5 MB

索引术语

  1. 多态性和页表:从函数程序员的角度进行系统编程

      建议

      评论

      登录选项

      检查您是否可以通过登录凭据或您的机构访问本文。

      登录

      完全访问权限

      • 发布于

        封面图片ACM会议
        ICFP’08:第13届ACM SIGPLAN功能编程国际会议记录
        2008年9月
        422页
        国际标准图书编号:9781595939197
        内政部:10.1145/1411204
        • 封面图片ACM SIGPLAN注意事项
          ACM SIGPLAN通知 第43卷第9期
          2008年ICFP
          2008年9月
          399页
          国际标准编号:0362-1340
          EISSN公司:1558-1160
          内政部:10.1145/1411203
          期刊目录

        版权所有©2008 ACM

        如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护]

        出版商

        计算机协会

        美国纽约州纽约市

        出版历史

        • 出版:2008年9月20日

        权限

        请求有关此文章的权限。

        请求权限

        检查更新

        限定符

        • 邀请谈话

        验收费率

        总体验收率333属于1,064提交文件,31%

        即将召开的会议

        24年ICFP
        ACM SIGPLAN功能编程国际会议
        2024年9月9日至13日
        米兰,意大利
      • 文章度量标准

        • 下载次数(过去12个月)1
        • 下载次数(最近6周)1

        其他指标

      PDF格式

      以PDF文件查看或下载。

      PDF格式

      电子阅读器

      使用eReader联机查看。

      电子阅读器