成分

作文数学开放存取期刊

Profunctor Optics,分类更新

布莱斯·克拉克1德里克·埃尔金斯,杰里米·吉本斯2,福斯科·洛雷吉,巴托斯·米洛夫斯基4艾米丽·皮尔莫尔和马里奥·罗曼2,3

1澳大利亚新南威尔士州新南威尔斯麦格理大学数学和物理学院,邮编:2109
2牛津大学计算机科学系,7 Parks Rd,OX1 3QG,United Kingdom
塔林理工大学软件科学系,Ehitajate tee 5,19086塔林,爱沙尼亚
4编程咖啡馆

摘要

光学是双向数据存取器,用于捕获数据转换模式,例如访问子字段或在容器上迭代。Profunctor光学是一种支持模块化的特殊表示选择,这意味着我们可以通过组合较简单的结构来构造复杂结构的存取器。Profunctor光学以前只在非丰富和非混合的环境中进行过研究,在这种环境中,两个访问方向都是在同一类别中建模的。然而,可以说函数式编程语言更适合用丰富的类别来描述;我们发现,文献中的一些结构实际上是混合光学结构,访问方向在不同类别中建模。我们的工作推广了Pastro和Street在Tambara理论上的经典结果,并用它来描述混合的V富集的深度光学,并赋予它们V类结构。我们提供了一些光学和衍生的原始家族,包括一个用于遍历的基本家族。最后,我们讨论一个Haskell实现。

BibTeX数据

工具书类

[1]法里斯·阿布·萨利赫、詹姆斯·切尼、杰里米·吉本斯、詹姆斯·麦金纳和佩迪塔·史蒂文斯。关于一元镜片的思考。《改变世界的成功列表——菲利普·瓦德勒60岁生日致辞》,《计算机科学讲稿》第9600卷,第1-31页,海德堡,2016年。斯普林格。10.1007/​978-3-319-30936-1_1.
https://doi.org/10.1007/978-3-319-30936-1_1

[2]纪尧姆·博伊索。理解Profunctor光学:一个表示定理。牛津大学硕士论文,2017年。

[3]纪尧姆·博伊索和杰里米·吉本斯。关于Yoneda,你需要知道的是:Profunctor光学和Yoneda引理(功能珍珠)。PACMPL,2(ICFP):84:1–84:272018年。10.1145/​3236779.
https://doi.org/10.1145/3236779

[4]马里奥·卡卡莫和格林·温斯克尔。类别的高阶微积分。理查德·博尔顿(Richard J.Boulton)和保罗·杰克逊(Paul B.Jackson)主编,《高阶逻辑中的定理证明》,第14届国际会议,TPHOLs 2001,英国苏格兰爱丁堡,2001年9月3日至6日,《计算机科学讲稿》第2152卷,第136-153页。斯普林格,2001年。10.1007/​3-540-44755-5_11.
https://doi.org/10.1007/3-540-44755-5_11

[5]杰弗里·克鲁特威尔和迈克尔·舒尔曼。广义多范畴的统一框架。范畴理论与应用,24(21):580-6552010。10.44850/arXiv.0907.2460。
https://doi.org/10.48550/arXiv.0907.2460

[6]布莱恩·戴(Brian Day)。关于函数的闭范畴。1970年,海德堡,《中西部类别研讨会报告IV》,第1-38页。斯普林格。

[7]布莱恩·戴和米盖尔·拉普拉萨。关于嵌入封闭类别。澳大利亚数学学会公报,18(3):357–37119978。

[8]罗纳德·费舍尔。分类问题中多重测量的使用。优生学年鉴,7(2):179-1881936。

[9]Brendan Fong和Michael Johnson。透镜和学员。詹姆斯·切尼(James Cheney)和香樟柯(Xiang-Shang Ko),编辑,与费城逻辑周刊合办的第八届双向转换国际研讨会论文集,Bx@PLW公司2019年,美国宾夕法尼亚州费城,2019年6月4日,CEUR研讨会论文集第2355卷,第16-29页。CEUR-WS.org,2019年。10.48550/arXiv.1903.03671。
https://doi.org/10.48550/arXiv.1903.03671

[10]内森·福斯特(Nathan Foster)、迈克尔·格林沃尔德(Michael Greenwald)、乔纳森·摩尔(Jonathan Moore)、本杰明·皮尔斯(Benjamin Pierce)和阿兰·施密特(Alan Schmitt)。双向树转换的组合器:视图更新问题的一种语言方法。第32届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,POPL 2005,美国加利福尼亚州长滩,2005年1月12-14日,第233-246页,2005年。10.1145/​1040305.1040325.
https://doi.org/10.1145/1040305.1040325

[11]托马斯·福克斯。余代数和笛卡尔范畴。代数通信,4(7):665-6671976。

[12]Phil Freeman、Brian Marick、Lukas Heidemann等,《Purescript Profunctor Lenses》。Github https://Github.com/purescript-contrib/purescript-profunctor-lenses,2015-2019年。
https://github.com/purescript-contrib/purescript-profunctor-lenses

[13]Neil Ghani、Jules Hedges、Viktor Winschel和Philipp Zahn。组合博弈论。2018年7月9日至12日,英国牛津,LICS 2018,第33届ACM/IEEE计算机科学逻辑年会论文集,第472-481页。10.1145/​3209108.3209165.
https://doi.org/10.1145/3209108.3209165

[14]约翰·休斯。将Monad归纳为Arrows。计算机程序设计科学,37(1-3):67-1112000。10.1016/S0167-6423(99)00023-4。
https://doi.org/10.1016/S0167-6423(99)00023-4

[15]Bart Jacobs、Chris Heunen和Ichiro Hasuo。箭头的分类语义。函数编程杂志,19(3-4):403–4382009。10.1017/S0956796809007308。
https://doi.org/10.1017/S0956796809007308

[16]毛罗·贾斯克利奥夫(Mauro Jaskelioff)和罗素·奥康纳(Russell O'Connor)。二阶泛函的一个表示定理。《函数编程杂志》,2015年25月。10.1017/S0956796815000088。
https://doi.org/10.1017/S0956796815000088

[17]Mauro Jaskelioff和Ondrej Rypacek。穿越法律调查。在《数学结构函数编程第四次研讨会论文集》中,MSFP@ETAPS2012年,爱沙尼亚塔林,2012年3月25日,第40-49页,2012年。10.4204/EPTCS.76.5。
https://doi.org/10.4204/EPTCS.76.5

[18]马克斯·凯利。丰富范畴理论的基本概念。类别理论与应用重印,1(10):1372005a。重印1982年原件。剑桥大学出版社,剑桥;MR0651714。

[19]马克斯·凯利。《论J.P.May的操作》,《范畴理论与应用的再版》,13(1),2005b。

[20]爱德华·凯米特。镜头库,版本4.16。黑客https://Hackage.haskell.org/package/lens-4.162012-2018。
https://hackage.haskell.org/package/lens-4.16

[21]保罗·利维。多分类集上的强函子。卡罗莱纳大学数学评论,60(4):533–5402019。

[22]福斯科·洛雷吉。(Co)结束微积分。伦敦数学学会讲义系列。剑桥大学出版社,2021年。10.1017/​9781108778657.
https://doi.org/10.1017/9781108778657

[23]桑德斯·麦克莱恩。职业数学家的类别。数学研究生课文。纽约施普林格出版社,1978年。10.1007/​978-1-4757-4721-8.
https://doi.org/10.1007/978-1-4757-4721-8

[24]Conor McBride和Ross Paterson。具有效果的应用程序。函数编程杂志,18(1):1–13,2008。10.1017/S0956796807006326。
https://doi.org/10.1017/S0956796807006326

[25]巴托斯·米洛夫斯基(Bartosz Milewski)。Profunctor光学:分类视图。https://bartoszmilewski.com/2017/07/07/profunctor-optics-the-categorial-view/,2017年。
https://bartoszmilewski.com/2017/07/07/profunctor-optics-the-categorial-view/

[26]罗素·奥康纳。光栅:一种新型光学器件。https://r6research.livejournal.com/28050.html,2015a。
https://r6research.livejournal.com/28050.html

[27]罗素·奥康纳。Mezzolens:纯Profunctor功能性镜片。黑客https://Hackage.haskell.org/package/mezzolens,2015b。
https://hackage.haskell.org/package/mezzolens

[28]弗兰克·约瑟夫·奥莱斯(Frank Joseph Oles)。编程语言语义的范畴理论方法。锡拉丘兹大学博士论文,1982年。

[29]卢克·帕尔默。使Haskell更适合游戏编程。https://lukepalmer.wordpress.com/2007/07/26/making-haskell-nicer-for-game-programming/,存档于https://web.archive.org/web/20141219182332/http://lukepammer.worddress.com/2007/07/26.making-haskell-nicer-for-game-programming/,2007。
https://lukepalmer.wordpress.com/2007/07/26/making-haskell-nicer-for-game-programming/

[30]克雷格·帕斯特罗和罗斯街。单面分类的双精度。范畴理论与应用,21(4):61-752008。

[31]马修·皮克林(Matthew Pickering)、杰里米·吉本斯(Jeremy Gibbons)和尼古拉斯·吴(Nicolas Wu)。Profiunctor Optics:模块化数据访问器。《编程杂志》,1(2):7,2017年。10.22152/编程日志.org/2017/1/7。
https://doi.org/10.22152/programming-journal.org/2017/1/7

[32]艾米丽·皮尔摩和马里奥·罗曼。Vitrea库,版本0.1.0.0。黑客攻击https://Hackage.haskell.org/package/vitrea-0.1.0.0,Github https://Github.com/mroman42/vitrea,2019-2020。
https://hackage.haskell.org/package/vitrea-0.1.0.0

[33]艾米丽·皮尔摩和马里奥·罗曼。Profunctor光学:绝对观点。https://golem.ph.utexas.edu/category/2020/01/profunctor_optics_the_categori.html,2020年。
https://golem.ph.utexas.edu/category/2020/01/profunctor_optics_the_categori.html

[34]米切尔·莱利。光学的类别。arXiv预印arXiv:1809.007382018。
arXiv:1809.00738号

[35]Exequiel Rivas和Mauro Jaskelioff。计算作为单体的概念。《函数编程杂志》,2017年第27期。10.1017/S0956796817000132。
https://doi.org/10.1017/S0956796817000132

[36]马里奥·罗曼。Profiunctor光学和导线。牛津大学硕士论文,2019年。

[37]马里奥·罗曼。通过Coend Calculus打开图表。理论计算机科学电子论文集,333,应用范畴理论2020:65-782021年2月。ISSN 2075-2180。10.4204/eptcs.333.5。
https://doi.org/10.4204/eptcs.333.5

[38]大卫·斯皮瓦克。通过函子$\mathcal{C}^{\mathrm{op}}\to\mathsf{Cat}$的广义透镜范畴。arXiv预印arXiv:1908.02202202019。10.48550/arXiv.1908.02202。
https://doi.org/10.48550/arXiv.1908.02202
arXiv:1908.02202

[39]佩迪塔·史蒂文斯。QVT中的双向模型转换:语义问题和开放问题。软件和系统建模,9(1):2010年7月20日。2007年10月10日/s10270-008-0109-9。
https://doi.org/10.1007/s10270-008-0109-9

[40]大辅坦巴拉。张量范畴上的分布函数。北海道数学杂志,35(2):379-4252006。

[41]特万·范·拉霍温(Twan van Laarhoven)。基于CPS的功能参考。https://www.twanvl.nl/blog/haskell/cps-functional-references,2009a。
https://www.twanvl.nl/blog/haskell/cps-functional-references

[42]特万·范·拉霍温(Twan van Laarhoven)。非常规数据类型挑战。https://www.twanvl.nl/blog/haskell/non-regular12009b。
https://www.twanvl.nl/blog/haskell/non-regular1

[43]斯乔德·维舍尔。数据。类别库,版本0.10。黑客https://Hackage.haskell.org/package/data-category,2010-2020。
https://hackage.haskell.org/package/data-category

引用人

打开Crossref的cited-by服务没有找到引用作品的数据(最后一次尝试是2024-03-01 13:43:56)。打开SAO/NASA ADS公司没有找到引用作品的数据(最后一次尝试是2024-03-01 13:43:57)。