Collection Skeletons: Declarative Abstractions for Data Collections
Research PaperIn Person
Modern programming languages provide programmers with rich abstractions for data collections as part of their standard libraries, e.g. Containers in the C++ STL, the Java Collections Framework, or the Scala Collections API. Typically, these collections frameworks are organised as hierarchies that provide programmers with common abstract data types (ADTs) like lists, queues, and stacks. While convenient, this approach introduces problems which ultimately affect application performance due to users over-specifying collection data types limiting implementation flexibility.
In this paper, we develop Collection Skeletons which provide a novel, declarative approach to data collections. Using our framework, programmers explicitly select properties for their collections, thereby truly decoupling specification from implementation. By making collection properties explicit immediate benefits materialise in form of reduced risk of over-specification and increased implementation flexibility.
We have prototyped our declarative abstractions for collections as a C++ library, and demonstrate that benchmark applications rewritten to use Collection Skeletons incur little or no overhead. In fact, for several benchmarks, we observe performance speedups (on average between 2.57 to 2.93, and up to 16.37) and also enhanced performance portability across three different hardware platforms.
Tue 6 DecDisplayed time zone: Auckland, Wellington change
15:30 - 17:10
|Collection Skeletons: Declarative Abstractions for Data CollectionsResearch PaperIn Person|
Björn Franke University of Edinburgh, Zhibo Li University of Edinburgh, Magnus Morton Huawei, Michel Steuwer University of EdinburghDOI
|iCoLa: A Compositional Meta-language with Support for Incremental Language DevelopmentResearch PaperIn Person|
|BatakJava: An Object-Oriented Programming Language with VersionsResearch PaperIn Person|
Luthfan Anshar Lubis Tokyo Institute of Technology, Yudai Tanabe Tokyo Institute of Technology, Tomoyuki Aotani Mamezou, Hidehiko Masuhara Tokyo Institute of TechnologyDOI
|Yet Another Generating Method of Fluent Interfaces Supporting Flat- and Sub-chaining StylesVirtualResearch Paper|
Tetsuro Yamazaki University of Tokyo, Tomoki Nakamaru University of Tokyo, Shigeru Chiba University of TokyoDOI