Когда я пишу алгоритм, я обычно записываю инварианты в комментариях.
Например, одна функция может возвращать упорядоченный список, а другая ожидает, что список будет заказан.
Я знаю, что существуют теоретические прокси, но у меня нет опыта их использования.
Я также считаю, что интеллектуальный компилятор [sic!] может использовать их для оптимизации программы.
Итак, можно ли записать инварианты и заставить компилятор проверить их?