Результаты поиска по запросу "functor"

4 ответа

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

чал функциональное программирование и встречал монады, функторы и аппликативы. Насколько я понимаю, применяются следующие определения: а) (A => B) => C [A] => C [B] | Функтор б) (A => C [B]) => C [A] => C [B] | монада в) (C [A => B]) => C [A] ...

1 ответ

Понятно, вот в чем идея. Совершенно очевидно, что a -> a будет населён функциями без идентификатора.

тности, ссылаясь на https://bartoszmilewski.com/2015/04/07/natural-transformations/ [https://bartoszmilewski.com/2015/04/07/natural-transformations/] Автор говорит: «Это не функтор». Я могу определитьfmap :: (a -> b) -> (a -> a) -> (b -> b) ...

2 ответа

 контекст, например,

ю, это должно звучать тривиально, но мне было интересно, как можно развернуть значение из функтора и вернуть его как чистое значение? Я пытался: f::IO a->a f x=(x>>=) f= >>=Что я должен разместить в правой части? Я не могу использоватьreturn ...

ТОП публикаций

1 ответ

 абсолютно разумно

приведен мой случай использования Я используюкоты [https://typelevel.org/cats/]для проверки моего конфига. Мой конфигурационный файл находится в формате json.Я десериализовал мой конфигурационный файл в мой класс делConfig с помощьюподъемная ...

6 ответов

 одинарные функторы.

есть: std::plus (+)std::minus (-)std::multiplies (*)std::divides (/)std::modulus (%)std::negate (-)std::logical_or (||)std::logical_not (!)std::logical_and (&&)std::equal_to (==)std::not_equal_to (!=)std::less (<)std::greater (>)std::less_equal ...

7 ответов

), что часто бывает и в более сложных случаях. Часто вы можете иметь простой универсальный функтор (или функцию; простая старая функция может выступать в качестве функтора) и просто комбинировать ее с любым алгоритмом, который вам нужен.

ить double average = CalculateAverage(values.begin(), values.end());с участием double average = std::for_each(values.begin(), values.end(), CalculateAverage());Каковы преимущества использования функтора над функцией? Разве первое не намного ...

2 ответа

Являются ли экземпляры Functor уникальными?

Мне было интересно, в какой степениFunctor экземпляры в Haskell определяются (однозначно) по законам функторов. посколькуghc может вывестиFunctor По крайней мере, в случаях, когда используются типы данных "заурядный", кажется, что они должны ...

1 ответ

@ldov: Я не понимаю: хотите, чтобы у каждого потока был свой экземпляр функтора? Если это так, создайте отдельный экземпляр для каждого потока. Хотите ли вы, чтобы все потоки имели общий доступ к одному и тому же функтору? Если это так, создайте его и синхронизируйте доступ к нему, используя мьютекс или другой метод синхронизации ...

я есть Functor, который мне нужно отправить в функцию, которая получает указатель функции в качестве параметра (например,CreateThread). Можно ли как-то преобразовать его в статический адрес метода? И если нет, как я могу это сделать?

5 ответов

, Это была реализация, для которой я проверил законы.

няя кому-то, что такое класс типов X, я стараюсь найти хорошие примеры структур данных, которые точно X. Итак, я прошу примеры для: Конструктор типа, который не является Functor.Конструктор типа, который является Functor, но не ...

1 ответ

Почему у нас есть карта, fmap и liftM?

map :: (a -> b) -> [a] -> [b] fmap :: Functor f => (a -> b) -> f a -> f b liftM :: Monad m => (a -> b) -> m a -> m bПочему у нас есть три разные функции, которые делают одно и то же?