Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming最新文献

筛选
英文 中文
Type-level web APIs with Servant: an exercise in domain-specific generic programming 带有Servant的类型级web api:特定领域泛型编程的练习
Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming Pub Date : 2015-08-30 DOI: 10.1145/2808098.2808099
Alp Mestanogullari, Sönke Hahn, Julian K. Arni, Andres Löh
{"title":"Type-level web APIs with Servant: an exercise in domain-specific generic programming","authors":"Alp Mestanogullari, Sönke Hahn, Julian K. Arni, Andres Löh","doi":"10.1145/2808098.2808099","DOIUrl":"https://doi.org/10.1145/2808098.2808099","url":null,"abstract":"We describe the design and motivation for Servant, an extensible, type-level DSL for describing Web APIs. Servant APIs are Haskell types. An API type can be interpreted in several different ways: as a server that processes requests, interprets them and dispatches them to appropriate handlers; as a client that can correctly query the endpoints of the API; as systematic documentation for the API; and more. Servant is fully extensible: the API language can be augmented with new constructs, and new interpretations can be defined. The key Haskell features making all this possible are data kinds, (open) type families and (open) type classes. The techniques we use are reminiscent of general-purpose generic programming. However, where most generic programming libraries are interested in automatically deriving programs for a large class of datatypes from many different domains, we are only interested in a small class of datatypes that is used in the DSL for describing APIs.","PeriodicalId":423582,"journal":{"name":"Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129631325","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}
引用次数: 9
Session types for Rust Rust的会话类型
Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming Pub Date : 2015-08-30 DOI: 10.1145/2808098.2808100
Thomas Bracht Laumann Jespersen, Philip Munksgaard, K. Larsen
{"title":"Session types for Rust","authors":"Thomas Bracht Laumann Jespersen, Philip Munksgaard, K. Larsen","doi":"10.1145/2808098.2808100","DOIUrl":"https://doi.org/10.1145/2808098.2808100","url":null,"abstract":"We present a library for specifying session types implemented in Rust, and discuss practical use cases through examples and demonstrate how session types may be used in a large-scale application. Specifically we adapt parts of the ad-hoc communication patterns in the Servo browser engine to use session typed channels. Session types provide a protocol abstraction, expanding on traditional typed communication channels, to ensure that communication takes place according to a specified protocol. Thus, the library allows us to provide compile-time guarantees of adherence to a specific protocol without incurring significant run-time penalties.","PeriodicalId":423582,"journal":{"name":"Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125329204","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}
引用次数: 64
Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming 第11届ACM SIGPLAN泛型编程研讨会论文集
Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming Pub Date : 2015-08-30 DOI: 10.1145/2808098
P. Bahr, Sebastian Erdweg
{"title":"Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming","authors":"P. Bahr, Sebastian Erdweg","doi":"10.1145/2808098","DOIUrl":"https://doi.org/10.1145/2808098","url":null,"abstract":"","PeriodicalId":423582,"journal":{"name":"Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125345278","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
Datatype generic programming in F# f#中的数据类型泛型编程
Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming Pub Date : 2015-08-30 DOI: 10.1145/2808098.2808101
E. Rodríguez, Wouter Swierstra
{"title":"Datatype generic programming in F#","authors":"E. Rodríguez, Wouter Swierstra","doi":"10.1145/2808098.2808101","DOIUrl":"https://doi.org/10.1145/2808098.2808101","url":null,"abstract":"Datatype generic programming enables programmers to define functions by induction over the structure of types on which these functions operate. This paper presents a library for datatype generic programming in F#, built on top of the .NET reflection mechanism.The generic functions defined using this library can be called by any other language running on the .NET platform.","PeriodicalId":423582,"journal":{"name":"Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming","volume":"34 7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123144432","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}
引用次数: 1
Dependently typed programming with finite sets 有限集的独立类型规划
Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming Pub Date : 2015-08-30 DOI: 10.1145/2808098.2808102
Denis Firsov, Tarmo Uustalu
{"title":"Dependently typed programming with finite sets","authors":"Denis Firsov, Tarmo Uustalu","doi":"10.1145/2808098.2808102","DOIUrl":"https://doi.org/10.1145/2808098.2808102","url":null,"abstract":"Definitions of many mathematical structures used in computer science are parametrized by finite sets. To work with such structures in proof assistants, we need to be able to explain what a finite set is. In constructive mathematics, a widely used definition is listability: a set is considered to be finite, if its elements can be listed completely. In this paper, we formalize different variations of this definition in the Agda programming language. We develop a toolbox for boilerplate-free programming with finite sets that arise as subsets of some base set with decidable equality. Among other things we implement combinators for defining functions from finite sets and a prover for quantified formulas over decidable properties on finite sets.","PeriodicalId":423582,"journal":{"name":"Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128962391","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
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信