Skip to content

Latest commit

 

History

History
112 lines (50 loc) · 3.27 KB

Datasheet.md

File metadata and controls

112 lines (50 loc) · 3.27 KB

Reference

Q. Where can we learn about the programming medium covered by this datasheet? (Feel free to link to multiple kinds of artifacts: repositories, papers, videos, etc. Please also include version information where applicable.)

Q. What is the URL of the version of the benchmark being used?

Q. On what date was this version of the datasheet last updated?

Q. If you are not using the latest benchmark available on that date, please explain why not.

Example Tables

Q. Do tables express heterogeneous data, or must data be homogenized?

Q. Do tables capture missing data and, if so, how? Do missing values affect the output constraints of any operations, for example groupBy?

Q. Are mutable tables supported? Are there any limitations?

You may reference, instead of duplicating, the responses to the above questions in answering those below:

Q. Which tables are inexpressible? Why?

Q. Which tables are only partially expressible? Why, and what’s missing?

Q. Which tables’ expressibility is unknown? Why?

Q. Which tables can be expressed more precisely than in the benchmark? How?

Q. How direct is the mapping from the tables in the benchmark to representations in your system? How complex is the encoding?

TableAPI

Q. Are there consistent changes made to the way the operations are represented?

Q. Which operations are entirely inexpressible? Why?

Q. Which operations are only partially expressible? Why, and what’s missing?

Q. Which operations’ expressibility is unknown? Why?

Q. Which operations can be expressed more precisely than in the benchmark? How?

Example Programs

Q. Which examples are inexpressible? Why?

Q. Which examples’ expressibility is unknown? Why?

Q. Which examples, or aspects thereof, can be expressed especially precisely? How?

Q. How direct is the mapping from the pseudocode in the benchmark to representations in your system? How complex is the encoding?

Errors

There are (at least) two parts to errors: representing the source program that causes the error, and generating output that explains it. The term “error situation” refers to a representation of the cause of the error in the program source.

For each error situation it may be that the language:

  • isn’t expressive enough to capture it
  • can at least partially express the situation
  • prevents the program from being constructed

Expressiveness, in turn, can be for multiple artifacts:

  • the buggy versions of the programs
  • the correct variants of the programs
  • the type system’s representation of the constraints
  • the type system’s reporting of the violation

Q. Which error situations are known to be inexpressible? Why?

Q. Which error situations are only partially expressible? Why, and what’s missing?

Q. Which error situations’ expressibility is unknown? Why?

Q. Which error situations can be expressed more precisely than in the benchmark? How?

Q. Which error situations are prevented from being constructed? How?

Q. For each error situation that is at least partially expressible, what is the quality of feedback to the programmer?

Q. For each error situation that is prevented from being constructed, what is the quality of feedback to the programmer?