Описание тега classy-prelude
Альтернативная прелюдия к Haskell, основанная на классах типов
0
ответов
Новый тип, производный IsSequence
У меня новый тип X, который в основном список Ints. Я использую ClassyPrelude вместо стандартной Prelude и хочу получить класс IsSequence. Это делает необходимым также выводить множество других классов. Расширение языка GeneralizedNewtypeDeriving до…
11 апр '18 в 13:51
3
ответа
Есть ли удобный способ для построения чисел Пеано большего уровня типа с использованием монопересекающихся?
В монопереходном пакете используются числа Пеано уровня типа для MinLen, Я могу построить их, используя цепочку Succs: toMinLen [1,2,3] :: Maybe (MinLen (Succ (Succ Zero)) [Int]) но это быстро выходит из-под контроля toMinLen [1,2,3] :: Maybe (MinLe…
14 фев '15 в 05:15
0
ответов
Как понять требование MonadUnliftIO о том, что "монады без состояния" не нужны?
Я просмотрел https://www.fpcomplete.com/blog/2017/06/tale-of-two-brackets, хотя просматривал некоторые части, и до сих пор не совсем понимаю основную проблему "StateT плохо, IO все в порядке ", кроме смутного понимания, что Haskell позволяет писать …
20 фев '19 в 04:46
1
ответ
Есть ли какая-нибудь замена итерационной функции Prelude в классной прелюдии?
В стандартной прелюдии: Prelude> :t iterate iterate :: (a -> a) -> a -> [a] Тем не менее, в классической прелюдии нет итерации, поэтому я предполагаю, что может быть какая-то более общая функция для выполнения того же самого, возможно, м…
10 янв '17 в 19:46
1
ответ
Yeson.json.object применяется к слишком многим аргументам
import Yesod import Data.Text data App = App instance Yesod App mkYesod "App" [parseRoutes| / Home GET |] getHome :: String -> Handler Value getHome = object ["name" .= ("Adam"::Text)] main = warpDebug 2012 App выдает ошибку как, Couldn't match e…
07 май '15 в 06:07
2
ответа
Не могу понять, почему MonoFoldable для моего типа не компилируется, или сообщение об ошибке
У меня есть следующий код: {-# LANGUAGE NoImplicitPrelude, OverloadedStrings, TypeFamilies #-} module AI.Analysis.Rules where import ClassyPrelude -- Our set of rules data RuleSet a = RuleSet [Rule a] [Rule a] deriving (Eq) mkRuleSet :: (Ord a) =>…
13 янв '16 в 04:11
1
ответ
Первоклассная прелюдия (зав. Головой)
Я пытаюсь преобразовать несколько проектов в classy-prelude в данный момент. В то время как большая часть поведения кажется мне довольно простой, (head . head) дает загадочные ошибки в простом 2D-списке. Рассмотрим следующую сессию GHCi: Prelude>…
25 фев '14 в 22:51
1
ответ
Как записать все исключения в Haskell?
Оригинальное название: Как обращаться с несколькими экземплярами типов исключений при проверке всех исключений? У меня есть следующий импорт (обратите внимание, что моя прелюдия на самом деле ClassyPrelude, которая использует UnliftIO.Exception). Об…
18 фев '19 в 20:38
2
ответа
Есть ли что-то, что мы теряем с MonoFoldable?
MonoFoldable в моно-перемещаемом пакете, кажется, в состоянии реализовать все обычные складные контейнеры и многое другое, например, такие вещи, как Bytestring и однородные кортежи могут быть сделаны MonoFoldable но нет Foldable, Мой вопрос, мы что…
22 сен '16 в 08:56
1
ответ
Как написать функцию "retryForever" в Haskell, используя обработку исключений?
Я хотел бы создать функцию, которая может восстанавливаться после любого количества ошибок, и повторить попытку. Конечно, осмысленная обработка ошибок рассматривается в других частях программы - это последняя попытка сохранить работоспособность. Ита…
24 авг '19 в 00:19
1
ответ
Почему элемент отображается в ошибке типа при использовании Foldable (а не MonoFoldable) в ClassyPrelude?
У меня есть следующая кастомная прелюдия: {-# LANGUAGE DataKinds #-} {-# LANGUAGE RankNTypes #-} module Prelude ( module ClassyPrelude , module Numeric.Units.Dimensional.Prelude , headMay , sec ) where import ClassyPrelude hiding ( (+), (-), (*), (/…
19 ноя '19 в 01:02
1
ответ
Как решить: не удалось сопоставить тип "o" с "элементом mono0"?
При вставке следующего кода из stm-pipeline: mygatherFrom :: (MonadIO m, MonadUnliftIO m) => Int -- ^ Size of the queue to create -> (TBQueue o -> m ()) -- ^ Action that generates output values -> ConduitT () o m () mygatherFrom size sca…
16 июл '20 в 23:01