Запитання з тегом «haskell»

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

3
Чому Хаскелла (іноді) називають «найкращою імперативною мовою»?
(Сподіваюся, це запитання є тематичним - я намагався знайти відповідь, але не знайшов остаточної відповіді. Якщо це трапляється поза темою або на нього вже відповіли, будь ласка, модеруйте / видаліть його.) Я пам’ятаю, що кілька разів чув / читав напівжартома коментар про те, що Хаскелл є найкращою імперативною мовою , …

4
Хаскелл на JVM?
Цікаво, чи є якийсь спосіб змусити Haskell працювати на JVM (скомпільований чи інтерпретований)? Існує JHaskell на Sourceforge, але цей, здається, порожній і мертвий. GHC використовує LLVM як бекенд компілятора. Це була б гарна ідея чи можливість скомпілювати LLVM до байт-коду Java? Або, можливо, використовувати інший інтерфейс компілятора?

3
Haskell: ліфт проти liftIO
У яких ситуаціях слід liftIOвикористовувати? Коли я використовую ErrorT String IO, liftфункція працює, щоб підняти дії вводу- виводу ErrorT, тому liftIOздається зайвою.

5
Конкретний приклад, що монади не закриваються за складом (з доказом)?
Загальновідомо, що аплікативні функтори закриті під композицією, але монади - ні. Однак у мене були проблеми з конкретним контраприкладом, який показує, що монади складаються не завжди. Ця відповідь наводить [String -> a]як приклад немонади. Трохи погравши з цим, я вірю в це інтуїтивно, але ця відповідь просто говорить: "приєднання не …

3
Як надати явні оголошення типу для функцій при використанні GHCi?
Як визначити еквівалент цієї функції (взятої з Learnyouahaskell ) всередині GHCi? import Data.List numUniques :: (Eq a) => [a] -> Int numUniques = length . nub Без оголошення типу GHCi приймає визначення функції, але воно закінчується безпомилковим типом: Prelude Data.List> import Data.List Prelude Data.List> let numUniques' = length . nub …

6
Що означають «реіфікація» та «реіфікація» в контексті (функціонального?) Програмування?
Я багато читаю цей термін у блогах про haskell та функціональне програмування (особливо в блозі sigfpe ), але я не маю уявлення про те, що це означає. Я в більшості випадків виходжу з того, що не знаю цього, але, мабуть, я б набагато краще розумів тексти, якби знав. Google мені …

4
Як я можу видалити версію пакета Cabal?
Happstack Lite ломить мене, тому що він отримує blaze-html версію 0.5 і хоче версію 0.4. Кабал каже, що встановлені обидві версії 0.4.3.4 та 0.5.0.0. Я хочу видалити 0.5.0.0 і використовувати лише стару версію. Але у cabal немає команди "видалити", і коли я намагаюся ghc-pkg unregister --force blaze-html, ghc-pkgкаже, що моя …
82 haskell  ghc  cabal 

4
Чому цей код Haskell видає помилку "нескінченний тип"?
Я новачок у Haskell і стикаюся з помилкою "неможливо побудувати нескінченний тип", яку я не можу зрозуміти. Насправді, крім цього, я не зміг знайти хорошого пояснення того, що ця помилка навіть означає, тому, якщо ви могли б вийти за рамки мого основного запитання та пояснити помилку "нескінченний тип", я б …

1
Що таке поліморфізм Левіті
Як вказує назва заголовка, я хочу знати, що таке поліморфізм Левіті і яка його мотивація? Я знаю, що на цій сторінці є деякі подробиці, але більшість пояснень там викладаються вгорі. :) Незважаючи на те, що ця сторінка дещо привітніша, я все ще не можу зрозуміти мотивацію, яка стоїть за нею.
81 haskell 


3
Комони на блискавках, загалом
Враховуючи будь-який тип контейнера, ми можемо сформувати блискавку (орієнтовану на елементи) і знати, що ця структура є комонадою. Це нещодавно було детально досліджено в іншому запитанні щодо переповнення стеку для наступного типу: data Bin a = Branch (Bin a) a (Bin a) | Leaf a deriving Functor на наступній блискавці …

5
Що таке екосистема для веб-розробки Haskell? [зачинено]
В даний час це питання не підходить для нашого формату запитань та відповідей. Ми очікуємо, що відповіді будуть підтверджені фактами, посиланнями чи експертизою, але це питання, швидше за все, вимагатиме дебатів, аргументів, опитування чи розширеного обговорення. Якщо ви вважаєте, що це питання можна покращити і, можливо, знову відкрити, відвідайте довідковий …
80 haskell 

2
Функціональні лінзи
Хтось може пояснити мені функціональні лінзи? Це напрочуд важка тема для гуглу, і я не просунувся. Мені відомо лише те, що вони надають подібну функціональність get / set, ніж у OO.

5
Data.Text проти String
Хоча загальна думка спільноти Haskell така, що завжди краще використовувати Textзамість цього String, той факт, що все-таки API більшості підтримуваних бібліотек Stringорієнтований, мене бентежить. З іншого боку, є помітні проекти , які Stringвзагалі розглядаються як помилки і забезпечують Preludeусі екземпляри String-орієнтованих функцій, замінених на Text-подібні. Тож чи існують причини для …
80 string  haskell  text 

2
Розділіть Int на Int і поверніть Int
Мені потрібна функція, яка отримує два Ints ( aі b) і повертається A/Bяк Int. Я впевнений, що A/Bце завжди буде цілим числом. Ось моє рішення: myDiv :: Int -> Int -> Int myDiv a b = let x = fromIntegral a y = fromIntegral b in truncate (x / y) …
79 haskell  int 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.