![]() |
![]() |
University of Birmingham > Talks@bham > Theoretical computer science seminar > Primrose: Selecting Container Data Types by their Properties
Primrose: Selecting Container Data Types by their PropertiesAdd to your list(s) Download to your calendar using vCal
If you have a question about this talk, please contact George Kaye. Zoom details
Abstract Container data types such as sets, lists, and trees, represent collections of data that, are commonly used in computer programs. Much work have been done in the past decades to design better abstraction, improve performance and verify correctness for container data types. However, one crucial problem still exists. Currently, when choosing a container data type, programmers can not choose an abstract container only based on the desired container’s behaviours, but they must choose a concrete implementation of that abstract container as well. For example, instead of being able to request a container with unique elements, programmers must choose between possible implementation such as trees or hash sets. One serious drawback is that the chosen concrete implementation cannot provide the desirable performance or memory efficiency in all usage scenarios. Also, the portability of programs is limited as one concrete implementation might only have optimised performance for certain hardware systems. To resolve this problem, we present Primrose, a language-agnostic tool allowing: 1) programmers to specify expected behaviours of a container in a program instead of how the container is implemented as property specifications; 2) the compiler to select all implementations from a container library where their library specifications match the desired property specifications; 3) a best implementation for the program to then be chosen automatically. In this talk, I will present the status of our ongoing work. I will demonstrate how an application developer can specify desired properties of container types in our system, how a library developer provides a specification of container implementations, and how Primrose is able to select the valid container implementations that satisfy the desired properties. This talk is part of the Theoretical computer science seminar series. This talk is included in these lists:
Note that ex-directory lists are not shown. |
Other listsAlgebra Reading Group on Sporadic Groups Artificial Intelligence and Natural Computation seminars Midlands Logic SeminarOther talksUltrafast, all-optical, and highly efficient imaging of molecular chirality Quantum simulations using ultra cold ytterbium Perfect matchings in random sparsifications of Dirac hypergraphs Sensing and metrology activities at NPL, India Modelling uncertainty in image analysis. Hodge Theory: Connecting Algebra and Analysis |