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

Функціональна мова програмування


2
Найпростіший спосіб повідомляти про помилки в Haskell
Я працюю над вивченням Haskell, і я зіткнувся з трьома різними способами боротьби з помилками в написаних функціях: Я можу просто написати error "Some error message.", що кидає виняток. Я можу повернути свою функцію Maybe SomeType, де я можу або не зможу повернути те, що хотів би повернути. У мене …

1
Чому у Haskell немає лямбда-абстракцій на рівні?
Чи є якісь теоретичні причини для цього (наприклад, перевірка типу чи умовивід типу стане нерозбірливою) або практичні причини (занадто складно їх правильно реалізувати)? Наразі ми можемо обернути речі newtypeподібними newtype Pair a = Pair (a, a) а потім мати Pair :: * -> * але ми не можемо зробити щось …

2
Перевірка типів та рекурсивні типи (написання комбінатора Y в Haskell / Ocaml)
Коли пояснюється комбінатор Y в контексті Haskell, зазвичай зазначається, що пряма реалізація не перевірить тип в Haskell через його рекурсивного типу. Наприклад, з Rosettacode : The obvious definition of the Y combinator in Haskell canot be used because it contains an infinite recursive type (a = a -> b). Defining …

1
Хаскелл будує і артефактне середовище схоже на Мейвен
Я довго був розробником Java, але нещодавно я приєднався до команди Haskell. У світі java, якщо у вас великий проект, де над ним працюють декілька команд, загальним підходом є використання сервера артефактів, такого як Maven, для полегшення та прискорення розвитку. Численні інструменти збирання, такі як Ant, Maven, Gradle, можуть скласти …

2
Чи можна "викласти розмір у тип" у haskell?
Припустимо, я хочу написати бібліотеку, яка займається векторами та матрицями. Чи можливо розмістити розміри в типи, щоб операції несумісних розмірів генерували помилку під час компіляції? Наприклад, я хотів би, щоб підпис крапкового продукту був чимось подібним dotprod :: Num a, VecDim d => Vector a d -> Vector a d …

3
чи має haskell залежні типи?
Я знаю, що Haskell вже має можливість параметризувати тип над іншим типом (подібно до програмування шаблонів у C ++), але мені цікаво, чи може Haskell параметризувати тип над значеннями - чи підтримує він залежні типи. Залежно від типів ви можете мати тип, параметризований на цілі числа, наприклад, вектори розміру n, …
20 haskell 

3
Як підвищити ефективність функціонального програмування?
Нещодавно я переглядав керівництво Learn You a Haskell for Great Good, і в якості практики я хотів вирішити з ним проблему 5 проекту Euler , в якій вказано: Яке найменше додатне число, яке рівномірно ділиться на всі числа від 1 до 20? Я вирішив спочатку написати функцію, яка визначає, чи …
20 haskell 

4
Чи хороший Haskell в навчанні основ математики?
Заблокований . Це питання та його відповіді заблоковано, оскільки це питання поза темою, але має історичне значення. Наразі не приймає нових відповідей чи взаємодій. Я беру участь у навчанні математики на класах з такими вимогами, як специфікація AS та математика рівня А. Книги класів зазвичай надають приклади програмного забезпечення для …
19 haskell 

1
Огляд веб-рамок Haskell [закрито]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередилось на одній проблемі, лише відредагувавши цю публікацію . Закрито 5 років тому . Існує кілька веб-рамок для Haskell, таких як Happstack , Snap та Yesod , і, мабуть, …

4
Як наполегливість вписується в суто функціональну мову?
Як модель використання командних обробників для боротьби зі стійкістю вписується в суто функціональну мову, де ми хочемо зробити код, пов'язаний з IO, максимально тонким? Під час реалізації дизайну, керованого доменом, на об'єктно-орієнтованій мові, звичайно використовувати шаблон Command / Handler для виконання змін стану. У цьому дизайні обробники команд сидять над …

3
Найшвидша функціональна мова
Я нещодавно заглиблювався у функціональне програмування, особливо Haskell та F #, тим більше. Після деякого гуглювання навколо я не зміг знайти порівняльне порівняння більш помітних функціональних мов (Scala, F # тощо). Я знаю, що це не обов'язково справедливо до деяких мов (на думку Скали), враховуючи, що вони є гібридами, але …

1
Який прогрес у записах Haskell?
Нещодавно я ще раз натрапив на питання записів Haskell, зокрема на унікальність назв полів. (Це біль ...) Я вже читав Пропозицію щодо записів у Haskell від SPJ та Greg Morrisett, але останнє оновлення було у 2003 році. Інший документ під назвою Lightweight Extensible Records для Haskell від SPJ та Mark …

6
Яке саме балансування двійкового дерева ви б рекомендували?
Я вивчаю Хаскелл і як вправу роблю бінарні дерева. Склавши звичайне бінарне дерево, я хочу адаптувати його до самоврівноваження. Так: Що найефективніше? Що найпростіше здійснити? Що найчастіше використовується? Але важливо, що ви рекомендуєте? Я припускаю, що це належить тут, оскільки воно відкрите для дебатів.

3
Чому не існує типового класу для функцій?
У навчальній проблемі, з якою я заплутався, я зрозумів, що мені потрібен типовий клас для функцій із застосуванням, складанням тощо. Причини ... Це може бути зручно ставитись до подання функції, як до самої функції, так що застосування функції неявно використовує інтерпретатор, а складання функцій отримує новий опис. Після того, як …

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