Design and evaluation of ``space-efficient'' contracts for Racket.
Really the contracts are time and space efficient because they are collapsible (i.e. support a merge operation).
The implementation is based on Michael Greenberg's model of eidetic contracts.
Systematically evaluates the performance of Reticulated.
Introduces a method for approximating the number of D-deliverable
configurations in a benchmark through simple random sampling.
Validates the method with: (1) a tiny bit of statistics, and (2)
by comparing some approximations to the ground truth.
Type systems enforce a syntactic discipline on programmers (language users).
Macros systems let programmers (language designers) change the syntax of their language.
This paper argues that a macro system is an ideal vehicle for implementing type systems.
Gradual type systems need comprehensive performance evaluation, and this evaluation needs to benchmark all ways of gradually typing example programs.
Just checking the fully-untyped and fully-typed versions of a program is not enough!