LINUX.ORG.RU

Как на Standard ML в наше время создают программы с доказанной надёжностью?

 ,


0

3

Привет. Заинтересовался я функциональным программированием и математически верифицированным кодом, и конечно же, моё внимание привлек SML.

Но, во первых, мне не очевидно, какая реализация этого языка является наиболее аткуальной сейчас, позволяет создавать приложения, пригодные для использования в жизни, и при том строго соответствующей Определению.

Во вторых, мне не совсем ясно, что даёт формальная верификация. Как я понимаю, она означает соответствие программы алгоритму. Но ведь программный код и есть алгоритм, значит, если писать алгоритм сразу на ЯП, то необходимость в верификации отпадает, разве не так?

Хотелось бы на каком-то практическом примере разобрать этот вопрос.

ПС: математика - не мой профиль, так что если какие-то мат.теории нужно обязательно изучить для понимания сабжа - скажите.

Насколько я понимаю, standard ML для этого недостаточен.

Но если тебе интересны языки этой группы, то советую посмотреть на OCaml и Coq соответственно.

А верификация — это примерно как ты пишешь код два раза разными способами.

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

Насколько я понимаю, standard ML для этого недостаточен.

Для чего, для написания софта? Какие у вас аргументы?

советую посмотреть на OCaml и Coq соответственно.

Они строго соответствуют Определению? Иначе ж сабж теряет смысл

А верификация — это примерно как ты пишешь код два раза разными способами.

И что это даёт?

russian-turist-2019
() автор топика

В некоторых местах используется SPARK - разновидность языка Ada.

Deleted
()

Верифицированные программы создаются на Frama-C и вышеупомянутом SPARK. Думаю, что SML целевую аудиторию не интересует.

tailgunner ★★★★★
()

Пиши в Isabelle/HOL, транслируй в SML

buddhist ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.