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

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

4
Когда мемоизация выполняется автоматически в GHC Haskell?
Я не могу понять, почему m1, по-видимому, мемоизирован, а m2 отсутствует в следующем: m1 = ((filter odd [1..]) !!) m2 n = ((filter odd [1..]) !! n) m1 10000000 занимает около 1,5 секунд при первом вызове и небольшую часть этого времени при последующих вызовах (предположительно, он кэширует список), тогда как …
106 haskell  ghc  memoization 

3
В чем разница между Cabal и Stack?
Вчера я узнал о новом инструменте Haskell под названием Stack . На первый взгляд кажется, что он выполняет ту же работу, что и Кабал. Итак, в чем разница между ними? Является ли стек заменой Кабала? В каких случаях мне следует использовать Stack вместо Cabal? Что может Стэк, чего не может …

2
Что такое класс типов Comonad в Haskell?
Что такое класс типов Comonad в Haskell? Как и в Comonad от Control.Comonad в пакете comonad (также приветствуются объяснения любых других пакетов, которые предоставляют класс типов Comonad). Я смутно слышал о Comonad, но все, что я действительно знаю о нем, - это то, что это обеспечивает extract :: w a …

2
Неустойчивое разрешение типа отверстия
Недавно я обнаружил, что типовые дыры в сочетании с сопоставлением с образцом в доказательствах обеспечивают довольно приятный опыт, подобный Agda, в Haskell. Например: {-# LANGUAGE DataKinds, PolyKinds, TypeFamilies, UndecidableInstances, GADTs, TypeOperators #-} data (==) :: k -> k -> * where Refl :: x == x sym :: a == …


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

4
Инструменты для анализа производительности программы Haskell
Решая некоторые задачи Project Euler для изучения Haskell (так что сейчас я совсем новичок), я столкнулся с проблемой 12 . Я написал это (наивное) решение: --Get Number of Divisors of n numDivs :: Integer -> Integer numDivs n = toInteger $ length [ x | x<-[2.. ((n `quot` 2)+1)], n …

1
Как работает Haskell printf?
Безопасность типов Haskell является второй никто не только к зависимому от типизированных языков. Но с Text.Printf творится какое-то глубокое волшебство, которое кажется довольно нестабильным . > printf "%d\n" 3 3 > printf "%s %f %d" "foo" 3.3 3 foo 3.3 3 В чем заключается глубокая магия этого? Как Text.Printf.printfфункция может …

3
Как деривация работает в Haskell?
Алгебраические типы данных (ADT) в Haskell могут автоматически становиться экземплярами некоторых классов типов (напримерShow,Eq), производя их от них. data Maybe a = Nothing | Just a deriving (Eq, Ord) У меня вопрос: как это derivingработает, т.е. как Haskell знает, как реализовать функции производного класса типов для производного ADT? Кроме того, …

6
Как я могу использовать функциональное программирование в реальном мире? [закрыто]
Закрыто . Этот вопрос должен быть более конкретным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, отредактировав этот пост . Закрыт 5 лет назад . Уточните этот вопрос Функциональные языки хороши тем, что они избегают ошибок, устраняя …

3
Есть ли способ заставить GHC обеспечивать ограничения классов типов для типизированных отверстий?
Текущее поведение Prelude> show _ <interactive>:7:6: Found hole ‘_’ with type: a0 Where: ‘a0’ is an ambiguous type variable Relevant bindings include it :: String (bound at <interactive>:7:1) In the first argument of ‘show’, namely ‘_’ In the expression: show _ In an equation for ‘it’: it = show _ …
103 haskell  types  ghc 


4
Рабочий процесс тестирования Haskell
Я только начал новый проект на Haskell и хотел с самого начала организовать хороший рабочий процесс тестирования. Похоже, что в Haskell есть множество отличных и уникальных инструментов для тестирования и множество различных способов их интеграции. Я изучил: HUnit Быстрая проверка жим лежа HPC сложность Кажется, что все они очень хорошо …
101 testing  haskell 

10
Композиция Haskell (.) Против оператора прямой передачи в F # (|>)
В F # |>довольно часто используется оператор конвейерной передачи ,. Однако в Haskell я видел только использование композиции функций (.). Я понимаю, что они связаны , но есть ли языковая причина, по которой конвейерная передача не используется в Haskell, или это что-то еще?

10
Есть ли в чистых функциональных языках алгоритм для получения обратной функции?
В чистых функциональных языках, таких как Haskell, есть ли алгоритм, позволяющий получить обратную функцию (редактировать), если она биективна? И есть ли какой-то особый способ запрограммировать вашу функцию?

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