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

13
Может ли * любая * задача программы быть выражена без состояния?

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

13
Почему тип опции Scala не называется Maybe, как в Haskell? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Почему тип опции Scala не называется Maybe, как в Haskell? Может быть, для...

13
Как справиться с технологическим «догматизмом»

Я оставил работу (чтобы переехать в другую страну), где большую часть времени я программировал на Javascript и Haskell (немного python). Мне очень понравилось, потому что люди были объективны, позитивны, математичны, и все же сделали кучу вещей. Это был действительно профессиональный магазин....

12
Функционально-реактивное программирование - достаточно ли Fay выразителен?

Так что я делаю довольно сложный клиент javascript / html со множеством вызовов ajax и другими функциями callback-ism. Я развлекаю мысль об использовании Fay для этой цели. Я в курсе Вяза. Попробовал и понравились элементы FRP. Теперь я хочу узнать, возможна ли подобная структура в Fay. Есть ли...

12
ФП для симуляции и моделирования

Я собираюсь начать проект моделирования / моделирования. Я уже знаю, что ООП используется для такого рода проектов. Однако изучение Haskell заставило меня задуматься об использовании парадигмы FP для моделирования системы компонентов. Позвольте мне уточнить: Допустим, у меня есть компонент типа A,...

12
Почему функторы Haskell имеют только производные типы в своей целевой категории?

В Haskell функтор класса типов Functor определяется следующим образом (см., Например, вики Haskell ): class Functor (f :: * -> *) where fmap :: (a -> b) -> f a -> f b Насколько я понимаю (пожалуйста, исправьте меня, если я ошибаюсь), такой функтор может иметь только в качестве целевой...

12
Haskell пути к проблеме 3n + 1

Вот простая проблема программирования от SPOJ: http://www.spoj.com/problems/PROBTRES/ . По сути, вас просят вывести самый большой цикл Коллатца для чисел от i до j. (Цикл Коллатца с числом $ n $ - это число шагов, которые в итоге получатся от $ n $ до 1.) Я искал способ Haskell для решения проблемы...

12
Может ли кто-нибудь объяснить концепцию запоминания Хаскелла?

(обратите внимание, что я задаю вопрос здесь, потому что речь идет о его концептуальной механике, а не о проблеме кодирования) Я работал над небольшой программой, которая использовала последовательность чисел Фибоначчи в ее уравнении, но я заметил, что, если я набрал определенное число, оно стало...

12
Можем ли мы построить функциональный компьютер?

Как и FP, в конце концов, все наши программы структурированы. То есть не имеет значения, насколько чистыми или функциональными мы их создаем - они всегда переводятся в сборку, поэтому то, что на самом деле скрывается за капотами, это инструкции, состояния и циклы. Мы как бы подражаем ФП. Как...

12
Функциональное программирование и алгоритмы с состоянием

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

12
Можно ли доказать, что функция идемпотентна?

Можно ли использовать статические или зависимые типы, чтобы доказать, что функция идемпотентна? Я безуспешно искал в Google и других местах в StackOverflow / StackExchange ответ. Самым близким, что я нашел, был этот разговор о Идрисе: https://groups.google.com/forum/#!topic/idris-lang/yp7vrspChRg К...

11
Эффективность памяти Haskell - какой подход лучше?

Мы реализуем библиотеку сжатия матрицы на основе модифицированного синтаксиса двумерной грамматики. Теперь у нас есть два подхода к нашим типам данных - какой из них будет лучше в случае использования памяти? (мы хотим что-то сжать;)). Грамматики содержат нетерминалы с ровно 4 продукцией или...

11
Какие интуиции поддерживают вызов конструктора Maybe в Haskell «Just»?

Интуиция необязательного типа, подобного этому, Maybe Intзаключается в том, что либо нет Int (то есть он Nothingесть), либо существует некоторое Int; там что-то есть Для меня имеет смысл, что мы вызываем конструктор типов для «отрицательного» случая Nothing, поскольку это означает именно то, что...

11
Пример компоновки программной транзакционной памяти

Одно из главных преимуществ программной транзакционной памяти, которое всегда упоминается, - это возможность компоновки и модульность. Различные фрагменты могут быть объединены для получения более крупных компонентов. В программах, основанных на блокировке, это часто не так. Я ищу простой пример,...

11
Почему конструкторы данных с одинаковыми именами запрещены в конструкторах разных типов?

Следующая декларация выдает ошибку: type Vec2d = (Float, Float) type Vec3d = (Float, Float, Float) -- Rect x y defines a rectangle spanning from (0,0) to (x,y) data Obj2d = Rect Float Float | Translate Vec2d Obj2d -- Cuboid x y z defines a cuboid spanning from (0,0,0) to (x,y,z) data Obj3d = Cuboid...

11
Использование классов типов Haskell для обеспечения коммутативности

Я хочу определить класс типов для геометрических объектов, которые могут пересекаться вместе: class Intersect a b c | a b -> c where intersect :: a -> b -> c -- Language extensions: -XMultiParamTypeClasses, -XFunctionalDependencies Идея состоит в том, чтобы иметь функции пересечения общего...

10
STDOUT и его примеси

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

10
Необходимость изучать расширение языка haskell для производства

Базовый язык Haskell действительно прост. Исходя из опыта OO, основная трудность заключается в адаптации к чисто функциональной парадигме. Изучая «базовый» язык Haskell, я всегда рассматривал языковые расширения как игрушки для людей CS или как эксперименты для будущих версий языка (как from future...

10
Было бы хорошо, если бы я решил написать весь свой Ruby, как если бы это был Haskell?

Учитывая, что у Ruby есть хорошие встроенные возможности работы со списками - уменьшить, отобразить, выбрать, собрать и т. Д. Он имеет Procs, Blocks и Lambdas, и имеет хорошую поддержку итераций ( eachсемейство), было бы плохим решением при разработке, если я попытаюсь написать все мои вещи в Ruby...

10
Типы в Лиспе и Схеме

Теперь я вижу, что у Ракетки есть типы. На первый взгляд кажется, что он почти идентичен печатанию на Haskell. Но CLOS Лиспа покрывает некоторые из типов пространства Хаскеля? Создание очень строгого типа Haskell и объекта на любом языке OO выглядит примерно одинаково. Просто я выпил немного...