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

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

7
Склад функцій Haskell (.) Та функціональних застосувань ($): правильне використання
Я читав Haskell в реальному світі , і я наближаюся до кінця, але питання стилю насміхувало, що стосується операторів (.)та ($)операторів. Коли ви пишете функцію, що є складом інших функцій, ви записуєте її так: f = g . h Але коли ви застосовуєте щось до кінця цих функцій, я записую …

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

4
Що означає символ "@" стосовно посилань на списки в Haskell?
Я натрапив на фрагмент коду Haskell, який виглядає приблизно так: ps@(p:pt) Що означає @символ у цьому контексті? Я не можу знайти будь-яку інформацію в Google (на жаль, важко шукати символи в Google), і я не можу знайти цю функцію в документації Prelude, тому я думаю, що натомість це повинен бути …
127 haskell  syntax 

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) або можливо оцінити потреби в пам'яті складеного типу даних з його компонентів? Загалом, якщо вимоги до пам’яті типів aі bвідомі, яка …

4
згорнути проти поведінки складки з нескінченними списками
Код функції 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 …
119 haskell  record 

8
Чи потрібен Haskell збирач сміття?
Мені цікаво, чому в реалізаціях Haskell використовується GC. Я не можу придумати випадок, коли GC був би необхідний чистою мовою. Це просто оптимізація для зменшення копіювання, чи це насправді необхідно? Я шукаю приклад коду, який би протікав, якщо GC не було.

5
Що означає синтаксис "Просто" у Haskell?
Я обшукав Інтернет, щоб отримати фактичне пояснення того, що робить це ключове слово. Кожен підручник з Haskell, який я переглянув, починає використовувати його випадковим чином і ніколи не пояснює, що це робить (і я переглянув багатьох). Ось базовий фрагмент коду від Real World Haskell, який використовується Just. Я розумію, що …
118 haskell  syntax 

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