You may implement this later: Cofunctors as partial implementations
Vincent Wang-Maścianica
Abstract
A functor is a familiar model of an implementation, where every operation in a specification is assigned a concrete instantiation at the outset. But some tasks are less eager: we often want to assemble systems while leaving backend choices such as data representations and algorithms for later. We observe that cofunctors admit a direct reading as such partial implementations, which are implementations whose extra argument is a state-dependent family of deferred choices. While cofunctors (also called retrofunctors) are not novel, their conceptual and purposive reading in this manner appears to be
Create a lesson
Related papers
Tacet: A Language and Type System for Automatic Statistical Validity Accounting
Chiké Abuah
Direct Manipulation and Natural Language Programming, Together at Last?
Parker Ziegler, David Minh-Duy Cao, Justin Lubin et al.
A Programming Paradigm for Spatiotemporal Composability
Yifan Shi, Wei Zhang, Tianyi Cui
MGQL: An Executable, Small-Step Semantics of GQL
Aditya Thimmaiah, Tong-Nong Lin, Milos Gligoric
NoC-Out: A Formally-verified Network-on-Chip Library for Rule-based Hardware Designs
Max Kurze, František Farka, Sebastian Ertel
IncSFS: Incremental Full-Sparse Flow-Sensitive Pointer Analysis for C/C++
Kunlin Liu, Zhenbang Chen, Piyi Zu et al.