跳到主要内容
10.1145/2784731.2784738acm会议文章/章节视图摘要出版物页面国际货币基金组织会议记录会议集合
研究论文
开放式访问

1ML–核心和模块统一(F-ing一流模块)

出版:2015年8月29日 出版历史
  • 获取引文提醒
  • 摘要

    ML是两种语言合二为一:有核心,有类型和表达式,有模块,有签名、结构和函子。模块在核心之上形成一种独立的高阶函数语言。这种分层既有实际原因,也有技术原因;然而,它在语法和语义上造成了大量重复,并降低了表达能力。例如,选择模块不能进行动态决策。允许模块打包为一级值的语言扩展已经被提出并以不同的变体实现。然而,它们只是在一定程度上弥补了表达能力,语法上很麻烦,并且不能减少冗余。我们建议重新设计ML,其中模块是真正的一流价值观,核心层和模块层统一为一种语言。在这个“1ML”中,函数、函子甚至类型构造函数都是同一个构造;同样,结构、记录或元组之间也没有区别。或者反过来看,一切都只是(“使用模式”)模块。然而,1ML不需要依赖类型,它的类型结构可以用普通系统Fω来表示,这是我们的F-ing模块方法的一个微小变化。我们引入了1ML的显式类型版本和带有Damas/Miller类型隐式量化的扩展。这种语言的类型推断并不完整,但我们认为,它并不比标准ML差多少。另一种观点是,1ML是系统Fω的一种用户友好的表面语法,它允许以比裸演算更具组合性的方式组合术语和类型抽象。

    工具书类

    [1]
    H.巴伦德雷格特。带有类型的Lambda计算。编辑S.Abramsky、D.Gabbay和T.Maibaum,《计算机科学逻辑手册》,第2卷,第2章,第117-309页。牛津大学出版社,1992年。
    [2]
    S.K.比斯瓦斯。具有透明签名的高阶函子。1995年,POPL。
    [3]
    L.Damas和R.Milner。功能程序的主要类型模式。在POPL,1982年。
    [4]
    D.Dreyer。理解和发展ML模块系统。博士论文,CMU,2005年。
    [5]
    D.Dreyer和M.Blume。模块化程序的主要类型方案。在员工持股计划中,2007年。
    [6]
    D.Dreyer、K.Crary和R.Harper。高阶模的一种类型系统。在POPL,2003年。
    [7]
    J.Garrigue和A.Frisch。Objective Caml 3.12中的第一类模块和可组合签名。2010年,马里兰州。
    [8]
    J.Garrigue和D.Rémy。ML信息与计算的半显性一级多态性,155(1-2),1999。
    [9]
    R.Harper和M.Lillibridge。具有共享的高阶模块的类型理论方法。在POPL,1994年。
    [10]
    R.Harper和J.C.Mitchell。关于标准ML的类型结构。ACM TOPLAS,第15(2)卷,1993年。
    [11]
    R.Harper、J.C.Mitchell和E.Moggi。高阶模和相位差。1990年,POPL。
    [12]
    R.Harper和B.Pierce。ML型模块系统的设计考虑。编者B.C.Pierce,《类型和编程语言高级主题》,第8章,293–346页。麻省理工学院出版社,2005年。
    [13]
    R.Harper和C.Stone。《证明、语言和互动:纪念罗宾·米尔纳的论文》标准ML的类型理论解读。麻省理工学院出版社,2000年。
    [14]
    D.Le Botlan和D.Rémy。MLF:将ML提升至系统F的功率。在ICFP,2003年。
    [15]
    X.勒罗伊。适用函子和完全透明的高阶模。1995年,POPL。
    [16]
    Lillibridge先生。半透明和:高阶模块系统的基础。博士论文,CMU,1997年。
    [17]
    D.麦昆。使用依赖类型表示模块结构。1986年,POPL。
    [18]
    R.Milner。编程语言中的类型多态理论。JCSS,17:348–3751978年。
    [19]
    R.Milner、M.Tofte、R.Harper和D.MacQueen。标准ML的定义(修订版)。麻省理工学院出版社,1997年。
    [20]
    J.C.Mitchell和G.D.Plotkin。抽象类型具有存在类型。ACM TOPLAS,10(3):470–5021988年7月。
    [21]
    D.雷米。记录和变体作为ML的自然延伸。1989年,POPL。
    [22]
    A.Rossberg,《缺失的链接——ML的动态组件》,《ICFP》,2006年。
    [23]
    A.Rossberg。1ML——核心和模块联合(技术附录),2015年。mpi-sws.org/árossberg/1ml/。
    [24]
    A.Rossberg和D.Dreyer。混合ML模块系统。ACM TOPLAS,35(1),2013年。
    [25]
    A.Rossberg、C.Russo和D.Dreyer。F-ing模块。JFP,24(5):529–6072014年。
    [26]
    C.俄罗斯。标准ML模块的非依赖类型。PPDP,1999年。
    [27]
    C.俄罗斯。标准ML的一级结构。《北欧计算杂志》,7(4):348–3742000。
    [28]
    C.俄罗斯。模块的类型。ENTCS,2003年60月。
    [29]
    C.Russo和D.Vytiniotis。QML:ML的显式一级多态性。ML,2009年。
    [30]
    Z.邵。具有完全语法签名的透明模块。在ICFP中,1999年。
    [31]
    C.A.Stone和R.Harper。扩展等价和单例类型。ACM TOCL,7(4):676–7222006年。
    [32]
    J.-P.Talpin和P.Jouvelot。多态类型、区域和效果推断。JFP,2(3):245271992年。
    [33]
    D.Vytiniotis、S.Weirich和S.Peyton Jones。FPH:Haskell的第一类多态性。在ICFP,2008年。
    [34]
    P.Wadler和S.Blott。如何减少自组织多态性。POPL,1989年。
    [35]
    A.赖特。简单命令多态性。LASC,8:343–3561995年。

    引用人

    查看全部
    • (2021)解决了存在危机:一级存在类型的类型推理美国计算机学会程序设计语言会议录10.1145/34735695:ICFP(1-29)在线发布日期:2021年8月19日
    • (2020)代数子类型的简单本质:具有子类型的主类型推理变得容易(函数珍珠)美国计算机学会程序设计语言会议录10.1145/34090064:ICFP(1-28)在线发布日期:2020年8月3日
    • (2019)行动中的法典编程语言和系统10.1007/978-3-030-17184-1_5(119-146)在线发布日期:2019年4月6日
    • 显示更多引用者

    建议

    评论

    信息和贡献者

    问询处

    发布于

    封面图片ACM会议
    ICFP 2015:第20届ACM SIGPLAN函数编程国际会议记录
    2015年8月
    436页
    国际标准图书编号:9781450336697
    DOI(操作界面):10.1145/2784731
    • 封面图片ACM SIGPLAN注意事项
      ACM SIGPLAN通知 第50卷第9期
      2015年ICFP
      2015年9月
      436页
      国际标准编号:0362-1340
      EISSN公司:1558-1160
      DOI(操作界面):10.1145/2858949
      期刊目录
    如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重作者以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护].

    赞助商

    出版商

    计算机协会

    美国纽约州纽约市

    出版历史

    出版:2015年8月29日

    权限

    请求对此文章的权限。

    检查更新

    作者标记

    1. ML模块
    2. 系统F
    3. 抽象数据类型
    4. 详细说明
    5. 存在类型
    6. 一级模块
    7. 类型系统

    限定符

    • 研究文章

    会议

    ICFP’15
    ICFP'15:第20届ACM SIGPLAN功能编程国际会议
    2015年8月31日至9月2日
    不列颠哥伦比亚省,加拿大温哥华

    接受率

    1064份提交文件中的总接受率333份,31%

    即将召开的会议

    24年ICFP
    ACM SIGPLAN函数编程国际会议
    2024年9月9日至13日
    米兰,意大利

    贡献者

    其他指标

    文献计量学和引文

    文献计量学

    文章指标

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

    其他指标

    引文

    引用人

    查看全部
    • (2021)解决了存在危机:一级存在类型的类型推理美国计算机学会程序设计语言会议录10.1145/34735695:ICFP(1-29)在线发布日期:2021年8月19日
    • (2020)代数子类型的简单本质:具有子类型的主类型推理变得容易(函数珍珠)美国计算机学会程序设计语言会议录10.1145/34090064:ICFP(1-28)在线发布日期:2020年8月3日
    • (2019)行动中的法典编程语言和系统10.1007/978-3-030-17184-1_5(119-146)在线发布日期:2019年4月6日
    • (2017)带有定义解释程序的类型稳健性证明ACM SIGPLAN通知10.1145/3093333.300986652:1(666-679)在线发布日期:2017年1月1日
    • (2017)带有定义解释程序的类型稳健性证明第44届ACM SIGPLAN编程语言原理研讨会会议记录10.1145/3009837.3009866(666-679)在线发布日期:2017年1月1日
    • (2016)依赖对象类型(DOT)的类型可靠性ACM SIGPLAN通知10.1145/3022671.298400851:10(624-641)在线发布日期:2016年10月19日
    • (2016)依赖对象类型(DOT)的类型可靠性2016年ACM SIGPLAN面向对象编程、系统、语言和应用国际会议记录10.1145/2983990.2984008(624-641)在线发布日期:2016年10月19日
    • (2016)分期付款:前景和挑战2016年ACM SIGPLAN部分评估和程序操作研讨会会议记录10.1145/2847538.2847548(103-108)在线发布日期:2016年1月11日
    • (2016)1ML带特殊效果改变世界的成功列表10.1007/978-3-319-30936-1_18(336-355)在线发布日期:2016年3月25日
    • (2016)依赖对象类型的本质改变世界的成功列表10.1007/978-3-319-30936-1_14(249-272)在线发布日期:2016年3月25日
    • 显示更多引用者

    视图选项

    查看选项

    PDF格式

    以PDF文件查看或下载。

    PDF格式

    电子阅读器

    使用联机查看电子阅读器.

    电子阅读器

    获取访问权限

    登录选项

    完全访问权限

    媒体

    数字

    其他

    桌子

    分享

    分享

    共享此出版物链接

    在社交媒体上分享