bifunctor

    11熱度

    1回答

    在沉思些什麼有用的標準類建議to this one class Coordinate c where createCoordinate :: x -> y -> c x y getFirst :: c x y -> x getSecond :: c x y -> y addCoordinates :: (Num x, Num y) => c x y -> c

    6熱度

    1回答

    我對Haskell比較陌生,無法理解雙功能實用程序。我想我在理論上理解他們:比如說,如果我想要抽象出抽象多種具體類型的類型,比如Either或Maybe,我需要將它們封裝在雙模函數中。但是,一方面,這些例子看起來特別有意思,另一方面,它看起來好像你可以通過構圖簡單地實現相同的功能。 舉個例子,我遇到了Jeremy Gibbons和Bruno C. d在The Essence of the Iter

    1熱度

    1回答

    寫這樣的實例聲明工作正常: data Either a b = Left a | Right b instance Functor (Either a) where fmap _ (Left x) = Left x fmap f (Right x) = Right (f x) 現在可以說,我想這個反轉,左應用於F到值: instance Functor (Either

    1熱度

    1回答

    假設兩個新類型都是這樣 type MyProductType a = (FType1 a, FType2 a) type MyCoproductType a = Either (FType1 a) (FType2 a) 定義......這FType1和Ftype2是Functor兩個實例。 如果現在要宣佈MyProductType和MyCoproductType爲Functor情況下,將編

    3熱度

    2回答

    Hom functorHom(-,-)在第一個參數中是逆變的,在第二個參數中是協變的。 這個事實可以以某種方式提供另一種解釋爲什麼斯卡拉的Function1[-T1, +R]具有相同的屬性? 我已經看到這個說法,例如here,但是在兩個概念之間的聯繫應該被解釋的地方,有太多的手揮舞着它將我吹走。

    0熱度

    1回答

    參數化類型別名我有一個Seq[R],我想拆分此爲Tuple2[Seq[E], Seq[S]],我編寫此我想到的是,我可以使用自定義Bifunctor爲seqs和鍛鍊一個元組,而試圖實現代碼: import scalaz.Bifunctor type MyType[E, S] = (Seq[E], Seq[S]) case class MyVali[E, S](tp: (Seq[E], Se

    6熱度

    3回答

    我一直只使用了Java 6和我現在趕上學習什麼用Java 8的新功能我在這裏讀這篇文章: http://www.drdobbs.com/jvm/lambda-expressions-in-java-8/240166764?pgno=2 它說: Java的API定義了java.util.function包中的幾個通用功能接口。接口之一,雙功能,描述了參數類型T和U和返回類型 R.您功能可以保存我們的