В Haskell много ажиотажа, однако трудно получить информацию о том, как он используется в реальных приложениях. Какие проекты / использования Haskell наиболее популярны и почему они превосходны в решении этих проблем?
haskell
functional-programming
programming-languages
Серхио Тапиа
источник
источник
Ответы:
Быстрая разработка приложений.
Если вы хотите узнать «почему Haskell?», То вам нужно рассмотреть преимущества функциональных языков программирования (взято с https://c2.com/cgi/wiki?AdvantagesOfFunctionalProgramming ):
Помимо этого у Haskell есть свои преимущества, такие как:
1 / 0
в качестве первого элемента списка, и он все равно будет работать, если вы используете только второй элемент.Вы можете проверить следующие ссылки:
источник
x = 5;
гарантирует, что после его выполненияx
содержит значение5
.operator =
это называется. И это гарантирует, что произойдет, если вы не определитеoperator =
Я думаю, что люди в этом посте упускают самый важный момент для тех, кто никогда не использовал функциональный язык программирования: расширение вашего разума. Если вы новичок в функциональном программировании, то Haskell заставит вас думать так, как вы никогда не думали раньше. В результате ваше программирование в других областях и на других языках улучшится. Как много? Трудно определить количественно.
источник
Есть один хороший ответ на вопрос, для чего хорош язык общего назначения, такой как Haskell: написание программ в целом.
Для чего он используется на практике, у меня есть три подхода к установлению этого:
Указывает, что это хорошо для графики, сетей, системного программирования, структур данных, баз данных, разработки, обработки текста ...
И, наконец, мое мнение о том, в чем оно действительно сильное:
Я надеюсь, что это дает вам представление о том, насколько широк ваш вопрос, если на него нужно ответить с какой-либо конкретностью.
источник
Одним из примеров Haskell в действии является xmonad , «многофункциональный оконный менеджер, содержащий менее 1200 строк кода».
источник
Из Haskell Wiki :
Согласно Википедии, язык Haskell был создан из-за необходимости объединить существующие функциональные языки в общий язык, который можно было бы использовать для будущих исследований в области функционально-языкового проектирования.
Судя по имеющейся информации, очевидно, что он перерос свое первоначальное назначение и используется не только для исследований. В настоящее время считается универсальным функциональным языком программирования.
Если вы все еще спрашиваете себя: «Зачем мне это использовать?», Тогда прочитайте « Зачем его использовать»? раздел Введение в Haskell Wiki.
источник
Haskell - это язык программирования общего назначения. Он может быть использован для всего, что вы используете любой другой язык. Вы ничем не ограничены, кроме своего собственного воображения. Для чего он подходит? Ну, почти все. Есть несколько задач, в которых функциональный язык не превосходит.
И да, я Рейн из Dreamincode. :)
Я также хотел бы отметить, что, если вы не читали страницу Википедии, функциональное программирование - это парадигма, как объектно-ориентированное программирование - это парадигма. На всякий случай, если вы не знали. Haskell также функционален в том смысле, что он работает; это работает довольно хорошо в этом.
Тот факт, что язык не является объектно-ориентированным языком, не означает, что язык ограничен чем-либо. Haskell - это язык программирования общего назначения, и он так же универсален, как и Java.
источник
У меня есть крутой, Facebook создал автоматизированный инструмент для переписывания кода PHP. Они анализируют источник в абстрактном синтаксическом дереве, делают некоторые преобразования:
Я не знаю почему, но это, кажется, их особый стиль, и тогда они довольно печатают его.
https://github.com/facebook/lex-pass
Мы используем haskell для создания небольших специфичных для домена языков. Огромные объемы обработки данных. Веб-разработка. Веб пауки. Тестирование приложений. Написание сценариев системного администрирования. Бэкэнд-скрипты, которые общаются с другими сторонами. Сценарии мониторинга (у нас есть DSL, который прекрасно работает вместе с munin, значительно облегчает написание корректного кода монитора для ваших приложений.)
Все виды вещей на самом деле. Это просто повседневный язык общего назначения с некоторыми очень мощными и полезными функциями, если вы немного склонны к математике.
источник
false
слева, я не вижу смысла в использовании инструмента для его автоматического выполнения: если у вас уже есть==
оператор, то вы уже знаете, что у вас нет ошибки, которую эта часть lex-pass предназначен для ловли, и если у вас есть=
вместо этого нет надежного способа определить, намеренно ли это так или нет.Из Хаскелла :
По сути, Haskell может использоваться для создания практически всего, что вы обычно создаете, используя другие языки общего назначения (например, C #, Java, C, C ++ и т. Д.).
источник
Например, для разработки интерактивных веб-приложений HTML5 в реальном времени. См. Elm , компилятор которого реализован на Haskell и синтаксис которого много заимствует из Haskell.
источник
Это довольно хороший источник информации о Haskell и его использовании:
Открытые исходники Haskell релизы и рост
источник