Как стать автором
Обновить
1
0
Дмитрий @dima_mendeleev

Пользователь

Отправить сообщение

Верифицированный QuickSort на Agda

Время на прочтение11 мин
Количество просмотров9.6K
Доброго времени суток, уважаемый хабраюзер!

Прочитав несколько книг по типизированному лямбда исчислению, а именно по зависимым типам, увидел интересную закономерность: везде первым примером приводится определение типа «отсортированный список». Все бы хорошо, но дальше этого определения ничего не было. Вот я и придумал восполнить этот пробел и реализовать функцию, принимающую список, и возвращающую другой список и два доказательства. Одно доказывает, что результат — это перестановка входа, а другое доказывает, что результат — отсортированный список.
Поехали!
Всего голосов 32: ↑31 и ↓1+30
Комментарии24

Самый правильный безопасный printf

Время на прочтение8 мин
Количество просмотров12K
Под катом Вас ждет увлекательная история о том, как я сильно расстроился, познакомившись поближе с пользовательскими литералами (с нового стандарта), но при этом в последствии все же реализовал вышеупомянутую функцию, а также разобрался с constexpr, а позже еще и реабилитировал те самые литералы.
Читать дальше →
Всего голосов 68: ↑62 и ↓6+56
Комментарии36

C++ Variadic templates. Каррирование и частичное применение

Время на прочтение7 мин
Количество просмотров6.5K
Доброго времени суток, уважаемое Хабрасообщество.
Недавно приходилось наблюдать дискуссию о каррировании и частичном применении. Суть этой полемики состояла в том, что лучше, для практических целей, иметь в языке программирования: встроенное частичное применение (например, как в Nemerle) или встроенное каррирование (как, например, в Haskell).
Читать дальше →
Всего голосов 29: ↑25 и ↓4+21
Комментарии62

Информация

В рейтинге
Не участвует
Откуда
Украина
Зарегистрирован
Активность