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

262
Что означает восклицательный знак в декларации Haskell?

Я натолкнулся на следующее определение, пытаясь изучить Haskell, используя для этого реальный проект. Я не понимаю, что означает восклицательный знак перед каждым аргументом, и мои книги, похоже, не упоминали об этом. data MidiMessage = MidiMessage !Int...

257
Получение ассоциированных синонимов типов с шаблоном Haskell

Может ли Template Haskell узнать имена и / или объявления синонимов связанных типов, объявленных в классе типов? Я ожидал, reifyчто сделаю то, что хочу, но, похоже, он не предоставляет всей необходимой информации. Он работает для получения сигнатур типов функций: % ghci GHCi, version 7.8.3:...

252
Что такого плохого в шаблоне Haskell?

Кажется, что шаблон Haskell часто рассматривается сообществом Haskell как неприятное удобство. Трудно выразить словами то, что я наблюдал в этом отношении, но рассмотрим эти несколько примеров. Шаблон Haskell указан в разделе «Гадкий (но необходимый)» в ответ на вопрос: Какие расширения Haskell...

247
Почему Haskell (GHC) так чертовски быстр?

Haskell (с GHCкомпилятором) работает намного быстрее, чем вы ожидаете . При правильном использовании он может приблизиться к языкам низкого уровня. (Любимая вещь для Haskellers - попытаться получить в пределах 5% от C (или даже побить его, но это означает, что вы используете неэффективную программу...

231
Сравнение веб-фреймворков Haskell's Snap и Yesod

Недавно в новостях появились две веб-платформы Haskell: Yesod (0,8) и Snap (0,4). Совершенно очевидно, что в настоящее время Yesod поддерживает гораздо больше функций, чем Snap. Тем не менее, я не выношу синтаксис, используемый Yesod для его HTML, CSS и Javascript. Итак, я хотел бы понять, чего бы...

230
Haskell: списки, массивы, векторы, последовательности

Я изучаю Haskell и читаю пару статей, касающихся различий в производительности списков Haskell и массивов (вставьте свой язык). Будучи учеником, я, очевидно, просто использую списки, даже не задумываясь о разнице в производительности. Я недавно начал исследовать и нашел множество библиотек структур...

217
Каков ответ Haskell на Node.js?

Я полагаю, что сообщество Erlang не завидует Node.js, поскольку оно изначально не блокирует ввод-вывод и имеет способы легко масштабировать развертывания на более чем один процессор (что даже не встроено в Node.js). Более подробная информация на...

216
Запуск программы на Haskell в ОС Android

Примечание: это расширение потока, запущенного в / r / haskell Начнем с фактов: Android - это потрясающая операционная система Haskell - лучший язык программирования на планете Поэтому, очевидно, что их объединение сделало бы разработку Android намного лучше. По сути, я просто хотел бы знать, как я...

212
Когда -XAllowAmbiguousTypes подходит?

Недавно я опубликовал вопрос о синтаксической версии 2.0 относительно определения share. У меня было это работает в GHC 7.6 : {-# LANGUAGE GADTs, TypeOperators, FlexibleContexts #-} import Data.Syntactic import Data.Syntactic.Sugar.BindingT data Let a where Let :: Let (a :-> (a -> b) :->...

210
Хорошие примеры не функтор / функтор / аппликатив / монада?

Объясняя кому-то, что такое класс типов X, я стараюсь найти хорошие примеры структур данных, которые в точности X. Итак, я прошу примеры для: Конструктор типа, который не является Functor. Конструктор типа, который является Functor, но не Applicative. Конструктор типа, который является...

204
Существуют ли произносимые имена для распространенных операторов Haskell? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 2 года назад . Улучшить этот вопрос Я читаю Learn You a Haskell для большого блага , и я...

193
Чтение GHC Core

Ядро является промежуточным языком GHC. Чтение Core может помочь вам лучше понять производительность вашей программы. Кто-то попросил у меня документацию или учебные пособия по чтению Core, но я не мог найти много. Какая документация доступна для чтения GHC Core? Вот что я нашел до сих пор: Пишите...

183
Какую оптимизацию можно ожидать от GHC?

У GHC есть много оптимизаций, которые он может выполнить, но я не знаю, чем они все являются, и какова вероятность их выполнения и при каких обстоятельствах. Мой вопрос: какие преобразования я могу ожидать, чтобы они применялись каждый раз или почти так? Если я смотрю на фрагмент кода, который...

173
линзы, fclabels, data-accessor - какая библиотека для доступа к структуре и мутации лучше

Существует как минимум три популярные библиотеки для доступа к полям записей и управления ими. Те, о которых я знаю, это: средство доступа к данным, флейбелы и линзы. Лично я начал с доступа к данным и сейчас ими пользуюсь. Однако недавно в haskell-cafe появилось мнение, что fclabels лучше. Поэтому...

172
Почему побочные эффекты смоделированы как монады в Haskell?

Кто-нибудь может дать несколько советов о том, почему нечистые вычисления в Хаскеле моделируются как монады? Я имею в виду, что монада - это просто интерфейс с 4 операциями, так что же было причиной для моделирования побочных эффектов в ней?...

163
Как разбить строку в Haskell?

Есть ли стандартный способ разбить строку в Haskell? linesи wordsотлично работает от разделения на пробел или новую строку, но наверняка есть стандартный способ разделения на запятую? Я не смог найти его в Google. Чтобы быть конкретным, я ищу что-то, где split ","...