Categorical combinators

Q4 Mathematics
P.-L. Curien
{"title":"Categorical combinators","authors":"P.-L. Curien","doi":"10.1016/S0019-9958(86)80047-X","DOIUrl":null,"url":null,"abstract":"<div><p>Our main aim is to present the connection between <em>λ</em>-calculus and Cartesian closed categories both in an untyped and purely syntactic setting. More specifically we establish a syntactic equivalence theorem between what we call categorical combinatory logic and <em>λ</em>-calculus with explicit products and projections, with <em>β</em> and <em>η</em>-rules as well as with surjective pairing. “Combinatory logic” is of course inspired by Curry's combinatory logic, based on the well-known <em>S</em>, <em>K</em>, <em>I</em>. Our combinatory logic is “categorical” because its combinators and rules are obtained by extracting untyped information from Cartesian closed categories (looking at arrows only, thus forgetting about objects). Compiling <em>λ</em>-calculus into these combinators happens to be natural and provokes only <em>n</em> log <em>n</em> code expansion. Moreover categorical combinatory logic is entirely faithful to <em>β</em>-reduction where combinatory logic needs additional rather complex and unnatural axioms to be. The connection easily extends to the corresponding typed calculi, where typed categorical combinatory logic is a free Cartesian closed category where the notion of terminal object is replaced by the explicit manipulation of applying (a function to its argument) and coupling (arguments to build datas in products). Our syntactic equivalences induce equivalences at the model level. The paper is intended as a mathematical foundation for developing implementations of functional programming languages based on a “categorical abstract machine,” as developed in a companion paper (<span>Cousineau, Curien, and Mauny, <em>in</em> “Proceedings, ACM Conf. on Functional Programming Languages and Computer Architecture,” Nancy, 1985</span>).</p></div>","PeriodicalId":38164,"journal":{"name":"信息与控制","volume":"69 1","pages":"Pages 188-254"},"PeriodicalIF":0.0000,"publicationDate":"1986-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0019-9958(86)80047-X","citationCount":"108","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"信息与控制","FirstCategoryId":"1093","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S001999588680047X","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"Mathematics","Score":null,"Total":0}
引用次数: 108

Abstract

Our main aim is to present the connection between λ-calculus and Cartesian closed categories both in an untyped and purely syntactic setting. More specifically we establish a syntactic equivalence theorem between what we call categorical combinatory logic and λ-calculus with explicit products and projections, with β and η-rules as well as with surjective pairing. “Combinatory logic” is of course inspired by Curry's combinatory logic, based on the well-known S, K, I. Our combinatory logic is “categorical” because its combinators and rules are obtained by extracting untyped information from Cartesian closed categories (looking at arrows only, thus forgetting about objects). Compiling λ-calculus into these combinators happens to be natural and provokes only n log n code expansion. Moreover categorical combinatory logic is entirely faithful to β-reduction where combinatory logic needs additional rather complex and unnatural axioms to be. The connection easily extends to the corresponding typed calculi, where typed categorical combinatory logic is a free Cartesian closed category where the notion of terminal object is replaced by the explicit manipulation of applying (a function to its argument) and coupling (arguments to build datas in products). Our syntactic equivalences induce equivalences at the model level. The paper is intended as a mathematical foundation for developing implementations of functional programming languages based on a “categorical abstract machine,” as developed in a companion paper (Cousineau, Curien, and Mauny, in “Proceedings, ACM Conf. on Functional Programming Languages and Computer Architecture,” Nancy, 1985).

分类组合子
我们的主要目的是提出λ微积分和笛卡尔闭范畴之间的联系,在无类型和纯语法设置。更具体地说,我们建立了范畴组合逻辑和带显积和投影、带β和η规则以及带满射配对的λ-微积分之间的句法等价定理。“组合逻辑”当然是受Curry组合逻辑的启发,基于众所周知的S, K, i。我们的组合逻辑是“范畴”的,因为它的组合子和规则是通过从笛卡尔闭范畴中提取无类型信息获得的(只看箭头,从而忘记了对象)。将λ-calculus编译成这些组合子是很自然的,并且只需要进行n log n的代码扩展。此外,范畴组合逻辑完全忠实于β-约简,而组合逻辑需要额外的相当复杂和非自然的公理。这种联系很容易扩展到相应的类型化演算,其中类型化的范畴组合逻辑是一个自由的笛卡尔闭范畴,其中终端对象的概念被应用(函数对其参数)和耦合(参数在产品中构建数据)的显式操作所取代。我们的句法等价在模型层次上引出等价。该论文旨在作为基于“分类抽象机”开发函数式编程语言实现的数学基础,正如在同伴论文中开发的那样(Cousineau, Curien和Mauny,在“ACM会议论文集,关于函数式编程语言和计算机体系结构”,Nancy, 1985)。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
信息与控制
信息与控制 Mathematics-Control and Optimization
CiteScore
1.50
自引率
0.00%
发文量
4623
期刊介绍:
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信