首页 > 最新文献

CoRR最新文献

英文 中文
Natural Deduction and Normalization Proofs for the Intersection Type Discipline 交型学科的自然演绎与归一化证明
Pub Date : 2019-04-23 DOI: 10.4204/EPTCS.293.3
Federico Aschieri
Refining and extending previous work by Retore, we develop a systematic approach to intersection types via natural deduction. We show how a step of beta reduction can be seen as performing, at the level of typing derivations, Prawitz reductions in parallel. Then we derive as immediate consequences of Subject Reduction the main theorems about normalization for intersection types: for system D, strong normalization, for system Omega, the leftmost reduction termination for terms typable without Omega.
通过改进和扩展Retore之前的工作,我们通过自然演绎开发了一种系统的交叉类型方法。我们展示了如何一步的β还原可以被看作是执行,在类型派生的水平,普拉维茨约简并行。然后,我们得到了关于交集类型归一化的主要定理,作为主题约简的直接结果:对于系统D,强归一化,对于系统,对于没有的可类型项,最左边的约简终止。
{"title":"Natural Deduction and Normalization Proofs for the Intersection Type Discipline","authors":"Federico Aschieri","doi":"10.4204/EPTCS.293.3","DOIUrl":"https://doi.org/10.4204/EPTCS.293.3","url":null,"abstract":"Refining and extending previous work by Retore, we develop a systematic approach to intersection types via natural deduction. We show how a step of beta reduction can be seen as performing, at the level of typing derivations, Prawitz reductions in parallel. Then we derive as immediate consequences of Subject Reduction the main theorems about normalization for intersection types: for system D, strong normalization, for system Omega, the leftmost reduction termination for terms typable without Omega.","PeriodicalId":10720,"journal":{"name":"CoRR","volume":"18 1","pages":"29-37"},"PeriodicalIF":0.0,"publicationDate":"2019-04-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81554051","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Intersection Subtyping with Constructors 使用构造函数的交叉子类型
Pub Date : 2019-04-23 DOI: 10.4204/EPTCS.293.6
Olivier Laurent
We study the question of extending the BCD intersection type system with additional type constructors. On the typing side, we focus on adding the usual rules for product types. On the subtyping side, we consider a generic way of defining a subtyping relation on families of types which include intersection types. We find back the BCD subtyping relation by considering the particular case where the type constructors are intersection, omega and arrow. We obtain an extension of BCD subtyping to product types as another instance. We show how the preservation of typing by both reduction and expansion is satisfied in all the considered cases. Our approach takes benefits from a "subformula property" of the proposed presentation of the subtyping relation.
研究了用附加类型构造函数扩展BCD相交类型系统的问题。在输入方面,我们着重于为产品类型添加通常的规则。在子类型方面,我们考虑了在包含交集类型的类型族上定义子类型关系的一般方法。通过考虑类型构造函数为intersection、omega和arrow的特殊情况,我们找到了BCD子类型关系。我们将BCD子类型扩展为产品类型作为另一个实例。我们展示了在所有考虑的情况下,如何通过简化和扩展来保持类型。我们的方法从子类型关系的建议表示的“子公式属性”中获益。
{"title":"Intersection Subtyping with Constructors","authors":"Olivier Laurent","doi":"10.4204/EPTCS.293.6","DOIUrl":"https://doi.org/10.4204/EPTCS.293.6","url":null,"abstract":"We study the question of extending the BCD intersection type system with additional type constructors. On the typing side, we focus on adding the usual rules for product types. On the subtyping side, we consider a generic way of defining a subtyping relation on families of types which include intersection types. We find back the BCD subtyping relation by considering the particular case where the type constructors are intersection, omega and arrow. We obtain an extension of BCD subtyping to product types as another instance. We show how the preservation of typing by both reduction and expansion is satisfied in all the considered cases. Our approach takes benefits from a \"subformula property\" of the proposed presentation of the subtyping relation.","PeriodicalId":10720,"journal":{"name":"CoRR","volume":"213 1","pages":"73-84"},"PeriodicalIF":0.0,"publicationDate":"2019-04-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89086804","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
Intersection Types for Unboundedness Problems 无界性问题的交点类型
Pub Date : 2019-04-23 DOI: 10.4204/EPTCS.293.2
P. Parys
Intersection types have been originally developed as an extension of simple types, but they can also be used for refining simple types. In this survey we concentrate on the latter option; more precisely, on the use of intersection types for describing quantitative properties of simply typed lambda-terms. We present two type systems. The first allows to estimate (by appropriately defined value of a derivation) the number of appearances of a fixed constant 'a' in the beta-normal form of a considered lambda-term. The second type system is more complicated, and allows to estimate the maximal number of appearances of the constant 'a' on a single branch.
交叉类型最初是作为简单类型的扩展而开发的,但是它们也可以用于精炼简单类型。在本次调查中,我们主要关注后一种选择;更准确地说,是关于使用交集类型来描述简单类型的lambda项的定量性质。我们提出了两种类型的系统。第一种方法允许估计(通过适当定义的推导值)在考虑的λ项的β -正态形式中固定常数“a”的出现次数。第二类系统更为复杂,并允许估计常数“a”在单个分支上出现的最大次数。
{"title":"Intersection Types for Unboundedness Problems","authors":"P. Parys","doi":"10.4204/EPTCS.293.2","DOIUrl":"https://doi.org/10.4204/EPTCS.293.2","url":null,"abstract":"Intersection types have been originally developed as an extension of simple types, but they can also be used for refining simple types. In this survey we concentrate on the latter option; more precisely, on the use of intersection types for describing quantitative properties of simply typed lambda-terms. We present two type systems. The first allows to estimate (by appropriately defined value of a derivation) the number of appearances of a fixed constant 'a' in the beta-normal form of a considered lambda-term. The second type system is more complicated, and allows to estimate the maximal number of appearances of the constant 'a' on a single branch.","PeriodicalId":10720,"journal":{"name":"CoRR","volume":"5 1","pages":"7-27"},"PeriodicalIF":0.0,"publicationDate":"2019-04-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79393728","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Formalization of Automated Trading Systems in a Concurrent Linear Framework 并行线性框架下自动交易系统的形式化
Pub Date : 2019-04-15 DOI: 10.4204/EPTCS.292.1
I. Cervesato, Sharjeel Khan, Giselle Reis, D. Zunic
We present a declarative and modular specification of an automated trading system (ATS) in the concurrent linear framework CLF. We implemented it in Celf, a CLF type checker which also supports executing CLF specifications. We outline the verification of two representative properties of trading systems using generative grammars, an approach to reasoning about CLF specifications.
我们提出了一个并行线性框架CLF中的自动交易系统(ATS)的声明性和模块化规范。我们在Celf中实现了它,Celf是一个CLF类型检查器,它也支持执行CLF规范。我们概述了使用生成语法验证交易系统的两个代表性属性,生成语法是一种推理CLF规范的方法。
{"title":"Formalization of Automated Trading Systems in a Concurrent Linear Framework","authors":"I. Cervesato, Sharjeel Khan, Giselle Reis, D. Zunic","doi":"10.4204/EPTCS.292.1","DOIUrl":"https://doi.org/10.4204/EPTCS.292.1","url":null,"abstract":"We present a declarative and modular specification of an automated trading system (ATS) in the concurrent linear framework CLF. We implemented it in Celf, a CLF type checker which also supports executing CLF specifications. We outline the verification of two representative properties of trading systems using generative grammars, an approach to reasoning about CLF specifications.","PeriodicalId":10720,"journal":{"name":"CoRR","volume":"33 1","pages":"1-14"},"PeriodicalIF":0.0,"publicationDate":"2019-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72927742","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
On the Lambek Calculus with an Exchange Modality 具有交换模态的Lambek微积分
Pub Date : 2019-04-15 DOI: 10.4204/EPTCS.292.4
Jiaming Jiang, H. Eades, Valeria C V de Paiva
In this paper we introduce Commutative/Non-Commutative Logic (CNC logic) and two categorical models for CNC logic. This work abstracts Benton's Linear/Non-Linear Logic by removing the existence of the exchange structural rule. One should view this logic as composed of two logics; one sitting to the left of the other. On the left, there is intuitionistic linear logic, and on the right is a mixed commutative/non-commutative formalization of the Lambek calculus. Then both of these logics are connected via a pair of monoidal adjoint functors. An exchange modality is then derivable within the logic using the adjunction between both sides. Thus, the adjoint functors allow one to pull the exchange structural rule from the left side to the right side. We then give a categorical model in terms of a monoidal adjunction, and then a concrete model in terms of dialectica Lambek spaces.
本文介绍了交换/非交换逻辑(CNC逻辑)和CNC逻辑的两个范畴模型。这个作品通过去除交换结构规则的存在,抽象了本顿的线性/非线性逻辑。我们应该把这个逻辑看作是由两个逻辑组成的;一个坐在另一个的左边。左边是直觉线性逻辑,右边是Lambek演算的混合交换/非交换形式化。然后这两个逻辑通过一对单轴伴随函子连接起来。然后利用交换模态两边的附加在逻辑内推导交换模态。因此,伴随函子允许人们将交换结构规则从左侧拉到右侧。在此基础上,我们给出了单轴附接的范畴模型,并给出了辩证法Lambek空间的具体模型。
{"title":"On the Lambek Calculus with an Exchange Modality","authors":"Jiaming Jiang, H. Eades, Valeria C V de Paiva","doi":"10.4204/EPTCS.292.4","DOIUrl":"https://doi.org/10.4204/EPTCS.292.4","url":null,"abstract":"In this paper we introduce Commutative/Non-Commutative Logic (CNC logic) and two categorical models for CNC logic. This work abstracts Benton's Linear/Non-Linear Logic by removing the existence of the exchange structural rule. One should view this logic as composed of two logics; one sitting to the left of the other. On the left, there is intuitionistic linear logic, and on the right is a mixed commutative/non-commutative formalization of the Lambek calculus. Then both of these logics are connected via a pair of monoidal adjoint functors. An exchange modality is then derivable within the logic using the adjunction between both sides. Thus, the adjoint functors allow one to pull the exchange structural rule from the left side to the right side. We then give a categorical model in terms of a monoidal adjunction, and then a concrete model in terms of dialectica Lambek spaces.","PeriodicalId":10720,"journal":{"name":"CoRR","volume":"4 1","pages":"43-89"},"PeriodicalIF":0.0,"publicationDate":"2019-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79504637","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 7
The Bang Calculus and the Two Girard's Translations 《庞氏微积分》和《吉拉德的两个译本》
Pub Date : 2019-04-15 DOI: 10.4204/EPTCS.292.2
Giulio Guerrieri, Giulio Manzonetto
We study the two Girard's translations of intuitionistic implication into linear logic by exploiting the bang calculus, a paradigmatic functional language with an explicit box-operator that allows both call-by-name and call-by-value lambda-calculi to be encoded in. We investigate how the bang calculus subsumes both call-by-name and call-by-value lambda-calculi from a syntactic and a semantic viewpoint.
我们利用bang演算(一种具有显式盒算子的范式函数语言,允许按名称调用和按值调用lambda- calculus)编码,研究了直觉蕴涵在线性逻辑中的两个Girard翻译。我们从语法和语义的角度研究了bang演算是如何将按名称调用和按值调用的lambda- calculus同时包含在内的。
{"title":"The Bang Calculus and the Two Girard's Translations","authors":"Giulio Guerrieri, Giulio Manzonetto","doi":"10.4204/EPTCS.292.2","DOIUrl":"https://doi.org/10.4204/EPTCS.292.2","url":null,"abstract":"We study the two Girard's translations of intuitionistic implication into linear logic by exploiting the bang calculus, a paradigmatic functional language with an explicit box-operator that allows both call-by-name and call-by-value lambda-calculi to be encoded in. We investigate how the bang calculus subsumes both call-by-name and call-by-value lambda-calculi from a syntactic and a semantic viewpoint.","PeriodicalId":10720,"journal":{"name":"CoRR","volume":"177 1","pages":"15-30"},"PeriodicalIF":0.0,"publicationDate":"2019-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90231930","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 27
Taking Linear Logic Apart 分解线性逻辑
Pub Date : 2019-04-15 DOI: 10.4204/EPTCS.292.5
W. Kokke, F. Montesi, Marco Peressotti
Process calculi based on logic, such as $pi$DILL and CP, provide a foundation for deadlock-free concurrent programming. However, in previous work, there is a mismatch between the rules for constructing proofs and the term constructors of the $pi$-calculus: the fundamental operator for parallel composition does not correspond to any rule of linear logic. Kokke et al. (2019) introduced Hypersequent Classical Processes (HCP), which addresses this mismatch using hypersequents (collections of sequents) to register parallelism in the typing judgements. However, the step from CP to HCP is a big one. As of yet, HCP does not have reduction semantics, and the addition of delayed actions means that CP processes interpreted as HCP processes do not behave as they would in CP. We introduce HCP-, a variant of HCP with reduction semantics and without delayed actions. We prove progress, preservation, and termination, and show that HCP- supports the same communication protocols as CP.
基于逻辑的进程演算,如$pi$DILL和CP,为无死锁并发编程提供了基础。然而,在以前的工作中,构造证明的规则与$pi$-微积分的项构造函数之间存在不匹配:并行组合的基本算子不对应于线性逻辑的任何规则。Kokke等人(2019)引入了超序列经典过程(HCP),该过程使用超序列(序列集合)在类型判断中记录并行性来解决这种不匹配问题。然而,从CP到HCP是一个巨大的进步。到目前为止,HCP还没有约简语义,延迟动作的添加意味着被解释为HCP进程的CP进程的行为与在CP中不同。我们引入了HCP-,一种具有约简语义但没有延迟动作的HCP变体。我们证明了进度、保存和终止,并表明HCP-支持与CP相同的通信协议。
{"title":"Taking Linear Logic Apart","authors":"W. Kokke, F. Montesi, Marco Peressotti","doi":"10.4204/EPTCS.292.5","DOIUrl":"https://doi.org/10.4204/EPTCS.292.5","url":null,"abstract":"Process calculi based on logic, such as $pi$DILL and CP, provide a foundation for deadlock-free concurrent programming. However, in previous work, there is a mismatch between the rules for constructing proofs and the term constructors of the $pi$-calculus: the fundamental operator for parallel composition does not correspond to any rule of linear logic. Kokke et al. (2019) introduced Hypersequent Classical Processes (HCP), which addresses this mismatch using hypersequents (collections of sequents) to register parallelism in the typing judgements. However, the step from CP to HCP is a big one. As of yet, HCP does not have reduction semantics, and the addition of delayed actions means that CP processes interpreted as HCP processes do not behave as they would in CP. We introduce HCP-, a variant of HCP with reduction semantics and without delayed actions. We prove progress, preservation, and termination, and show that HCP- supports the same communication protocols as CP.","PeriodicalId":10720,"journal":{"name":"CoRR","volume":"60 1","pages":"90-103"},"PeriodicalIF":0.0,"publicationDate":"2019-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76000055","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 10
Service Equivalence via Multiparty Session Type Isomorphisms 通过多方会话类型同构实现服务等价
Pub Date : 2019-04-02 DOI: 10.4204/EPTCS.291.1
A. Altayeva, N. Yoshida
This paper addresses a problem found within the construction of Service Oriented Architecture: the adaptation of service protocols with respect to functional redundancy and heterogeneity of global communication patterns. We utilise the theory of Multiparty Session Types (MPST). Our approach is based upon the notion of a multiparty session type isomorphism, utilising a novel constructive realisation of service adapter code to establishing equivalence. We achieve this by employing trace semantics over a collection of local types and introducing meta abstractions over the syntax of global types. We develop a corresponding equational theory for MPST isomorphisms. The main motivation for this line of work is to define a type isomorphism that affords the assessment of whether two components/services are substitutables, modulo adaptation code given software components formalised as session types.
本文解决了在构建面向服务的体系结构时遇到的一个问题:根据全局通信模式的功能冗余和异构性对服务协议进行调整。我们利用多方会话类型(MPST)理论。我们的方法基于多方会话类型同构的概念,利用服务适配器代码的一种新的建设性实现来建立等价性。我们通过在局部类型集合上使用跟踪语义并在全局类型语法上引入元抽象来实现这一点。我们发展了相应的MPST同构方程理论。这一行工作的主要动机是定义一个类型同构,它提供了两个组件/服务是否可替换的评估,模适应代码给出了形式化为会话类型的软件组件。
{"title":"Service Equivalence via Multiparty Session Type Isomorphisms","authors":"A. Altayeva, N. Yoshida","doi":"10.4204/EPTCS.291.1","DOIUrl":"https://doi.org/10.4204/EPTCS.291.1","url":null,"abstract":"This paper addresses a problem found within the construction of Service Oriented Architecture: the adaptation of service protocols with respect to functional redundancy and heterogeneity of global communication patterns. We utilise the theory of Multiparty Session Types (MPST). Our approach is based upon the notion of a multiparty session type isomorphism, utilising a novel constructive realisation of service adapter code to establishing equivalence. We achieve this by employing trace semantics over a collection of local types and introducing meta abstractions over the syntax of global types. We develop a corresponding equational theory for MPST isomorphisms. The main motivation for this line of work is to define a type isomorphism that affords the assessment of whether two components/services are substitutables, modulo adaptation code given software components formalised as session types.","PeriodicalId":10720,"journal":{"name":"CoRR","volume":"6 1","pages":"1-11"},"PeriodicalIF":0.0,"publicationDate":"2019-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74028656","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Multiparty Session Type-safe Web Development with Static Linearity 静态线性的多方会话类型安全Web开发
Pub Date : 2019-04-02 DOI: 10.4204/EPTCS.291.4
Jonathan King, Nicholas Ng, N. Yoshida
Modern web applications can now offer desktop-like experiences from within the browser, thanks to technologies such as WebSockets, which enable low-latency duplex communication between the browser and the server. While these advances are great for the user experience, they represent a new responsibility for web developers who now need to manage and verify the correctness of more complex and potentially stateful interactions in their application. In this paper, we present a technique for developing interactive web applications that are statically guaranteed to communicate following a given protocol. First, the global interaction protocol is described in the Scribble protocol language -- based on multiparty session types. Scribble protocols are checked for well-formedness, and then each role is projected to a Finite State Machine representing the structure of communication from the perspective of the role. We use source code generation and a novel type-level encoding of FSMs using multi-parameter type classes to leverage the type system of the target language and guarantee only programs that communicate following the protocol will type check. Our work targets PureScript -- a functional language that compiles to JavaScript -- which crucially has an expressive enough type system to provide static linearity guarantees. We demonstrate the effectiveness of our approach through a web-based Battleship game where communication is performed through WebSocket connections.
现代web应用程序现在可以在浏览器中提供类似桌面的体验,这要归功于WebSockets等技术,它可以在浏览器和服务器之间实现低延迟的双工通信。虽然这些进步对用户体验来说是伟大的,但它们代表了web开发人员的新责任,他们现在需要管理和验证应用程序中更复杂和潜在有状态交互的正确性。在本文中,我们提出了一种开发交互式web应用程序的技术,该技术静态地保证按照给定的协议进行通信。首先,用Scribble协议语言描述全局交互协议——基于多方会话类型。检查潦草协议的格式是否良好,然后将每个角色投影到从角色的角度表示通信结构的有限状态机。我们使用源代码生成和使用多参数类型类的FSMs的新型类型级编码来利用目标语言的类型系统,并保证只有遵循协议进行通信的程序才会进行类型检查。我们的工作目标是PureScript——一种编译成JavaScript的函数式语言——关键是它有一个足够表达的类型系统来提供静态线性保证。我们通过一个基于web的战舰游戏展示了我们方法的有效性,其中通信是通过WebSocket连接进行的。
{"title":"Multiparty Session Type-safe Web Development with Static Linearity","authors":"Jonathan King, Nicholas Ng, N. Yoshida","doi":"10.4204/EPTCS.291.4","DOIUrl":"https://doi.org/10.4204/EPTCS.291.4","url":null,"abstract":"Modern web applications can now offer desktop-like experiences from within the browser, thanks to technologies such as WebSockets, which enable low-latency duplex communication between the browser and the server. While these advances are great for the user experience, they represent a new responsibility for web developers who now need to manage and verify the correctness of more complex and potentially stateful interactions in their application. In this paper, we present a technique for developing interactive web applications that are statically guaranteed to communicate following a given protocol. First, the global interaction protocol is described in the Scribble protocol language -- based on multiparty session types. Scribble protocols are checked for well-formedness, and then each role is projected to a Finite State Machine representing the structure of communication from the perspective of the role. We use source code generation and a novel type-level encoding of FSMs using multi-parameter type classes to leverage the type system of the target language and guarantee only programs that communicate following the protocol will type check. \u0000Our work targets PureScript -- a functional language that compiles to JavaScript -- which crucially has an expressive enough type system to provide static linearity guarantees. We demonstrate the effectiveness of our approach through a web-based Battleship game where communication is performed through WebSocket connections.","PeriodicalId":10720,"journal":{"name":"CoRR","volume":"3 1","pages":"35-46"},"PeriodicalIF":0.0,"publicationDate":"2019-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89099210","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 10
Concurrent Typestate-Oriented Programming in Java Java并发面向类型状态编程
Pub Date : 2019-04-02 DOI: 10.4204/EPTCS.291.3
Rosita Gerbo, L. Padovani
We describe a generative approach that enables concurrent typestate-oriented programming in Java and other mainstream languages. The approach allows programmers to implement objects exposing a state-sensitive interface using a high-level synchronization abstraction that synchronizes methods with the states of the receiver object in which those methods have an effect. An external tool takes care of generating all the boilerplate code that implements the synchronization logic. Behavioral types are used to specify object protocols. The tool integrates protocol conformance verification with the synchronization logic so that protocol violations are promptly detected at runtime.
我们描述了在Java和其他主流语言中实现并发面向类型状态编程的生成方法。该方法允许程序员使用高级同步抽象实现公开状态敏感接口的对象,该抽象将方法与接收方对象的状态同步,这些方法对接收方对象的状态有影响。外部工具负责生成实现同步逻辑的所有样板代码。行为类型用于指定对象协议。该工具将协议一致性验证与同步逻辑集成在一起,以便在运行时及时检测协议违反。
{"title":"Concurrent Typestate-Oriented Programming in Java","authors":"Rosita Gerbo, L. Padovani","doi":"10.4204/EPTCS.291.3","DOIUrl":"https://doi.org/10.4204/EPTCS.291.3","url":null,"abstract":"We describe a generative approach that enables concurrent typestate-oriented programming in Java and other mainstream languages. The approach allows programmers to implement objects exposing a state-sensitive interface using a high-level synchronization abstraction that synchronizes methods with the states of the receiver object in which those methods have an effect. An external tool takes care of generating all the boilerplate code that implements the synchronization logic. Behavioral types are used to specify object protocols. The tool integrates protocol conformance verification with the synchronization logic so that protocol violations are promptly detected at runtime.","PeriodicalId":10720,"journal":{"name":"CoRR","volume":"43 1","pages":"24-34"},"PeriodicalIF":0.0,"publicationDate":"2019-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80942104","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
期刊
CoRR
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1