B2T2: Brown Benchmark for Table Types version 0.2

Main Authors: Kuang-Chen Lu, Ben Greenman, Shriram Krishnamurthi
Format: info software
Bahasa: eng
Terbitan: , 2021
Subjects:
Online Access: https://zenodo.org/record/5496252
Daftar Isi:
  • The purpose of the benchmark is to serve as a focal point for research on type systems for tabular programming. To this end, we have collected a set of table operations that is sufficient for many tasks and have annotated these operations with precise constraints for type systems to strive for. In addition to this central Table API, the benchmark has four auxiliary components to validate the end-to-end experience of a proposed type system: 1. _What is a Table?_ A definition of tables. The definition gives candidate type systems a common starting point. 2. _Example Tables_ A set of example datasets. These are mainly used to illustrate the behavior of operations in other components of B2T2, but also concretize some expressiveness challenges. 3. _Table API_ An API of tabular operations with detailed type constraints. The constraints are intentionally writted in English to set goals for type system designers in a neutral manner. 4. _Example Programs_ A set of short programs that use the table operations. Each program raises specific typing questions, such as how to iterate over the numeric columns in a table. 5. _Errors_ A set of buggy programs with explanations that describe the exact bug in the program. The challenge for a type system is to provide accurate, and ideally actionable, feedback. The benchmark is described further in a paper to appear in Programming 6.2: _Types for Tables: A Language Design Benchmark_