В Haskell тип Maybe инкапсулирует необязательное значение.
1 ответ

Попытка понять, возможно, Монады, используя LiveScript

Я пытаюсь понять монады лучше. Это минимальная реализация Правильного Монады? Maybe = (value) -> @value = value Maybe.prototype.ret = -> @value Maybe.prototype.bind = (fn) -> if not (@value is null) return fn @value @value Maybe.prototype.l…
02 июн '16 в 01:11
2 ответа

Почему тип Maybe переносит свое значение в списке?

Я прохожу через Learnyouahaskell, отличную книгу, и я в главе о типах классов. Вот вопрос. В GHCi когда я вхожу fmap (++ "String to be appended to") ("I am a basic string, not a type constructor") Я получаю ошибку Couldn't match type ‘Char’ with ‘[C…
16 июл '15 в 21:07
1 ответ

Монадный трансформатор стекается с MaybeT и RandT

Я пытаюсь узнать, как работают Monad Transformers, переформулировав то, что я написал, когда впервые изучил Haskell. В нем довольно много компонентов, которые могут быть заменены (довольно большим) стеком монадных трансформаторов. Я начал с написани…
06 янв '15 в 00:35
2 ответа

Как преобразовать тип данных списка 'Real World Haskell' в использование Maybe?

Я изучал "Real World Haskell", и я застрял в разработке как использовать Maybe. Я написал этот тип данных и соответствующую функцию из Главы 3. В книге предлагается попытаться преобразовать его в тип Maybe и избавиться от типа Nil. Я играл с этим, н…
09 окт '13 в 17:02
1 ответ

Как отобразить результаты ОК

Я играю с примерами вяза, и я заметил, что пример поля дает Result типы. Застряв, я придумал этот упрощенный случай: import Html exposing (text) import String f: Int -> Int f x = x + 1 g: Result String Int -> Result String Int g x = (Result.ma…
24 янв '16 в 00:54
2 ответа

Haskell развернуть Может сохранить полиморфизм

Начинающий Хаскель здесь снова. Если я хочу развернуть Maybe введите и хотите сохранить его абстрактным, я бы использовал: fUnwrap :: Maybe a -> a fUnwrap (Just n) = n fUnwrap Nothing = ??? Неважно, что я делаю с Nothing, компилятор продолжает на…
20 окт '18 в 06:46
1 ответ

Есть ли какой-нибудь нетривиальный код, который использует Data.Maybe.Is-just?

Стандартная библиотека Agda предоставляет тип данных Maybe в сопровождении с видом Any, Тогда есть свойство Is-just определяется с помощью Any, Мне было трудно работать с этим типом, так как стандартная библиотека не предоставляет никаких инструмент…
17 июн '15 в 06:58
1 ответ

Ошибка определения функции Haskell: вне области действия

Я новичок в Haskell, и я застрял на примере. Я хотел бы поэкспериментировать с типом Maybe, но мой код не компилируется: divide100By :: Int a -> Maybe a divide100By x = case (Int x) of Nothing -> Nothing Just x -> 100 / x main = putStrLn ("…
16 мар '17 в 22:57
2 ответа

Может быть, класс и дополнительные параметры

У меня есть реализация класса Maybe / Option в C#. Базовая реализация public delegate Maybe<TOutput> Converter<in TInput, out TOutput>(TInput input); public delegate TOutput ElseDelegate<out TOutput>(); public delegate Maybe<TOu…
2 ответа

Просто и точка в winghci

Почему это работает... Just.(+3) $ 6.7 Just $ truncate 8.9 ... но не это? Just.truncate $ 8.9 Я попытался разрешить усечение до простого Double -> Int: let f :: Double -> Int; f = (\ x -> truncate x); ... но это не проблема... Just.f $ 5.6 &lt…
15 фев '14 в 20:00
3 ответа

Два идентичных кода, но очень разные сообщения об ошибках в терминале

Вот мой первый код maybe_devide :: Maybe Integer -> Maybe Integer -> Maybe Integer maybe_devide maybeX maybeY = case (maybeX, maybeY) of (Just x, Just y) |x/=0 && y/=0 -> Just (div x y) |x==0 && y/=0 -> Just 0 |x/=0 &…
31 мар '13 в 01:31
1 ответ

Не в области: readMaybe, какую библиотеку я должен импортировать?

Я пытаюсь использовать функцию readMaybe, которая должна быть в библиотеке Text.Read, но при компиляции я получаю следующее сообщение: Module `Text.Read' does not export `readMaybe' Может кто-нибудь сказать мне, что я делаю не так? Спасибо;)
2 ответа

Haskell - Возможно и рекурсия

Я хочу взять строку и превратить в список Direction, Например, "UDDUD" должен вернуться [U,D,D,U,D]тогда как любая строка, которая не содержит U или же D возвращается Nothing (например, "UDYD" возвращает Nothing). data Direction = U | D deriving (Sh…
09 апр '16 в 06:35
1 ответ

Лучший способ создать тип Maybe в результате частей Maybe

У меня есть Request тип: data Request = Request { reqType :: RequestType, path :: String, options :: [(String, String)] } deriving Show И я разбираю его (из сырого HTTP запрос), следующим образом: parseRawRequest :: String -> Request parseRawRequ…
14 июл '18 в 00:21
3 ответа

Работать со списком значений Maybe

Я могу умножить список на 2: (* 2) <$> [1, 2, 3] Но я хочу умножить элементы, которые просто: (* 2) <$> [Just 1, Nothing, Just 3] Ошибка: * Non type-variable argument in the constraint: Num (Maybe a) (Use FlexibleContexts to permit this)…
15 фев '18 в 00:25
2 ответа

Как я могу вернуть значение Maybe из нотации do в PureScript?

Я пытаюсь вернуть значение Maybe из функции, использующей нотацию do, но не могу заставить ее работать. Эта функция принимает строку ("имя файла") и путь для поиска в... findIn :: String -> Path -> Maybe Path findIn search start = do file <…
03 апр '16 в 01:11
1 ответ

Понимание того, как применяются аппликативные функторы haskell

У меня просто небольшой вопрос о аппликативных функторах, чтобы помочь мне понять их. Это просто материал, который я применяю в GHCI. [(+3),((-) 3),(*3)] <*> [4] [7,-1,12] Это имеет смысл для меня. Основное применение. Но при попытке: [(Just (…
28 фев '19 в 15:15
1 ответ

Несколько 'Just x' для 'case MaybeVal of' в haskell

Делать несколько дел 'Just' в haskell, например, в порядке. в findElement :: Ord a => a -> [a] -> Maybe Int findElement element list = case (listToMaybe list) of Nothing -> Nothing Just element -> Just 0 Just _ -> Just (1 + (fromMa…
05 окт '18 в 21:40
6 ответов

Используя тип Maybe в Haskell

Я пытаюсь использовать тип Maybe в Haskell. У меня есть поиск по кортежу key, value, который возвращает Maybe. Как я могу получить доступ к данным, которые были завернуты в Возможно? Например, я хочу добавить целое число, содержащееся в Maybe, с дру…
04 сен '10 в 16:52
2 ответа

Почему Либо получает Шоу, а может и нет?

Документация обоих Either а также Maybe указывают, что у них есть случаи Show, Either определяется как производный Show просто: data Either a b = Left a | Right b deriving (Eq, Ord, Read, Show, Typeable) Еще, Maybe не: data Maybe a = Nothing | Just …
07 янв '15 в 22:10