Вопросы с тегом «haskell»

Функциональный язык программирования

204
Что именно делает систему типов Haskell столь уважаемой (скажем, Java)?

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

95
Что такое шаблон «Свободная монада + переводчик»?

Я видел людей, говорящих о Free Monad с Interpreter , особенно в контексте доступа к данным. Что это за образец? Когда я мог бы хотеть использовать это? Как это работает, и как бы я это реализовал? Я понимаю (из сообщений , таких как это ) , что речь идет о отделяя модели от данных доступа. Чем он...

66
Является ли система типов Haskell формально эквивалентной системе Java? [закрыто]

Я понимаю, что некоторые вещи проще / сложнее в одном языке, чем в другом, но меня интересуют только функции, связанные с типами, которые возможны в одном и невозможны / неактуальны в другом. Чтобы сделать его более конкретным, давайте проигнорируем расширения типов на Haskell, поскольку их так...

63
какова цель стрел?

Я изучаю программирование на языке Haskell и пытаюсь понять концепции, сначала поняв, зачем они мне нужны. Я хотел бы знать цель стрелок в функциональных языках программирования. Какую проблему они решают? Я проверил http://en.wikibooks.org/wiki/Haskell/Understanding_arrows и...

58
Как вы кодируете алгебраические типы данных в C # или Java-подобном языке?

Есть некоторые проблемы, которые легко решаются алгебраическими типами данных, например, тип List может быть очень кратко выражен как: data ConsList a = Empty | ConsCell a (ConsList a) consmap f Empty = Empty consmap f (ConsCell a b) = ConsCell (f a) (consmap f b) l = ConsCell 1 (ConsCell 2...

52
Как вы разрабатываете программы на Haskell или других функциональных языках программирования?

У меня есть некоторый опыт работы с объектно-ориентированными языками программирования, такими как c # или ruby. Я знаю, как проектировать программу в объектно-ориентированном стиле, как создавать классы и объекты и как определять отношения между ними. Я также знаю некоторые шаблоны дизайна. Как...

47
Есть ли недостатки или проблемы с Haskell?

Я смотрю на погружение в Haskell для моего следующего (относительно тривиального) личного проекта. Причины, по которым я занимаюсь Haskell: Получить мою голову на чисто функциональный язык Скорость. Хотя я уверен, что с этим можно поспорить, из-за того, что я видел гвозди на Haskell, близкие к C ++...

46
Критика монады IO, рассматриваемой как государственная монада, действующая в мире

IOМонады в Haskell часто объясняется как государственной монады , где государство является мир. Таким образом, значение типа IO amonad рассматривается как нечто подобное worldState -> (a, worldState). Некоторое время назад я прочитал статью (или сообщение в блоге / списке рассылки), в которой...

43
Почему (или почему нет) экзистенциальные типы считаются плохой практикой в ​​функциональном программировании?

Какие методы я мог бы использовать для последовательного рефакторинга кода, удаляя зависимость от экзистенциальных типов? Как правило, они используются, чтобы дисквалифицировать нежелательные конструкции вашего типа, а также разрешить потребление с минимальными знаниями о данном типе (или мое...

41
Каковы преимущества использования LISP и Haskell? Они сделают меня лучшим программистом? [закрыто]

Я знаю, что Lisp и Haskell являются логическими и функциональными языками программирования соответственно, но что именно это означает? Чем они отличаются от других языков? Я слышал, что их изучение сделает вас лучшим программистом и улучшит вашу логику. Это правда, и если я пойду изучать Lisp или...

40
Haskell и Lisp против Haskell или Lisp [закрыто]

В настоящее время я пишу код на C, C ++ и Python. Я хочу выбрать функциональный язык программирования, и сейчас я склоняюсь к Хаскеллу. Я НЕ хочу начинать здесь войну "Haskell vs Lisp"; что я хочу знать, так это: если я изучу Haskell, прежде всего, для ознакомления с функциональным...

39
Заблуждения о чисто функциональных языках?

Я часто сталкиваюсь со следующими утверждениями / аргументами: Чисто функциональные языки программирования не допускают побочных эффектов (и поэтому практически бесполезны, поскольку любая полезная программа имеет побочные эффекты, например, когда она взаимодействует с внешним миром). Чистые...

38
Современные языки все еще используют генераторы парсеров?

Я исследовал о наборе компиляторов GCC на википедии здесь , когда это придумал: GCC начал использовать парсеры LALR, сгенерированные с помощью Bison, но постепенно переключился на рукописные парсеры с рекурсивным спуском; для C ++ в 2004 году и для C и Objective-C в 2006 году. В настоящее время все...

37
«Доказательство - это программа; формула, которую он доказывает, является типом для программы »

Это может быть философский вопрос, но я считаю, что на него есть объективный ответ. Если вы читаете статью в Википедии о Haskell, вы можете найти следующее: Этот язык основан на наблюдениях Хаскелла Карри и его интеллектуальных потомков, что «доказательство - это программа; формула, которую он...

36
Почему комитет Haskell выбрал монады для представления ввода / вывода?

Чистый язык использует уникальность типов для обработки ввода / вывода в чисто функциональном назначении. Почему комитет Хаскелла пошел с монадами вместо этого? Были ли другие предложения по обращению с государством, которые комитет расследовал, но отклонил? Примечание : я не ищу священную войну...

36
Схема против Haskell для введения в функциональное программирование?

Я знаком с программированием на C и C # и буду изучать C ++ в будущем. Меня может заинтересовать изучение функционального программирования как другой парадигмы программирования. Я делаю это для удовольствия, моя работа не связана с компьютерным программированием, и меня несколько вдохновляет...

36
Каковы функциональные эквиваленты операторов обязательного разрыва и других проверок цикла?

Допустим, у меня есть логика ниже. Как написать это в функциональном программировании? public int doSomeCalc(int[] array) { int answer = 0; if(array!=null) { for(int e: array) { answer += e; if(answer == 10) break; if(answer == 150) answer += 100; } } return answer; } Примеры в большинстве блогов,...

33
Является ли система типов Haskell препятствием для понимания функционального программирования? [закрыто]

Я изучаю Haskell с целью понимания функционального программирования, ожидая, что я буду применять полученные знания на других языках (в основном Groovy, Python, JavaScript). Я выбрал Haskell, потому что у меня сложилось впечатление, что он очень чисто функциональный и не допускает никакой...

30
Haskell против Erlang для веб-сервисов

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

30
Применение денотационной семантики для проектирования программ

Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 6 лет назад . Я читал немного о денотационной семантике (DS), и я очень заинтригован процессом разработки компьютерных программ, где типы и функции имеют четкое и...