// readme

Tempore Language

Tempore (as in in tempore, Latin for “in good time”) is a prototype programming language that combines graded modal types with graded effects to specify and statically verify temporal properties of resources that programs manipulate, such as that a resource is used only when its type-based specification deems it safe. These properties are checked automatically by a typechecker based on Hindley–Milner style type and grade inference.

Tempore grew out of Temporal Millet, which was implemented in Joosep Tavits’s Master’s thesis at the University of Tartu (code, thesis).

Most notably, Tempore adds to Temporal Millet the following:

  1. temporally graded algebraic effects and effect handlers that are guaranteed to respect the temporal specifications of operation signatures,
  2. general resource grades in place of only…