Приведено описание функции с подписи: A => F[G[B]]
. Существуют экземпляры монадов для F
и G
типов.transform 'A => F [G [B]]' to 'F [G [A => B]' scala
Можно ли его трансформировать в подпись: F[G[A=>B]
? Есть ли общее название для такого преобразования?
Иными словами, какова будет реализация prettify2
?
def pretiffy(x: String): Future[Option[String]] = Future{if(x == "") None else Some(s">>>$x<<<")}
val pretiffy2: Future[Option[String => String]] = ???
Обновление: Я буду благодарен за ответы, используя кошек или скаляз.
Это называется * более высокие типы *. Вы можете использовать «Скалаз» или «Кошки» для работы с ними. – sebszyller
Спасибо. Это действительно то, что мне нужно. Как это сделать? –
Предположим, что у вас есть 'String => List [Option [Integer]]'. Вам нужно создать «List [Option [String => Integer]]». Можете ли вы это сделать? Как долго будет результирующий список? Сколько '' '' '' '' '' 'ы содержать? –