:fmap çatal işlevleri aşağıdaki şekilde fonksiyonlarını oluşturmak isteyen
compose (==) (myReverse . myReverse) id [1..100]
Ben böyle bir şeyle basitleştirilmiş olabileceğini düşünüyorum: Biz şu şekilde kullanabilirsiniz Böylece
compose :: (a->b->c) -> (d->a) -> (d->b) -> d -> c
compose f g h x = f (g x) (h x)
'fmap', böylece 'bestelemek' hiç tanımlamamalı. Ama bunu nasıl yapacağımı anlayamadım. Muhtemelen çok Control.Arrow
kullanabilirsiniz
s f g x = f x (g x)
:
Sağladığınız şey en basit ve okunabilir çözümdür. Bunun için başka bir "yoğun" kod çözümü olabilir, ancak basit ve okunabilir kodu tercih ederim :) – Ankur