Существует ли визуальный язык моделирования или стиль для парадигмы функционального программирования?

В моем случае я использую Linux Mint, но я предполагаю, что все репозитории в этой OS являются все еще тем же как в Ubuntu, Используя майя Linux Mint (Ubuntu 12.04, эквивалентная в точном), я следовал за этим форумом

http://forums.linuxmint.com/viewtopic.php?f=42&t=102602

, Так как Nvidia-96 не доступен ни на каких старших версиях (точный и верхний, я предполагаю), на этом форуме, они пытались получить пакет Nvidia к более низкой (сновещательной) версии человечности и использовать его для их текущей ОС и понизить их Xorg до сновещательного.

Теперь эти шаги все еще работают в моей системе, и я использую сновещательный nvidia-96. Nvidia-173 также доступен сновещательному репозиторию. Но прочитайте все рекомендации в ссылке выше для предотвращения проблем.

42
задан jcolebrand 21 June 2012 в 18:08
поделиться

5 ответов

Мы используем средства доказательства теорем для формального моделирования (с проверкой), такие как Isabelle или Coq. Иногда мы используем предметно-зависимые языки (например, Cryptol) для проектирования высокого уровня, прежде чем выводить реализацию Haskell «низкого уровня».

Часто мы просто используем Haskell в качестве языка моделирования и получаем фактическую реализацию путем переписывания.

21
ответ дан 26 November 2019 в 23:21
поделиться

Я считаю, что язык моделирования для Haskell называется « math ». Его часто преподают в школах.

43
ответ дан 26 November 2019 в 23:21
поделиться

Да, Haskell.

У меня сложилось впечатление, что программисты, использующие функциональные языки, не чувствуют необходимости упрощать свой выбор языка, когда думают о своем дизайне, что является одним (скорее glib) способ просмотра того, что UML делает для вас.

13
ответ дан 26 November 2019 в 23:21
поделиться

Я посмотрел несколько видеоинтервью и прочитал несколько интервью с Эриком Мейером и Саймоном Пейтон-Джонсом. Похоже, что когда дело доходит до моделирования и понимания проблемной области, они используют сигнатуры типов, особенно функциональные сигнатуры.

Диаграммы последовательностей (UML) могут быть связаны с составом функций. Статическая диаграмма классов (UML) может быть связана с сигнатурами типов.

6
ответ дан 26 November 2019 в 23:21
поделиться

В Haskell вы моделируете по типам.

Просто начните с написания ваших сигнатур функций, классов и данных без какой-либо реализации и попытайтесь подогнать типы. Следующий шаг - QuickCheck.

Например. для моделирования сортировки:

class Ord a where
    compare :: a -> a -> Ordering

sort :: Ord a => [a] -> [a]
sort = undefined

затем тесты

prop_preservesLength l = (length l) == (length $ sort l)
...

и, наконец, реализация ...

5
ответ дан 26 November 2019 в 23:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: