第二十三届Agda实施者会议在格拉斯哥斯特拉斯克莱德大学举行,4月20日星期三到4月26日星期二2016年,会议与之前的会议类似:
- 介绍Agda和其他类似Agda的语言的理论、实现和用例。
- 关于Agda语言相关问题的讨论。
- 有足够的时间与其他参与者合作,在Agda内部、内部、内部或周围工作。
位置
会议将在利文斯顿大厦格拉斯哥中部斯特拉斯克莱德大学。
计划
4月20日星期三(LT1415) |
9 | 欢迎,一轮介绍,代码冲刺想法 |
9.30 | 咖啡休息时间 |
10 | Jesper Cockx:基于望远镜等效性的声音统一算法 |
11 | 亨宁·巴索尔德:阿格达数据类型的理论基础 |
12 | 午餐(LT1212提供) |
13 | Andreas Abel:Agda源代码简介(可选加上错误修复演示) |
14 | 代码冲刺 |
15 | 咖啡休息时间 |
15.30 | 代码冲刺 |
18 | 总结会议(总结) |
4月21日星期四(LT1415) |
9.30 | Ulf Norell:类型检查器反射 |
10.30 | 咖啡休息时间 |
11 | Conor McBride:立方体十字路口 |
12 | 午餐(LT1212提供) |
13 | 代码冲刺 |
15 | 咖啡休息时间 |
15.30 | 代码冲刺 |
18 | 总结会议(总结) |
4月22日星期五(LT210) |
9.30 | 安东·塞泽尔:使用对象在Agda中编写GUI |
10.30 | 咖啡休息时间 |
11 | 詹姆斯·麦金纳:双向转换是与证据相关的相互模拟 |
12 | 午餐(LT1212提供) |
13 | 代码冲刺 |
15 | 咖啡休息时间 |
15.30 | 代码冲刺 |
18 | 总结会议(总结) |
4月23日星期六(LT1415) |
10 | 代码冲刺 |
12.30 | 午餐 |
13 | 代码冲刺 |
15 | 咖啡休息时间 |
15.30 | 代码冲刺 |
18 | 总结会议(总结) |
4月24日星期日 |
远足发送至Arran。 |
4月25日星期一(LT1415) |
9.45 | 纪尧姆·阿拉斯:保留类型和范围的语义 |
10.30 | 咖啡休息时间 |
11 | Edwin Brady:Idris中的效果编程 |
12 | 午餐(LT1212提供) |
13 | 代码冲刺 |
15 | 咖啡休息时间 |
15.30 | 代码冲刺 |
17 | 总结会议(总结) |
19 | 在萨尔蒂 |
4月26日星期二(LT1415) |
9.30 | 代码冲刺 |
10.30 | 咖啡休息时间 |
11 | 代码冲刺 |
12 | 午餐(LT1212提供) |
13 | 代码冲刺 |
15 | 咖啡休息时间 |
15.30 | 代码冲刺 |
18 | 总结会议(总结) |
总结会议摘要
可以找到每日进度的简短摘要在这里.
会谈
Jesper Cockx:基于望远镜等效性的声音统一算法[幻灯片,纸(草稿)]
相关模式匹配可以说是Agda的最佳功能之一。通过模式匹配检查定义的算法的核心是一个(一阶)统一算法。然而,Agda 2.4.*和更早版本中此统一算法的实现包含了许多在相关模式匹配的文献中没有考虑到的附加内容,例如推迟方程和支持记录类型的eta-equality。理论和实现之间的这种不匹配导致了许多错误,请参阅#292、#473、#635、#1071、#1406、#1408、#1411、#1427、#1435、#1497和#1613。在这次演讲中,我将通过将统一问题表示为望远镜方程,将统一规则表示为这些望远镜之间的等价物,提出一种新的思考统一的方法。这种表示直接基于Agda 2.5.1中统一算法的新实现。
亨宁·巴索尔德:阿格达数据类型的理论基础[幻灯片]
近年来,越来越多的人对使用阿格达作为校对助理。因此,我们希望有一个形式证明Agda作为一种逻辑是一致的,我们可以指出它的模型。这已经在语言的某些部分完成了。这个最新的例子可能是强有力的证明(非依赖)大小类型的copattern语言的规范化作者Andreas Abel等人。此外,Agda的许多特征及其组合大多数研究都是在其他类型理论的背景下进行的特别是纯类型理论。
在本次演讲中,我将重点介绍一个尚未调查的功能在其他上下文中:依赖混合归纳-归纳数据类型。首先,我将介绍一种基于(共同)递归方案的语法,并证明主题约简及其约简关系的强正规化。该语言和一些基本属性也已实现阿格达。接下来,我们将看到这些数据类型及其规则是如何对应的在某些初始和最终dialbras下闭合腓骨,以及我们如何获得此类类别的模型。后者实际上是所呈现语言的起源。最后,我想讨论一下获得正式核心语言所需的步骤。
第一部分是与Herman Geuvers为LICS’16联合工作。第二个这部分是基于我去年在公务员协联上发表的一篇论文。
Andreas Abel:Agda源代码简介[错误修复说明]
本演讲试图对Agda源代码的某些部分进行概述(333个Haskell模块,100kloc)。我们讨论了抽象语法和解析/范围检查/类型检查/编译管道的不同表示。您不需要成为Agda的贡献者就可以关注本次演讲,这也是开始代码冲刺工作时的第一个方向。
Ulf Norell:类型检查器反射[代码]
最近,我很高兴在David Christiansen的博士委员会任职,在那里我有机会研究他在Idris中用反射所做的很酷的事情。我特别喜欢他的反射,它为来自Idris元程序的绘制者提供了一个接口。所以,很自然地,我偷走了他的想法,并把它们放在了阿格达。结果是一个新的类型检查monad,它具有提供对Agda类型检查器访问的基本操作。在这次演讲中,我将向您展示我们以前无法实现的新界面和一些奇特的策略编程。
Conor McBride:立方体十字路口[电路板1 电路板2 电路板3 板4]
我将探讨在不涉及非平凡证明相关性(如单价)或非平凡证明无关性(如K)的情况下,构建具有规范性的立方体类型理论能走多远。我希望能对设计空间有所启发。
安东·塞策:使用对象在Agda中编写GUI[Agda代码(html)git上的Agda代码(主文件main.Agda),纸(草稿),ooAgda图书馆(github)]
与Andreas Abel和Stephan Adelsberger联合工作
我们介绍了一个用Agda编写交互式程序的库,其中允许创建GUI。交互式程序将能够使用对象的某些方面。在最高级版本中创建GUI时GUI的创建类似于在Java中通过创建和对象,该对象具有作为方法的操作侦听器。一个小GUI示例将进行演示。
詹姆斯·麦金纳(James McKinna):双向变换是证明相关的互模拟,而且在关系的双范畴上被划分为(双)范畴[补充见证一致性文件和DBTX谈话摘要(来自Bx2016@预计到达时间) ]
我将尝试激发、定义并希望解释标题中的术语,并建立声称结果的证据。
纪尧姆·阿拉斯:保留类型和范围的语义[Github上的幻灯片、纸张和代码]
我们引入了类型和范围保持语义的概念,推广了Goguen和McKinna定义一个遍历泛型的方法,该方法足以实例化为先重命名,然后替换。它对环境和模型值的仔细区分,以及对Kripke语义典型结构的变化,使得它能够表达重命名和替换,也能够表达各种形式的评估归一化,以及可能更令人惊讶的一元计算,如打印功能。
然后,我们证明在一个通用框架中表达这些算法会产生直接的好处:我们可以在这些实例上部署一些逻辑关系,并通过评估适当基本引理的简单推论,获得用于重命名、替换和归一化的融合引理。
Edwin Brady:Idris中的效果编程
我会谈谈伊德里斯效应的现状库。效果库允许Idris程序员定义通过代数数据类型的副作用,并跟踪类型中的有效操作。我将展示如何使用此功能定义资源使用协议(例如文件管理和网络通信),并给出一些示例。
阿伦之旅
我们在格拉斯哥中央车站见面8.20(在中间的钟下面)为了8.40列车去阿德罗桑,在那里我们换乘渡船去阿兰的布罗迪克。你可以花15.80英镑购买一张往返布罗迪克的火车和轮渡联合票。
在阿兰,我们将乘坐324路10.55路公交车前往布罗迪克城堡,我们将在那里攀登山羊井.带来午餐还有漂亮的衣服和鞋子!
返回阿德罗桑的渡船从布罗迪克16.40或19.20开出。
前往格拉斯哥
乘火车
请参见国家铁路公司英国境内的火车。格拉斯哥中央车站和格拉斯哥皇后街车站都在斯特拉斯克莱德大学的步行距离内。
大陆上的人们可以欧洲之星去伦敦,然后再乘另一列火车去格拉斯哥。另请参见坐在座位上的男人61了解更多信息。
乘飞机
最近的机场是格拉斯哥国际机场(30分钟总线连接(500路公交车)到乔治广场),爱丁堡机场(1小时总线连接(Citylink航空)布坎南汽车站)和格拉斯哥普勒斯威克机场(40-50分钟列车连接格拉斯哥中心)。
住宿
住宿方便的地方是格拉斯哥市中心Premier酒店就在斯特拉斯克莱德大学对面。这可能也值得考虑Airbnb公司。如果您要走住宿和早餐路线,请注意斯特拉斯克莱德位于格拉斯哥市中心的商业城地区。
登记处
要注册,请填写这个表格.
参与者
代码冲刺思想
- 超载投影(Andreas)
- 记录中的布局和模式匹配lambdas(Ulf)(和do-notation?)
- 记录Lambda(纪尧姆)中的图案
- 战术编程(Ulf可以提供帮助)
- 优化:如果您的Agda代码速度可疑缓慢,请联系Nisse
- 新制服的一些改进(杰斯珀)
- 反射语法的幻像类型(Jesper)
- 保险丝覆盖检查和条款lhs检查(Jesper)
- 作用域注释:在注释中具有作用域检查/类型检查代码(纪尧姆)
- 记录和清理ooAgda库;对象、GUI和交互式程序(Anton)
- 在Agda(Anton)中创建更高级的GUI示例
- 英雄文档冲刺(Fredrik)
- 显式替换(Fredrik,James)
- 立方型理论(1703年版)(安德里亚)
- 标准库(Andreas)
- 警告(安德烈亚斯)
- reStructuredText支持识字Agda:制作文档写作和打字检查的乐趣(Víctor)
- Elm-style错误消息
一厢情愿的想法:
- 累积性(Conor)
- 观测等式(Conor)
- OTT提案(纪尧姆)
如果有人这样做,那很好:
- 使用Travis(Guillaume)的静态二进制生成
赞助
本次会议由苏格兰信息与计算机科学联盟.