Partially-static data as free extension of algebras
Autor: | Tamara von Glehn, Jeremy Yallop, Ohad Kammar |
---|---|
Rok vydání: | 2018 |
Předmět: |
Computer science
Algebraic structure String (computer science) 020207 software engineering 02 engineering and technology Extension (predicate logic) Data structure multi-stage compilation Algebra 020204 information systems Free algebra ComputingMethodologies_SYMBOLICANDALGEBRAICMANIPULATION partially-static data Linear algebra universal algebra 0202 electrical engineering electronic engineering information engineering Universal algebra metaprogramming partial evaluation Homomorphism Safety Risk Reliability and Quality Software |
Zdroj: | Yallop, J, von Glehn, T & Kammar, O 2018, ' Partially-Static Data As Free Extension of Algebras ', Proceedings of the ACM on Programming Languages, vol. 2, no. ICFP, 100 . https://doi.org/10.1145/3236795 |
ISSN: | 2475-1421 |
DOI: | 10.1145/3236795 |
Popis: | Partially-static data structures are a well-known technique for improving binding times. However, they are often defined in an ad-hoc manner, without a unifying framework to ensure full use of the equations associated with each operation. We present a foundational view of partially-static data structures as free extensions of algebras for suitable equational theories, i.e. the coproduct of an algebra and a free algebra in the category of algebras and their homomorphisms. By precalculating these free extensions, we construct a high-level library of partially-static data representations for common algebraic structures. We demonstrate our library with common use-cases from the literature: string and list manipulation, linear algebra, and numerical simplification. Supported by the European Research Council grant ‘events causality and symmetry Ð the next- generation semantics’; the Engineering and Physical Sciences Research Council grant EP/N007387/1 ‘Quantum computation as a programming language’, and a Balliol College Oxford Career Development Fellowship |
Databáze: | OpenAIRE |
Externí odkaz: |