Вопросы по теме 'lenses'

Переменные неоднозначного типа для зависимых ограничений класса
Я пишу новую систему аутентификации для веб-фреймворка Snap , потому что встроенная недостаточно модульная, и у него есть некоторые функции, которые являются избыточными / «мертвым грузом» для моего приложения. Однако эта проблема вообще не связана...
402 просмотров

Jquery Image Lens — идентификатор изображения Kinetic JS
Я пытаюсь использовать линзу изображения jquery на холсте Kinetic JS http://jsfiddle.net/user373721/7f8qM/ 15/ . У меня есть проблема, как найти идентификатор изображения на холсте, я пробовал: myImage.onload = function () { var...
433 просмотров
schedule 21.02.2023

Использование линз в обычных классах Scala
Большинство популярных библиотек JSON для Scala имеют возможность сериализовать и десериализовать классы case. К сожалению, до выпуска Scala 2.11 существует ограничение на количество параметров, которые может иметь класс case (максимум 22). В...
902 просмотров
schedule 14.04.2022

Недопустимый полиморфный или квалифицированный тип в Control.Lens
Я работаю с Control.Lens . Фактическая функция, которую я пишу, довольно сложна, но для целей этого вопроса я свел ее к минимальному ошибочному примеру: import Control.Lens exampleFunc :: Lens s t a b -> String exampleFunc _ = "Example"...
1721 просмотров
schedule 10.06.2022

Как я могу выразить `mapM` с помощью `concat`, используя линзы для объединения результатов операции ввода-вывода?
Я пытаюсь понять, как объединить traverseOf с >>= таким образом, чтобы было возможно следующее. TLDR; Простым примером на чистом Haskell было бы что-то вроде этого, но с использованием линз глубоко внутри структуры данных. λ>...
554 просмотров
schedule 03.06.2024

Имеет ли функция идентификации в Clojure такое же использование и назначение, что и функция id в Haskell?
В Clojure у нас есть функция identity . Он используется следующим образом : user=> (filter identity [1 2 3 nil 4 false true 1234]) (1 2 3 4 true 1234) user=> (partition-by identity (sort "abcdaabccc")) ((\a \a \a) (\b \b) (\c \c \c \c)...
1353 просмотров
schedule 09.01.2024

Учебник по Haskell Lens с траверсом
Я пытаюсь следовать этому руководству: http://blog.jakubarnold.cz/2014/08/06/lens-tutorial-stab-traversal-part-2.html Я использую следующий код, который загружаю в ghci: {-# LANGUAGE RankNTypes, ScopedTypeVariables #-} import...
782 просмотров
schedule 03.02.2023

Средство извлечения атрибутов на основе типа Scala - только объектив Getter?
Каков наилучший способ извлечь тип из контейнера данных, такого как класс case. Например, если у меня есть тегированный тип type Tagged[U] = { type Tag = U} trait PID , который представляет собой тегированный тип Int type ProductId = Int with...
601 просмотров
schedule 05.03.2023

Как использовать линзы для поиска значения на карте, увеличения его или установки значения по умолчанию
При работе с состоянием под названием AppState я хочу отслеживать количество, скажем, экземпляров. Эти экземпляры имеют разные идентификаторы типа InstanceId . Поэтому мое состояние выглядит так import Control.Lens data AppState...
773 просмотров
schedule 09.06.2023

Как я могу использовать (^? ix 0) в независимом геттере?
Извините за плохо сформулированный заголовок, но я даже не знаю, как его правильно задать. Как я могу повернуть это? instPublicIP :: Instance -> Maybe Text instPublicIP inst = inst ^. insNetworkInterfaces ^? ix 0 . iniAssociation . _Just ....
90 просмотров
schedule 23.11.2023

Монада состояния Scala (scalaz) — сопоставление с типом состояния Option
Как я могу применить следующую функцию? def wrapIntoOption(state: State[S, A]): State[Option[S], Option[A]] Большая картина такова: case class Engine(cylinders: Int) case class Car(engineOpt: Option[Engine]) val engineOptLens =...
134 просмотров
schedule 20.02.2024

Реализовать выбор более 2 линз в Haskell
Я готовлюсь к экзамену Haskell через 2 недели. Сейчас я делаю несколько упражнений, но я застрял на этом. Реализуйте функцию choosing , которая получает 2 линзы и должна возвращать новую линзу, которая работает с Either значениями. Мне...
118 просмотров
schedule 07.04.2024

Объединение призм при извлечении полей JSON с помощью Lens-Aeson
У меня есть большой двоичный объект JSON, похожий на следующий: [ { "version": 1 }, { "version": "3" }, ... ] Обратите внимание, что некоторые версии являются числами, а некоторые — строками. Я хочу получить список версий....
347 просмотров
schedule 10.03.2024

Изменение атрибута с помощью объективов-моноклей с использованием значения другого атрибута
у меня следующая модель import monocle.macros.Lenses import monocle.function.all._ import monocle.std.list._ @Lenses("_") case class Poll(pollChoices: List[PollChoice], totalVoteCount: Int) @Lenses("_") case class PollChoice(id: Int, value: Int,...
170 просмотров
schedule 25.07.2022

Как определить тип составного обхода?
Я читаю запись в блоге на обходы объектива . В нем есть состав traverse.posts и это заканчивается типом (Traversable t, Applicative f) => ([Post] -> f [Post]) -> t User -> f (t User) Я понимаю, что это композиция...
97 просмотров
schedule 09.04.2024

Какова подходящая абстракция для объектива, который может потерпеть неудачу в качестве сеттера?
Я хотел бы определить что-то вроде объектива, но который может дать сбой при попытке установить. См. fooLens в следующем примере. {-# LANGUAGE RankNTypes #-} import Data.Char (toUpper) import Data.Functor.Const (Const(..)) import...
111 просмотров
schedule 09.10.2022