Size: a a a

2020 September 21

A

Aleksandr Khristenko in fprog_spb
Ясно, спасибо.
источник

AV

Alexander Vershilov in fprog_spb
Peter Sovietov
Вот! У меня есть вопрос как раз для этой группы специалистов по ФП!
Почему автор функционального языка Dhall реализовал у себя в ЯП только операции сложения и умножения? Даже вычитание запретил.
ВЫЧИТАНИЕ ЭТО СЛОЖНО
источник

AV

Alexander Vershilov in fprog_spb
(это не шутка)
источник

AI

Andrey Ivanov in fprog_spb
любая обратная операция сложно
источник

PS

Peter Sovietov in fprog_spb
Alexander Vershilov
ВЫЧИТАНИЕ ЭТО СЛОЖНО
Сложно в смысле разрешимости? То есть автор ориентировался на арифметику Пресбургера? :)
источник

AV

Alexander Vershilov in fprog_spb
У него кстати Natural только? (тогда надо тащить доказательства) или Integer тоже есть?
источник

PS

Peter Sovietov in fprog_spb
Integer тоже есть.
источник

PS

Peter Sovietov in fprog_spb
Andrey Ivanov
любая обратная операция сложно
Не для АЛУ процессора :)
источник

AV

Alexander Vershilov in fprog_spb
Кстати, negate для Integer есть
источник

AI

Andrey Ivanov in fprog_spb
использовать встроенное вычитание АЛУ работающее с двоичным представлением чисел - читерство при создании своего ФЯ )
источник

AV

Alexander Vershilov in fprog_spb
источник

AV

Alexander Vershilov in fprog_spb
let example7 = assert : subtract +3 -5 ≡ -8
сразу понятно!
источник

PS

Peter Sovietov in fprog_spb
Alexander Vershilov
Кстати, negate для Integer есть
Да. Я в целом логику автора хочу понять. Он нигде не пишет, что собирается доказывать код на Dhall. Все, что рекламируется — отсутствие проблемы останова.
источник

PS

Peter Sovietov in fprog_spb
Alexander Vershilov
let example7 = assert : subtract +3 -5 ≡ -8
сразу понятно!
Да, операнды перепутаны, чтобы не злоупотребляли!
источник

AV

Alexander Vershilov in fprog_spb
Я кстати не понимаю практический смысл того, что язык не turing complete и программы завершаемы
источник

JS

Jerzy Syrowiecki in fprog_spb
Peter Sovietov
Да, операнды перепутаны, чтобы не злоупотребляли!
не перепутаны, это «вычесть _ из _» как в Хаскеле, для каррирования

(subtract 3) вычитает 3
источник

PS

Peter Sovietov in fprog_spb
Alexander Vershilov
Я кстати не понимаю практический смысл того, что язык не turing complete и программы завершаемы
"Вы же не хотите, чтобы Ваша конфигурация попала в бесконечный цикл?"
источник

AV

Alexander Vershilov in fprog_spb
Да! Я хочу, чтобы она вычисляла конечный цикл время сравнимое со временем жизни вселенной! Ведь это большая разница!
источник

AV

Alexander Vershilov in fprog_spb
Да что там, вычисление в течении часа зачастую неотличимо от бесконечного цикла
источник

JS

Jerzy Syrowiecki in fprog_spb
Alexander Vershilov
Я кстати не понимаю практический смысл того, что язык не turing complete и программы завершаемы
это же для конфигов. запретить писать сложные конфиги, но разрешить абстрагироваться
источник