систему типов, но у пользователя просто неверная модель: он думал, что там моноид, а в реальности там не моноид. И что делать? Вот чего мне не хватает в компиляторах, так это внешней какой-то инструментализации кода. Возможности прицепить логи к изменениям переменных, например. Какие-то условия для анализа стэков вызовов, всякое такое. Такое можно костылить на макросах, но это прям костыли-костыли, и не всегда работает.
Но зачем тут компилятор? Это же самый настоящий e2e-тест - написать требования, запустить программу, насобирать логов или трейсов, сравнить с желаемым
Хочется автоматизировать создание логов, чтобы, условно, не printf-ами.
Обсуждают сегодня