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

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

4
Каковы убедительные примеры использования зависимых типов методов?
Зависимые типы методов, которые раньше были экспериментальной функцией, теперь включены по умолчанию в магистрали , и, по-видимому, это, похоже, вызвало некоторое волнение в сообществе Scala. На первый взгляд не сразу понятно, для чего это может быть полезно. Хайко Seeberger опубликовал простой пример зависимых типов методов здесь , которые , как …

2
Маленькая программа на Haskell, скомпилированная с помощью GHC, в огромный двоичный файл
Даже тривиально маленькие программы на Haskell превращаются в гигантские исполняемые файлы. Я написал небольшую программу, которая была скомпилирована (с помощью GHC) в двоичный файл размером более 7 МБ! Что может заставить даже небольшую программу на Haskell компилироваться в огромный двоичный файл? Что я могу сделать, чтобы уменьшить это?

8
Как вы представляете граф в Haskell?
Достаточно просто представить дерево или список в haskell, используя алгебраические типы данных. Но как бы вы представили график типографически? Похоже, вам нужны указатели. Я предполагаю, что у вас может быть что-то вроде type Nodetag = String type Neighbours = [Nodetag] data Node a = Node a Nodetag Neighbours И это …

1
Emacs Interactive-Haskell отвечает на отсутствие ответа, если кабала или рабочий каталог установлен на каталог проекта
Я столкнулся со странным поведением с ответом Interactive-Haskell emacs. Когда я загружаю файл, emacsмини-буфер показывает серию интерактивных запросов: Start a new project named 'myproject'? Cabal dir (guessed from myproject.cabal): Build target (empty for default): Set current directory: Если я оставлю либо для каталога cabal, либо для текущего каталога значение по …
124 haskell  emacs  cabal  ghci 

2
Объем памяти типов данных Haskell
Как я могу найти фактический объем памяти, необходимый для хранения значения некоторого типа данных в Haskell (в основном с GHC)? Можно ли оценить его во время выполнения (например, в GHCi) или можно оценить потребности в памяти для составного типа данных по его компонентам? В общем, если требования к памяти типов …

4
foldl против поведения foldr с бесконечными списками
В коде функции myAny в этом вопросе используется foldr. Он прекращает обработку бесконечного списка, когда предикат удовлетворен. Переписал с помощью foldl: myAny :: (a -> Bool) -> [a] -> Bool myAny p list = foldl step False list where step acc item = p item || acc (Обратите внимание, что …

6
Тип Haskell против конструктора данных
Я изучаю Haskell на сайте learnnyouahaskell.com . У меня проблемы с пониманием конструкторов типов и конструкторов данных. Например, я не очень понимаю разницу между этим: data Car = Car { company :: String , model :: String , year :: Int } deriving (Show) и это: data Car a b …
124 haskell 

3
Какова цель читающей монады?
Читательская монада настолько сложна и кажется бесполезной. В императивном языке, таком как Java или C ++, нет эквивалентной концепции для читающей монады, если я не ошибаюсь. Вы можете привести мне простой пример и немного прояснить это?

16
Руководство по Haskell для начинающих? [закрыто]
В его нынешнем виде этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, снова открыть, …

22
Чем полезна ленивая оценка?
Я давно задавался вопросом, чем полезна ленивая оценка. Мне еще предстоит, чтобы кто-нибудь объяснил мне разумным образом; в основном все сводится к «поверь мне». Примечание: я не имею в виду мемоизацию.

3
Сокращенный способ назначения одного поля в записи при копировании остальных полей?
Допустим, у меня есть следующая запись ADT: data Foo = Bar { a :: Integer, b :: String, c :: String } Мне нужна функция, которая принимает запись и возвращает запись (того же типа), где все поля, кроме одного, имеют значения, идентичные значению, переданному в качестве аргумента, например: walkDuck x …
119 haskell  record 

8
Требуется ли для Haskell сборщик мусора?
Мне любопытно, почему реализации Haskell используют GC. Я не могу представить себе случай, когда сборщик мусора был бы необходим на чистом языке. Это просто оптимизация для уменьшения количества копий или это действительно необходимо? Я ищу пример кода, который мог бы протечь, если бы GC не присутствовал.

5
Что означает синтаксис «Just» в Haskell?
Я поискал в Интернете фактическое объяснение того, что делает это ключевое слово. Каждый учебник по Haskell, который я просматривал, просто начинает использовать его случайным образом и никогда не объясняет, что он делает (а я просмотрел многих). Вот базовый фрагмент кода из Real World Haskell, который использует Just. Я понимаю, что …
118 haskell  syntax 

11
Почему минималистичный пример быстрой сортировки Haskell не является «настоящей» быстрой сортировкой?
На веб-сайте Haskell представлена ​​очень привлекательная функция быстрой сортировки из 5 строк , как показано ниже. quicksort [] = [] quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater) where lesser = filter (< p) xs greater = filter (>= p) xs Они также включают «Истинную быструю сортировку в …

5
Haskell: Где vs. пусть
Я новичок в Haskell, и меня очень смущает Where vs. Let . У них обоих, похоже, схожая цель. Я прочитал несколько сравнений между Where и Let, но мне трудно понять, когда использовать каждый. Может ли кто-нибудь предоставить некоторый контекст или, возможно, несколько примеров, демонстрирующих, когда использовать одно вместо другого? Где …
118 haskell  keyword  where  let 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.