Описание тега arrow-kt

Λrrow - это библиотека для типизированного функционального программирования на Kotlin.
1 ответ

В чем разница между filterOrElse и filterOrOther от Arrow?

Я не смог найти разницу между filterOrElse и filterOrOther Подпись filterOrElse является inline fun <A, B> EitherOf<A, B> .filterOrElse(predicate: (B) -> Boolean, default: () -> A): Either<A, B> а также filterOrOther является…
15 фев '19 в 20:10
4 ответа

Как проверить Either от Arrow в функциональном стиле

Я хотел бы проверить полученный результат с помощью Either. Давайте предположим, что у меня есть простой пример без @Test fun `test arithmetic`() { val simpleResult = 2 + 2 Assertions.assertEquals(4, simpleResult) } И теперь я завернул результат: @T…
1 ответ

Как я могу использовать Arrow-kt Some() в коде Groovy?

Я пытаюсь протестировать мой код Kotlin, который имеет типы Arrow-kt, используя Spock в Groovy. Тем не менее, я не могу использовать дополнения Arrow-KT, такие как Some, Например, у меня есть тест следующим образом: @Unroll def "add returns #expecte…
15 янв '19 в 01:12
1 ответ

Почему валидация нарушает законы монады?

На SO дано объяснение, почему валидация, например, в scalaz, cats (Scala) или Arrow (Kotlin) не может быть монадой. Насколько я понимаю, это потому, что они смоделировали монады с точки зрения аппликативных функторов, а желаемое поведение Валидации …
04 май '18 в 11:54
1 ответ

Котлин составляет список функций

В настоящее время я использую compose из библиотеки с именем arrow, которая определила его таким образом. inline infix fun <IP, R, P1> ((IP) -> R).compose(crossinline f: (P1) -> IP): (P1) -> R = { p1: P1 -> this(f(p1)) } То, что я …
24 авг '18 в 05:54
1 ответ

Генерация линз с помощью библиотеки Kotlin Arrow

Я читаю "Функциональный Котлин", который описывает генерацию линз с помощью аннотаций. @lenses import arrow.lenses import arrow.optics.Lens import arrow.optics.modify typealias GB = Int @lenses data class Memory(val size: GB) @lenses data class Moth…
28 июл '18 в 11:46
1 ответ

Сложность использования arrow-kt Either, Option и RxJava вместе

У меня много трудностей, чтобы найти хороший способ координировать, используя RxJava вместе со стрелкой-KT Either а также Option типы. У меня есть два метода, которые оба возвращают Single<Either<ApiError, Option> class Foo(val qux: Option&…
1 ответ

Зачем использовать Arrow's Options вместо Kotlin nullable

Я смотрел на библиотеку Эрроу, найденную здесь. Зачем когда-либо хотеть использовать Option типа вместо котлина встроены обнуляемые?
20 фев '18 в 22:12
2 ответа

Смарт бросил Опцию Arrow-kt

Я пытаюсь выполнить интеллектуальное приведение Option из любой переменной Any, чтобы я мог определить, является ли Option пустым, однако в среде IDE указывается, что Option<*> не удалось выполнить интеллектуальное приведение, поскольку он объявлен …
07 июл '18 в 06:45
1 ответ

Котлин + Стрелка + Гсон = Нет?

У меня есть модель в Kotlin простой библиотеки Книг и Заемщиков, где Книга проверена, если у нее есть Заемщик. Я использую Arrow Option для кодирования отсутствия / присутствия Заемщика: data class Borrower(val name: Name, val maxBooks: MaxBooks) da…
02 ноя '18 в 18:48
2 ответа

Существуют ли элегантные способы превратить Список в NonEmptyList в kotlin и arrow?

fun main() { val list = listOf(1, 2, 3, 4, 5) if (list.isNotEmpty()) { Nel(list[0], list.subList(1, list.lastIndex)) } } Согласно документам стрелка, кажется, сможет сделать это через Semigroup или же Monad binding, Тем не менее, нет кода для замены…
29 янв '19 в 06:04
2 ответа

Котлин когда выражение автопередача

Я хотел бы, чтобы следующий код kotlin работал: val result: Try&lt;Option&lt;String&gt;&gt; = Success(Some("test")) val test = when { result is Success &amp;&amp; result.value is Some -&gt; result.value.t // not working result is Success &amp;&amp; …
14 фев '19 в 15:42
1 ответ

ClassCastException при использовании понимания списка arrow-kt

Я пытаюсь использовать список понимания с охранником в Котлине. Когда я запускаю следующий код, я получаю ClassCastException где ни один не кажется актуальным. data class CharWrapper(val value: Char) @Test fun `isolate bug`() { val wrappedChars = li…
1 ответ

Что такое Monad в функциональном программировании kotlin arrow?

Может кто-нибудь объяснить концепцию Monad в Arrow функциональное программирование? https://arrow-kt.io/docs/datatypes/option/
10 сен '18 в 09:47
2 ответа

Преобразование Spring Webflux Mono в любую, желательно без блокировки?

Я использую Kotlin и Arrow и веб-клиент из spring-webflux, То, что я хотел бы сделать, это преобразовать экземпляр Mono в Either. Either экземпляр создается путем вызова Either.right(..) когда ответ WebClient успешно или Either.left(..) когда WebCli…
0 ответов

Как мне создать свой собственный тип данных с помощью стрелки

Какие шаги для создания моего собственного типа данных при использовании стрелки. Это просто использовать что-то вроде Option с предоставленными конструкторами расширения, такими как Some(data) или же None, Тем не менее, как я могу создать свой собс…
21 фев '18 в 19:42
1 ответ

Для понимания с библиотекой kotlin и arrow-kt

Я использую библиотеку arrow-kt и пытаюсь нанять Either а также IO в то же самое для понимания. Скажем, у меня есть следующий кусок кода: IO.monad().binding { val ans: Either&lt;Error, Data&gt; = someFunctionThatReturnsEitherWrappedInIO().bind() } Т…
2 ответа

Стрелка Kotlin преобразовывает Список сбоев в Сбой списка

Как я могу преобразовать следующее: List&lt;Try&lt;String&gt;&gt; чтобы: Try&lt;List&lt;String&gt;&gt; Использование котлина и функциональной библиотеки стрелка (0.8.2). Я хотел бы обернуть это в пользовательское исключение. Неважно, какой из "Strin…
22 май '19 в 14:15
0 ответов

Kotlin & Arrow.io: транзакции с IO.bracketCase

В настоящее время я играю с Arrow.io в Котлине, и я хотел бы использовать библиотеку (вместе с Spring Boot) в проекте на работе. Одна проблема, которую я не совсем знаю, как правильно решить, это управление транзакциями. IO&lt;A&gt;.bracketCase(...)…
1 ответ

Как типизировать безопасно уменьшить коллекцию "либо до правого"

Может быть, глупый вопрос, но я просто не понимаю. у меня есть Set&lt;Either&lt;Failure, Success&gt;&gt; и хотите вывести Set&lt;Success&gt; со стрелкой-кт.
13 мар '19 в 11:02