Какие событийно-ориентированные приложения реализованы в Haskell?

Я смотрел на Haskell в последнее время, и это походит на очень хороший способ наблюдать проблемы программирования с альтернативной точки зрения - альтернатива моему обычному императиву (у меня есть сильный фон C++), представление, по крайней мере.

Однако все статьи, которые я вижу, кажется, имеют дело с теми же видами проблем программирования:

  • Синтаксические анализаторы
  • Компиляторы
  • Числовые проблемы вычисления

Я хотел бы дать Haskell попытку сам путем записи некоторого приложения GUI. Следовательно, я задаюсь вопросом: имеет смысл писать событийно-ориентированные системы как графический интерфейсы пользователя на языке функционального программирования как Haskell? Или это - проблемная область, в которой выделяются императивные языки? К сожалению, все еще требуется некоторое время для меня для переключения моего ума на 'функциональный' режим, таким образом, мне нелегко решать argueing против или в пользу использования языка функционального программирования для событийно-ориентированной системы.

Я также интересовался бы примерами приложений GUI (или событийно-ориентированные системы, в целом), которые реализованы в Haskell.

16
задан Frerich Raabe 17 January 2010 в 23:50
поделиться

6 ответов

Вот несколько ключевых слов Google для вас:

15
ответ дан 30 November 2019 в 17:15
поделиться

XMonad - это оконный менеджер X11, написанный в Haskell.

Также, глядя на то, как реализуются различные библиотеки GASkell , могут дать некоторые идеи о том, как в Haskell выполнены интерактивные программы.

5
ответ дан 30 November 2019 в 17:15
поделиться

Взгляна в статью Эта статья Wikibooks , это базовый Учебник WXHASKELL . В частности, см. Раздел .

Я рекомендую тратить некоторое время качественного времени с HASKELL и FP в целом, прежде чем перейти к разработке полноценного применения, чтобы вы могли более ознакомиться с HASKELL, так как он совсем отличается от C ++

3
ответ дан 30 November 2019 в 17:15
поделиться

Вот пример использования epoll для реализации веб-сервера, управляемого событиями: http://haskell.org/haskellwiki/Simple_Servers

4
ответ дан 30 November 2019 в 17:15
поделиться
121 --- 2463759-

XMonad - это управление событиями - см. Основное цикл обработки событий, которая принимает сообщения с X Server X и рассылки к чисто функциональному коду, который, в свою очередь, оказывает усовершенствование на экране.

3
ответ дан 30 November 2019 в 17:15
поделиться

«Функциональное реактивное программирование» уже упоминалось, но может показаться сложным, если вы смотрите на него впервые (и если вы смотрите на несколько продвинутых статей, он будет выглядеть Сложный независимо от того, как долго вы изучали это :-)). Тем не менее, есть несколько очень хороших статей, которые помогут вам понять это:

  • сочинение реактивных анимаций Conal Elliott показывает «библиотеку комбинатора» (общий стиль программирования на функциональных языках) для описания анимации. Он начинается с очень простых примеров, но также показывает более интересную «реактивный» бит во второй части.

  • Ямпа аркада - более развитая демонстрация функционального реактивного программирования. Он использует некоторые расширенные функции Haskell (такие как стрелки), но все еще очень читается. Получение этого на самом деле прогон может быть сложнее, но это отличное чтение.

  • Школа выражения Haskell Paul Hudak - это книга, которая учит Haskell с использованием мультимедиа и графики (включая некоторые анимации и т. Д.). Это отличное чтение, но требуется больше времени, так как это целая книга :-).

Я нахожу свой путь к функциональному программированию через F #, что немного менее «чисто» по сравнению с HASKELL, но он дает вам полный доступ к библиотекам .NET, поэтому легко использовать технологии «реальные» функциональный язык. Если вам интересно, на моем блоге есть пара примеров .

3
ответ дан 30 November 2019 в 17:15
поделиться
Другие вопросы по тегам:

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